Blame SOURCES/0177-LOK-add-the-search-phrase-to-the-search-result-count.patch

f325b2
From ec61694abf3a2fb70ce295ba87e18e196b6bbc3a Mon Sep 17 00:00:00 2001
f325b2
From: Mihai Varga <mihai.varga@collabora.com>
f325b2
Date: Mon, 5 Oct 2015 17:07:06 +0300
f325b2
Subject: [PATCH 177/398] LOK: add the search phrase to the search result count
f325b2
 callback
f325b2
f325b2
We need this to notify the user for which search phrase no results were
f325b2
found
f325b2
f325b2
Change-Id: I8cc7ab235b9129dfdcb022145456180ff7e4ca92
f325b2
(cherry picked from commit c30defcf8e34daec6ea0455d772fe296cc26ecc9)
f325b2
---
f325b2
 include/LibreOfficeKit/LibreOfficeKitEnums.h   |  6 +++++-
f325b2
 libreofficekit/source/gtk/lokdocview.cxx       | 10 ++++++++++
f325b2
 sw/qa/extras/tiledrendering/tiledrendering.cxx |  4 +++-
f325b2
 sw/source/uibase/uiview/viewsrch.cxx           |  2 +-
f325b2
 4 files changed, 19 insertions(+), 3 deletions(-)
f325b2
f325b2
diff --git a/include/LibreOfficeKit/LibreOfficeKitEnums.h b/include/LibreOfficeKit/LibreOfficeKitEnums.h
f325b2
index dc3e0f94f3dc..97c089ffef50 100644
f325b2
--- a/include/LibreOfficeKit/LibreOfficeKitEnums.h
f325b2
+++ b/include/LibreOfficeKit/LibreOfficeKitEnums.h
f325b2
@@ -156,7 +156,11 @@ typedef enum
f325b2
      * Payload is a single 0-based integer.
f325b2
      */
f325b2
     LOK_CALLBACK_SET_PART,
f325b2
-    /// Number of search results, in case something is found.
f325b2
+
f325b2
+    /**
f325b2
+     * Number of search results followed by the original searched phrase.
f325b2
+     * count;phrase
f325b2
+     */
f325b2
     LOK_CALLBACK_SEARCH_RESULT_COUNT
f325b2
 }
f325b2
 LibreOfficeKitCallbackType;
f325b2
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
f325b2
index 0bd735088586..fa0386ba77f8 100644
f325b2
--- a/libreofficekit/source/gtk/lokdocview.cxx
f325b2
+++ b/libreofficekit/source/gtk/lokdocview.cxx
f325b2
@@ -658,6 +658,16 @@ callback (gpointer pData)
f325b2
         searchNotFound(pDocView, pCallback->m_aPayload);
f325b2
     }
f325b2
     break;
f325b2
+    case LOK_CALLBACK_SEARCH_RESULT_COUNT:
f325b2
+    {
f325b2
+        size_t nPos = pCallback->m_aPayload.find_first_of(";");
f325b2
+        int nSearchResultCount = std::stoi(pCallback->m_aPayload.substr(0, nPos));
f325b2
+        if (nSearchResultCount == 0)
f325b2
+        {
f325b2
+            searchNotFound(pDocView, pCallback->m_aPayload.substr(nPos + 1));
f325b2
+        }
f325b2
+    }
f325b2
+    break;
f325b2
     case LOK_CALLBACK_DOCUMENT_SIZE_CHANGED:
f325b2
     {
f325b2
         payloadToSize(pCallback->m_aPayload.c_str(), priv->m_nDocumentWidthTwips, priv->m_nDocumentHeightTwips);
f325b2
diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx
f325b2
index c836f4bc5eab..bcc328e366a3 100644
f325b2
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
f325b2
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
f325b2
@@ -23,6 +23,7 @@
f325b2
 #include <drawdoc.hxx>
f325b2
 #include <ndtxt.hxx>
f325b2
 #include <wrtsh.hxx>
f325b2
+#include <string>
f325b2
 
f325b2
 static const char* DATA_DIRECTORY = "/sw/qa/extras/tiledrendering/data/";
f325b2
 
f325b2
@@ -132,7 +133,8 @@ void SwTiledRenderingTest::callbackImpl(int nType, const char* pPayload)
f325b2
     break;
f325b2
     case LOK_CALLBACK_SEARCH_RESULT_COUNT:
f325b2
     {
f325b2
-        m_nSearchResultCount = OString(pPayload).toInt32();
f325b2
+        std::string aStrPayload(pPayload);
f325b2
+        m_nSearchResultCount = std::stoi(aStrPayload.substr(0, aStrPayload.find_first_of(";")));
f325b2
     }
f325b2
     break;
f325b2
     }
f325b2
diff --git a/sw/source/uibase/uiview/viewsrch.cxx b/sw/source/uibase/uiview/viewsrch.cxx
f325b2
index 11764126e165..3ccc852065fb 100644
f325b2
--- a/sw/source/uibase/uiview/viewsrch.cxx
f325b2
+++ b/sw/source/uibase/uiview/viewsrch.cxx
f325b2
@@ -225,7 +225,7 @@ void SwView::ExecSearch(SfxRequest& rReq, bool bNoMessage)
f325b2
                 }
f325b2
                 else
f325b2
                 {
f325b2
-                    OString aPayload = OString::number(nFound);
f325b2
+                    OString aPayload = OString::number(nFound) + ";" + m_pSrchItem->GetSearchString().toUtf8();
f325b2
                     m_pWrtShell->libreOfficeKitCallback(LOK_CALLBACK_SEARCH_RESULT_COUNT, aPayload.getStr());
f325b2
                 }
f325b2
                 rReq.SetReturnValue(SfxBoolItem(nSlot, bRet));
f325b2
-- 
f325b2
2.12.0
f325b2