[Libreoffice-commits] online.git: 3 commits - loolwsd/bundled loolwsd/LOOLSession.cpp loolwsd/LOOLSession.hpp loolwsd/Makefile.am
Miklos Vajna
vmiklos at collabora.co.uk
Tue Sep 29 03:51:39 PDT 2015
loolwsd/LOOLSession.cpp | 34 ++++++++++++++++
loolwsd/LOOLSession.hpp | 6 ++
loolwsd/Makefile.am | 4 +
loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKit.h | 25 +++++++++--
4 files changed, 64 insertions(+), 5 deletions(-)
New commits:
commit 80ec8a5b4f4f0e323a98a348c1e1a1ef7018dcd8
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Tue Sep 29 12:27:45 2015 +0200
loolwsd: parse the partpagerectangles command and cache the values
diff --git a/loolwsd/LOOLSession.cpp b/loolwsd/LOOLSession.cpp
index 233e999..4b00dea 100644
--- a/loolwsd/LOOLSession.cpp
+++ b/loolwsd/LOOLSession.cpp
@@ -214,6 +214,10 @@ bool MasterProcessSession::handleInput(const char *buffer, int length)
std::string commandName = object->get("commandName").toString();
peer->_tileCache->saveTextFile(std::string(buffer, length), "cmdValues" + commandName + ".txt");
}
+ else if (tokens[0] == "partpagerectangles:")
+ {
+ peer->_tileCache->saveTextFile(std::string(buffer, length), "partpagerectangles.txt");
+ }
else if (tokens[0] == "invalidatetiles:")
{
// FIXME temporarily, set the editing on the 1st invalidate, TODO extend
@@ -283,6 +287,7 @@ bool MasterProcessSession::handleInput(const char *buffer, int length)
}
else if (tokens[0] != "canceltiles" &&
tokens[0] != "commandvalues" &&
+ tokens[0] != "partpagerectangles" &&
tokens[0] != "gettextselection" &&
tokens[0] != "invalidatetiles" &&
tokens[0] != "key" &&
@@ -315,6 +320,10 @@ bool MasterProcessSession::handleInput(const char *buffer, int length)
{
return getCommandValues(buffer, length, tokens);
}
+ else if (tokens[0] == "partpagerectangles")
+ {
+ return getPartPageRectangles(buffer, length);
+ }
else if (tokens[0] == "invalidatetiles")
{
return invalidateTiles(buffer, length, tokens);
@@ -454,6 +463,21 @@ bool MasterProcessSession::getCommandValues(const char *buffer, int length, Stri
return true;
}
+bool MasterProcessSession::getPartPageRectangles(const char *buffer, int length)
+{
+ std::string partPageRectangles = _tileCache->getTextFile("partpagerectangles.txt");
+ if (partPageRectangles.size() > 0)
+ {
+ sendTextFrame(partPageRectangles);
+ return true;
+ }
+
+ if (_peer.expired())
+ dispatchChild();
+ forwardToPeer(buffer, length);
+ return true;
+}
+
void MasterProcessSession::sendTile(const char *buffer, int length, StringTokenizer& tokens)
{
int part, width, height, tilePosX, tilePosY, tileWidth, tileHeight;
@@ -633,6 +657,10 @@ bool ChildProcessSession::handleInput(const char *buffer, int length)
{
return getCommandValues(buffer, length, tokens);
}
+ if (tokens[0] == "partpagerectangles")
+ {
+ return getPartPageRectangles(buffer, length);
+ }
if (tokens[0] == "load")
{
if (_docURL != "")
@@ -895,6 +923,12 @@ bool ChildProcessSession::getCommandValues(const char *buffer, int length, Strin
return true;
}
+bool ChildProcessSession::getPartPageRectangles(const char* /*buffer*/, int /*length*/)
+{
+ sendTextFrame("partpagerectangles: " + std::string(_loKitDocument->pClass->getPartPageRectangles(_loKitDocument)));
+ return true;
+}
+
void ChildProcessSession::sendTile(const char *buffer, int length, StringTokenizer& tokens)
{
int part, width, height, tilePosX, tilePosY, tileWidth, tileHeight;
diff --git a/loolwsd/LOOLSession.hpp b/loolwsd/LOOLSession.hpp
index 247012c..13970c6 100644
--- a/loolwsd/LOOLSession.hpp
+++ b/loolwsd/LOOLSession.hpp
@@ -47,6 +47,8 @@ public:
virtual bool getCommandValues(const char *buffer, int length, Poco::StringTokenizer& tokens) = 0;
+ virtual bool getPartPageRectangles(const char *buffer, int length) = 0;
+
virtual bool handleInput(const char *buffer, int length) = 0;
protected:
@@ -113,6 +115,8 @@ public:
virtual bool getCommandValues(const char *buffer, int length, Poco::StringTokenizer& tokens);
+ virtual bool getPartPageRectangles(const char *buffer, int length) override;
+
protected:
bool invalidateTiles(const char *buffer, int length, Poco::StringTokenizer& tokens);
@@ -161,6 +165,8 @@ public:
virtual bool getCommandValues(const char *buffer, int length, Poco::StringTokenizer& tokens);
+ virtual bool getPartPageRectangles(const char *buffer, int length) override;
+
LibreOfficeKitDocument *_loKitDocument;
std::string _docType;
commit 5d5d41d6198f7b30839a5534dcfea7f6bb1f9006
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Tue Sep 29 12:27:27 2015 +0200
loolwsd: update bundled LOK headers
diff --git a/loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKit.h b/loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKit.h
index 8060f0e..d83dd49 100644
--- a/loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKit.h
+++ b/loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKit.h
@@ -54,6 +54,9 @@ struct _LibreOfficeKitClass
void (*registerCallback) (LibreOfficeKit* pThis,
LibreOfficeKitCallback pCallback,
void* pData);
+
+ /// @see lok::Office::getFilterTypes().
+ char* (*getFilterTypes) (LibreOfficeKit* pThis);
#endif
};
@@ -82,6 +85,9 @@ struct _LibreOfficeKitDocumentClass
/// @see lok::Document::getParts().
int (*getParts) (LibreOfficeKitDocument* pThis);
+ /// @see lok::Document::getPartPageRectangles().
+ char* (*getPartPageRectangles) (LibreOfficeKitDocument* pThis);
+
/// @see lok::Document::getPart().
int (*getPart) (LibreOfficeKitDocument* pThis);
@@ -93,10 +99,7 @@ struct _LibreOfficeKitDocumentClass
char* (*getPartName) (LibreOfficeKitDocument* pThis,
int nPart);
- /** Sets mode of the current part.
- *
- * @param nMode - element from the LibreOfficeKitPartMode enum.
- */
+ /// @see lok::Document::setPartMode().
void (*setPartMode) (LibreOfficeKitDocument* pThis,
int nMode);
@@ -118,6 +121,7 @@ struct _LibreOfficeKitDocumentClass
/// @see lok::Document::initializeForRendering().
void (*initializeForRendering) (LibreOfficeKitDocument* pThis);
+ /// @see lok::Document::registerCallback().
void (*registerCallback) (LibreOfficeKitDocument* pThis,
LibreOfficeKitCallback pCallback,
void* pData);
@@ -160,8 +164,19 @@ struct _LibreOfficeKitDocumentClass
/// @see lok::Document::resetSelection
void (*resetSelection) (LibreOfficeKitDocument* pThis);
- /// @see lok::Document:getStyles
+ /// @see lok::Document::getCommandValues().
char* (*getCommandValues) (LibreOfficeKitDocument* pThis, const char* pCommand);
+
+ /// @see lok::Document::createView().
+ int (*createView) (LibreOfficeKitDocument* pThis);
+ /// @see lok::Document::destroyView().
+ void (*destroyView) (LibreOfficeKitDocument* pThis, int nId);
+ /// @see lok::Document::setView().
+ void (*setView) (LibreOfficeKitDocument* pThis, int nId);
+ /// @see lok::Document::getView().
+ int (*getView) (LibreOfficeKitDocument* pThis);
+ /// @see lok::Document::getViews().
+ int (*getViews) (LibreOfficeKitDocument* pThis);
#endif // LOK_USE_UNSTABLE_API
};
commit 1feac82b2116b32cce1eb99397bc6d8a9980fe86
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Tue Sep 29 11:15:02 2015 +0200
loolwsd: implement a 'make tags'
diff --git a/loolwsd/Makefile.am b/loolwsd/Makefile.am
index 07b68ca..9e1f143 100644
--- a/loolwsd/Makefile.am
+++ b/loolwsd/Makefile.am
@@ -34,3 +34,7 @@ all-local: loolwsd
sudo chown root loolwsd && sudo chmod u+s loolwsd; \
fi; \
fi
+
+tags:
+ ctags --c++-kinds=+p --fields=+iaS --extra=+q -R --totals=yes \
+ --exclude=jails *
More information about the Libreoffice-commits
mailing list