loleaflet/src/layer/tile/TileLayer.js                        |   10 ++++++++++
 loolwsd/LOKitClient.cpp                                      |    5 +++--
 loolwsd/LOOLSession.cpp                                      |    3 +++
 loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKitEnums.h |    4 +++-
 4 files changed, 19 insertions(+), 3 deletions(-)

New commits:
commit 886cdc80df63636ee385a030ec30444573eafafa
Author: Mihai Varga <[email protected]>
Date:   Mon Oct 5 16:44:40 2015 +0300

    search result count callback handler

diff --git a/loleaflet/src/layer/tile/TileLayer.js 
b/loleaflet/src/layer/tile/TileLayer.js
index cfe686a..5eaab4d 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -214,6 +214,9 @@ L.TileLayer = L.GridLayer.extend({
                else if (textMsg.startsWith('searchnotfound:')) {
                        this._onSearchNotFoundMsg(textMsg);
                }
+               else if (textMsg.startsWith('searchresultcount:')) {
+                       this._onSearchResultCount(textMsg);
+               }
                else if (textMsg.startsWith('setpart:')) {
                        this._onSetPartMsg(textMsg);
                }
@@ -333,6 +336,13 @@ L.TileLayer = L.GridLayer.extend({
                this._map.fire('search', {originalPhrase: originalPhrase, 
count: 0});
        },
 
+       _onSearchResultCount: function (textMsg) {
+               textMsg = textMsg.substring(19);
+               var count = parseInt(textMsg.substring(0, 
textMsg.indexOf(';')));
+               var originalPhrase = textMsg.substring(textMsg.indexOf(';') + 
1);
+               this._map.fire('search', {originalPhrase: originalPhrase, 
count: count});
+       },
+
        _onStateChangedMsg: function (textMsg) {
                var unoMsg = textMsg.substr(14).split('=');
                var commandName = '',
diff --git a/loolwsd/LOKitClient.cpp b/loolwsd/LOKitClient.cpp
index 97d42da..57f0e03 100644
--- a/loolwsd/LOKitClient.cpp
+++ b/loolwsd/LOKitClient.cpp
@@ -57,6 +57,7 @@ extern "C"
             CASE(STATUS_INDICATOR_SET_VALUE);
             CASE(STATUS_INDICATOR_FINISH);
             CASE(SEARCH_NOT_FOUND);
+            CASE(SEARCH_RESULT_COUNT);
             CASE(DOCUMENT_SIZE_CHANGED);
             CASE(SET_PART);
 #undef CASE
@@ -117,7 +118,7 @@ protected:
 
             if (tokens[0] == "?" || tokens[0] == "help")
             {
-                std::cout << 
+                std::cout <<
                     "Commands mimic LOOL protocol but we talk directly to 
LOKit:" << std::endl <<
                     "    status" << std::endl <<
                     "        calls LibreOfficeKitDocument::getDocumentType, 
getParts, getPartName, getDocumentSize" << std::endl <<
@@ -152,7 +153,7 @@ protected:
                 int tilePosY(std::stoi(tokens[5]));
                 int tileWidth(std::stoi(tokens[6]));
                 int tileHeight(std::stoi(tokens[7]));
-                
+
                 std::vector<unsigned char> pixmap(canvasWidth*canvasHeight*4);
                 loKitDocument->pClass->setPart(loKitDocument, partNumber);
                 loKitDocument->pClass->paintTile(loKitDocument, pixmap.data(), 
canvasWidth, canvasHeight, tilePosX, tilePosY, tileWidth, tileHeight);
diff --git a/loolwsd/LOOLSession.cpp b/loolwsd/LOOLSession.cpp
index a293cde..ef1f1d8 100644
--- a/loolwsd/LOOLSession.cpp
+++ b/loolwsd/LOOLSession.cpp
@@ -808,6 +808,9 @@ extern "C"
         case LOK_CALLBACK_HYPERLINK_CLICKED:
             srv->sendTextFrame("hyperlinkclicked: " + std::string(pPayload));
             break;
+        case LOK_CALLBACK_SEARCH_RESULT_COUNT:
+            srv->sendTextFrame("searchresultcount: " + std::string(pPayload));
+            break;
         case LOK_CALLBACK_STATE_CHANGED:
             srv->sendTextFrame("statechanged: " + std::string(pPayload));
             break;
diff --git a/loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKitEnums.h 
b/loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKitEnums.h
index 7038e5f..dc3e0f9 100644
--- a/loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKitEnums.h
+++ b/loolwsd/bundled/include/LibreOfficeKit/LibreOfficeKitEnums.h
@@ -155,7 +155,9 @@ typedef enum
      *
      * Payload is a single 0-based integer.
      */
-    LOK_CALLBACK_SET_PART
+    LOK_CALLBACK_SET_PART,
+    /// Number of search results, in case something is found.
+    LOK_CALLBACK_SEARCH_RESULT_COUNT
 }
 LibreOfficeKitCallbackType;
 
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to