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