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

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