Blame SOURCES/0174-gtktiledviewer-make-it-possible-to-trigger-SearchIte.patch

135360
From 34aa1adc51adf0da82774b0da1194870a0d90241 Mon Sep 17 00:00:00 2001
135360
From: Miklos Vajna <vmiklos@collabora.co.uk>
135360
Date: Mon, 5 Oct 2015 11:39:11 +0200
135360
Subject: [PATCH 174/398] gtktiledviewer: make it possible to trigger
135360
 SearchItem.Command
135360
135360
Change-Id: I210da07802bae1f2f2948976bc0faf90e93152b4
135360
(cherry picked from commit aa3f607f80a2269ca2e1f8a5805d2e0b4cd36d7e)
135360
---
135360
 .../qa/gtktiledviewer/gtktiledviewer.cxx           | 22 +++++++++++++++++++++-
135360
 1 file changed, 21 insertions(+), 1 deletion(-)
135360
135360
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
index 852bee584dfb..ed97a6743b38 100644
135360
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
@@ -53,6 +53,7 @@ public:
135360
     GtkWidget* m_pFindbar;
135360
     GtkWidget* m_pFindbarEntry;
135360
     GtkWidget* m_pFindbarLabel;
135360
+    bool m_bFindAll;
135360
 
135360
     TiledWindow()
135360
         : m_pDocView(0),
135360
@@ -70,7 +71,8 @@ public:
135360
         m_bPartSelectorBroadcast(true),
135360
         m_pFindbar(0),
135360
         m_pFindbarEntry(0),
135360
-        m_pFindbarLabel(0)
135360
+        m_pFindbarLabel(0),
135360
+        m_bFindAll(false)
135360
     {
135360
     }
135360
 };
135360
@@ -178,6 +180,13 @@ static void toggleEditing(GtkWidget* pButton, gpointer /*pItem*/)
135360
         lok_doc_view_set_edit(pLOKDocView, bActive);
135360
 }
135360
 
135360
+/// Toggles if search should find all results or only the first one.
135360
+static void toggleFindAll(GtkWidget* pButton, gpointer /*pItem*/)
135360
+{
135360
+    TiledWindow& rWindow = lcl_getTiledWindow(pButton);
135360
+    rWindow.m_bFindAll = !rWindow.m_bFindAll;
135360
+}
135360
+
135360
 /// Toggle the visibility of the findbar.
135360
 static void toggleFindbar(GtkWidget* pButton, gpointer /*pItem*/)
135360
 {
135360
@@ -284,6 +293,12 @@ static void doSearch(GtkWidget* pButton, bool bBackwards)
135360
     aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchString/value", '/'), pText);
135360
     aTree.put(boost::property_tree::ptree::path_type("SearchItem.Backward/type", '/'), "boolean");
135360
     aTree.put(boost::property_tree::ptree::path_type("SearchItem.Backward/value", '/'), bBackwards);
135360
+    if (rWindow.m_bFindAll)
135360
+    {
135360
+        aTree.put(boost::property_tree::ptree::path_type("SearchItem.Command/type", '/'), "unsigned short");
135360
+        // SvxSearchCmd::FIND_ALL
135360
+        aTree.put(boost::property_tree::ptree::path_type("SearchItem.Command/value", '/'), "1");
135360
+    }
135360
 
135360
     LOKDocView* pLOKDocView = LOK_DOC_VIEW(rWindow.m_pDocView);
135360
     GdkRectangle aArea;
135360
@@ -729,6 +744,11 @@ static GtkWidget* createWindow(TiledWindow& rWindow)
135360
     gtk_toolbar_insert(GTK_TOOLBAR(rWindow.m_pFindbar), pFindbarPrev, -1);
135360
     g_signal_connect(G_OBJECT(pFindbarPrev), "clicked", G_CALLBACK(signalSearchPrev), NULL);
135360
 
135360
+    GtkToolItem* pFindAll = gtk_toggle_tool_button_new();
135360
+    gtk_tool_button_set_label(GTK_TOOL_BUTTON(pFindAll), "Highlight All");
135360
+    gtk_toolbar_insert(GTK_TOOLBAR(rWindow.m_pFindbar), pFindAll, -1);
135360
+    g_signal_connect(G_OBJECT(pFindAll), "toggled", G_CALLBACK(toggleFindAll), NULL);
135360
+
135360
     GtkToolItem* pFindbarLabelContainer = gtk_tool_item_new();
135360
     rWindow.m_pFindbarLabel = gtk_label_new("");
135360
     gtk_container_add(GTK_CONTAINER(pFindbarLabelContainer), rWindow.m_pFindbarLabel);
135360
-- 
135360
2.12.0
135360