|
 |
135360 |
From 31ae1232bbde5ca3d74481dad1c9d70bab999c73 Mon Sep 17 00:00:00 2001
|
|
 |
135360 |
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
 |
135360 |
Date: Mon, 5 Oct 2015 11:30:15 +0200
|
|
 |
135360 |
Subject: [PATCH 173/398] lokdocview: handle LOK_CALLBACK_SEARCH_RESULT_COUNT
|
|
 |
135360 |
|
|
 |
135360 |
Change-Id: I0d1b641654e0de65169e19bb5843ea11b43a90a3
|
|
 |
135360 |
(cherry picked from commit 22d342a82f225381057b5b8b941be8583de87a63)
|
|
 |
135360 |
---
|
|
 |
135360 |
.../qa/gtktiledviewer/gtktiledviewer.cxx | 9 +++++++
|
|
 |
135360 |
libreofficekit/source/gtk/lokdocview.cxx | 28 ++++++++++++++++++++++
|
|
 |
135360 |
2 files changed, 37 insertions(+)
|
|
 |
135360 |
|
|
 |
135360 |
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
index 46264eb0126b..852bee584dfb 100644
|
|
 |
135360 |
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
@@ -386,6 +386,14 @@ static void signalSearch(LOKDocView* pLOKDocView, char* /*pPayload*/, gpointer /
|
|
 |
135360 |
gtk_label_set_text(GTK_LABEL(rWindow.m_pFindbarLabel), "Search key not found");
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
+/// LOKDocView found some search matches -> set the search label accordingly.
|
|
 |
135360 |
+static void signalSearchResultCount(LOKDocView* pLOKDocView, char* pPayload, gpointer /*pData*/)
|
|
 |
135360 |
+{
|
|
 |
135360 |
+ TiledWindow& rWindow = lcl_getTiledWindow(GTK_WIDGET(pLOKDocView));
|
|
 |
135360 |
+ std::stringstream ss;
|
|
 |
135360 |
+ ss << pPayload << " match(es)";
|
|
 |
135360 |
+ gtk_label_set_text(GTK_LABEL(rWindow.m_pFindbarLabel), ss.str().c_str());
|
|
 |
135360 |
+}
|
|
 |
135360 |
|
|
 |
135360 |
static void signalPart(LOKDocView* pLOKDocView, int nPart, gpointer /*pData*/)
|
|
 |
135360 |
{
|
|
 |
135360 |
@@ -763,6 +771,7 @@ static void setupDocView(GtkWidget* pDocView)
|
|
 |
135360 |
g_signal_connect(pDocView, "edit-changed", G_CALLBACK(signalEdit), NULL);
|
|
 |
135360 |
g_signal_connect(pDocView, "command-changed", G_CALLBACK(signalCommand), NULL);
|
|
 |
135360 |
g_signal_connect(pDocView, "search-not-found", G_CALLBACK(signalSearch), NULL);
|
|
 |
135360 |
+ g_signal_connect(pDocView, "search-result-count", G_CALLBACK(signalSearchResultCount), NULL);
|
|
 |
135360 |
g_signal_connect(pDocView, "part-changed", G_CALLBACK(signalPart), NULL);
|
|
 |
135360 |
g_signal_connect(pDocView, "size-changed", G_CALLBACK(signalSize), NULL);
|
|
 |
135360 |
g_signal_connect(pDocView, "hyperlink-clicked", G_CALLBACK(signalHyperlink), NULL);
|
|
 |
135360 |
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
index 99476764e69d..3aa4cabeb76c 100644
|
|
 |
135360 |
--- a/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
+++ b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
@@ -121,6 +121,7 @@ enum
|
|
 |
135360 |
SIZE_CHANGED,
|
|
 |
135360 |
HYPERLINK_CLICKED,
|
|
 |
135360 |
CURSOR_CHANGED,
|
|
 |
135360 |
+ SEARCH_RESULT_COUNT,
|
|
 |
135360 |
|
|
 |
135360 |
LAST_SIGNAL
|
|
 |
135360 |
};
|
|
 |
135360 |
@@ -221,6 +222,8 @@ callbackTypeToString (int nType)
|
|
 |
135360 |
return "LOK_CALLBACK_STATUS_INDICATOR_FINISH";
|
|
 |
135360 |
case LOK_CALLBACK_SEARCH_NOT_FOUND:
|
|
 |
135360 |
return "LOK_CALLBACK_SEARCH_NOT_FOUND";
|
|
 |
135360 |
+ case LOK_CALLBACK_SEARCH_RESULT_COUNT:
|
|
 |
135360 |
+ return "LOK_CALLBACK_SEARCH_RESULT_COUNT";
|
|
 |
135360 |
case LOK_CALLBACK_DOCUMENT_SIZE_CHANGED:
|
|
 |
135360 |
return "LOK_CALLBACK_DOCUMENT_SIZE_CHANGED";
|
|
 |
135360 |
case LOK_CALLBACK_SET_PART:
|
|
 |
135360 |
@@ -363,6 +366,11 @@ searchNotFound(LOKDocView* pDocView, const std::string& rString)
|
|
 |
135360 |
g_signal_emit(pDocView, doc_view_signals[SEARCH_NOT_FOUND], 0, rString.c_str());
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
+static void searchResultCount(LOKDocView* pDocView, const std::string& rString)
|
|
 |
135360 |
+{
|
|
 |
135360 |
+ g_signal_emit(pDocView, doc_view_signals[SEARCH_RESULT_COUNT], 0, rString.c_str());
|
|
 |
135360 |
+}
|
|
 |
135360 |
+
|
|
 |
135360 |
static void
|
|
 |
135360 |
setPart(LOKDocView* pDocView, const std::string& rString)
|
|
 |
135360 |
{
|
|
 |
135360 |
@@ -645,6 +653,11 @@ callback (gpointer pData)
|
|
 |
135360 |
setPart(pDocView, pCallback->m_aPayload);
|
|
 |
135360 |
}
|
|
 |
135360 |
break;
|
|
 |
135360 |
+ case LOK_CALLBACK_SEARCH_RESULT_COUNT:
|
|
 |
135360 |
+ {
|
|
 |
135360 |
+ searchResultCount(pDocView, pCallback->m_aPayload);
|
|
 |
135360 |
+ }
|
|
 |
135360 |
+ break;
|
|
 |
135360 |
default:
|
|
 |
135360 |
g_assert(false);
|
|
 |
135360 |
break;
|
|
 |
135360 |
@@ -1841,6 +1854,21 @@ static void lok_doc_view_class_init (LOKDocViewClass* pClass)
|
|
 |
135360 |
G_TYPE_NONE, 4,
|
|
 |
135360 |
G_TYPE_INT, G_TYPE_INT,
|
|
 |
135360 |
G_TYPE_INT, G_TYPE_INT);
|
|
 |
135360 |
+ /**
|
|
 |
135360 |
+ * LOKDocView::search-result-count:
|
|
 |
135360 |
+ * @pDocView: the #LOKDocView on which the signal is emitted
|
|
 |
135360 |
+ * @aCommand: number of matches.
|
|
 |
135360 |
+ */
|
|
 |
135360 |
+ doc_view_signals[SEARCH_RESULT_COUNT] =
|
|
 |
135360 |
+ g_signal_new("search-result_count",
|
|
 |
135360 |
+ G_TYPE_FROM_CLASS(pGObjectClass),
|
|
 |
135360 |
+ G_SIGNAL_RUN_FIRST,
|
|
 |
135360 |
+ 0,
|
|
 |
135360 |
+ NULL, NULL,
|
|
 |
135360 |
+ g_cclosure_marshal_VOID__STRING,
|
|
 |
135360 |
+ G_TYPE_NONE, 1,
|
|
 |
135360 |
+ G_TYPE_STRING);
|
|
 |
135360 |
+
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
SAL_DLLPUBLIC_EXPORT GtkWidget*
|
|
 |
135360 |
--
|
|
 |
135360 |
2.12.0
|
|
 |
135360 |
|