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
