summaryrefslogtreecommitdiff
path: root/libreofficekit/qa
diff options
context:
space:
mode:
Diffstat (limited to 'libreofficekit/qa')
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx46
1 files changed, 13 insertions, 33 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
index e7b221651237..8d43737a4b7d 100644
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
@@ -452,7 +452,11 @@ static void toggleEditing(GtkWidget* pButton, gpointer /*pItem*/)
static void toggleFindAll(GtkWidget* pButton, gpointer /*pItem*/)
{
TiledWindow& rWindow = lcl_getTiledWindow(pButton);
+ GtkEntry* pEntry = GTK_ENTRY(rWindow.m_pFindbarEntry);
+ const char* pText = gtk_entry_get_text(pEntry);
+
rWindow.m_bFindAll = !rWindow.m_bFindAll;
+ lok_doc_view_highlight_all(LOK_DOC_VIEW(rWindow.m_pDocView), pText);
}
/// Toggle the visibility of the findbar.
@@ -611,48 +615,24 @@ static void doPaste(GtkWidget* pButton, gpointer /*pItem*/)
pDocument->pClass->paste(pDocument, "text/plain;charset=utf-8", pText, strlen(pText));
}
-/// Searches for the next or previous text of TiledWindow::m_pFindbarEntry.
-static void doSearch(GtkWidget* pButton, bool bBackwards)
+/// Click handler for the search next button.
+static void signalSearchNext(GtkWidget* pButton, gpointer /*pItem*/)
{
TiledWindow& rWindow = lcl_getTiledWindow(pButton);
GtkEntry* pEntry = GTK_ENTRY(rWindow.m_pFindbarEntry);
const char* pText = gtk_entry_get_text(pEntry);
- boost::property_tree::ptree aTree;
- aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchString/type", '/'), "string");
- 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;
- getVisibleAreaTwips(rWindow.m_pDocView, &aArea);
- aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchStartPointX/type", '/'), "long");
- aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchStartPointX/value", '/'), aArea.x);
- aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchStartPointY/type", '/'), "long");
- aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchStartPointY/value", '/'), aArea.y);
-
- std::stringstream aStream;
- boost::property_tree::write_json(aStream, aTree);
- lok_doc_view_post_command(pLOKDocView, ".uno:ExecuteSearch", aStream.str().c_str(), false);
-}
-
-/// Click handler for the search next button.
-static void signalSearchNext(GtkWidget* pButton, gpointer /*pItem*/)
-{
- doSearch(pButton, /*bBackwards=*/false);
+ lok_doc_view_find_next(LOK_DOC_VIEW(rWindow.m_pDocView), pText, rWindow.m_bFindAll);
}
/// Click handler for the search previous button.
static void signalSearchPrev(GtkWidget* pButton, gpointer /*pItem*/)
{
- doSearch(pButton, /*bBackwards=*/true);
+ TiledWindow& rWindow = lcl_getTiledWindow(pButton);
+ GtkEntry* pEntry = GTK_ENTRY(rWindow.m_pFindbarEntry);
+ const char* pText = gtk_entry_get_text(pEntry);
+
+ lok_doc_view_find_prev(LOK_DOC_VIEW(rWindow.m_pDocView), pText, rWindow.m_bFindAll);
}
/// Handles the key-press-event of the search entry widget.
@@ -665,7 +645,7 @@ static gboolean signalFindbar(GtkWidget* pWidget, GdkEventKey* pEvent, gpointer
case GDK_KEY_Return:
{
// Search forward.
- doSearch(pWidget, /*bBackwards=*/false);
+ signalSearchNext(pWidget, nullptr);
return TRUE;
}
case GDK_KEY_Escape: