|
 |
135360 |
From c2db3c262f702e62c2f247e62b1b313ecc6e28c5 Mon Sep 17 00:00:00 2001
|
|
 |
135360 |
From: Pranav Kant <pranavk@gnome.org>
|
|
 |
135360 |
Date: Tue, 23 Jun 2015 01:52:44 +0530
|
|
 |
135360 |
Subject: [PATCH 059/398] lokdocview: Don't handle hyperlink clicks
|
|
 |
135360 |
|
|
 |
135360 |
Instead emit the signal 'hyperlink-clicked', and let the
|
|
 |
135360 |
application decide how it wants to handle the hyperlink clicks.
|
|
 |
135360 |
|
|
 |
135360 |
(cherry picked from commit 9d2fa921470152647cc3b54355f70a1365f752ff)
|
|
 |
135360 |
|
|
 |
135360 |
Change-Id: Ief72bbd16727e140cacf28b852ad43952c02f7ae
|
|
 |
135360 |
---
|
|
 |
135360 |
libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 14 +++++++++++++-
|
|
 |
135360 |
libreofficekit/source/gtk/lokdocview.cxx | 11 ++++++++---
|
|
 |
135360 |
2 files changed, 21 insertions(+), 4 deletions(-)
|
|
 |
135360 |
|
|
 |
135360 |
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
index fedd6c9fdf13..61f016dffab8 100644
|
|
 |
135360 |
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
@@ -310,7 +310,18 @@ static void signalPart(LOKDocView* /*pLOKDocView*/, int nPart, gpointer /*pData*
|
|
 |
135360 |
g_bPartSelectorBroadcast = true;
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
-/// User clicked on a cmmand button -> inform LOKDocView.
|
|
 |
135360 |
+/// User clicked on a command button -> inform LOKDocView.
|
|
 |
135360 |
+static void signalHyperlink(LOKDocView* /*pLOKDocView*/, char* pPayload, gpointer /*pData*/)
|
|
 |
135360 |
+{
|
|
 |
135360 |
+ GError* pError = NULL;
|
|
 |
135360 |
+ gtk_show_uri(NULL, pPayload, GDK_CURRENT_TIME, &pError);
|
|
 |
135360 |
+ if (pError != NULL)
|
|
 |
135360 |
+ {
|
|
 |
135360 |
+ g_warning("Unable to show URI %s : %s", pPayload, pError->message);
|
|
 |
135360 |
+ g_error_free(pError);
|
|
 |
135360 |
+ }
|
|
 |
135360 |
+}
|
|
 |
135360 |
+
|
|
 |
135360 |
static void toggleToolItem(GtkWidget* pWidget, gpointer /*pData*/)
|
|
 |
135360 |
{
|
|
 |
135360 |
if (g_bToolItemBroadcast)
|
|
 |
135360 |
@@ -527,6 +538,7 @@ int main( int argc, char* argv[] )
|
|
 |
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, "part-changed", G_CALLBACK(signalPart), NULL);
|
|
 |
135360 |
+ g_signal_connect(pDocView, "hyperlink-clicked", G_CALLBACK(signalHyperlink), NULL);
|
|
 |
135360 |
|
|
 |
135360 |
// Input handling.
|
|
 |
135360 |
g_signal_connect(pWindow, "key-press-event", G_CALLBACK(signalKey), pDocView);
|
|
 |
135360 |
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
index 0641197d9781..19da4b2da691 100644
|
|
 |
135360 |
--- a/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
+++ b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
@@ -324,6 +324,12 @@ setPart(LOKDocView* pDocView, const std::string& rString)
|
|
 |
135360 |
g_signal_emit(pDocView, doc_view_signals[PART_CHANGED], 0, std::stoi(rString));
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
+static void
|
|
 |
135360 |
+hyperlinkClicked(LOKDocView* pDocView, const std::string& rString)
|
|
 |
135360 |
+{
|
|
 |
135360 |
+ g_signal_emit(pDocView, doc_view_signals[HYPERLINK_CLICKED], 0, rString.c_str());
|
|
 |
135360 |
+}
|
|
 |
135360 |
+
|
|
 |
135360 |
/// Implementation of the global callback handler, invoked by globalCallback();
|
|
 |
135360 |
static gboolean
|
|
 |
135360 |
globalCallback (gpointer pData)
|
|
 |
135360 |
@@ -507,8 +513,7 @@ callback (gpointer pData)
|
|
 |
135360 |
break;
|
|
 |
135360 |
case LOK_CALLBACK_HYPERLINK_CLICKED:
|
|
 |
135360 |
{
|
|
 |
135360 |
- GError* pError = NULL;
|
|
 |
135360 |
- gtk_show_uri(NULL, pCallback->m_aPayload.c_str(), GDK_CURRENT_TIME, &pError);
|
|
 |
135360 |
+ hyperlinkClicked(pDocView, pCallback->m_aPayload);
|
|
 |
135360 |
}
|
|
 |
135360 |
break;
|
|
 |
135360 |
case LOK_CALLBACK_STATE_CHANGED:
|
|
 |
135360 |
@@ -1353,7 +1358,7 @@ static void lok_doc_view_class_init (LOKDocViewClass* pClass)
|
|
 |
135360 |
* @aHyperlink: the URI which the application should handle
|
|
 |
135360 |
*/
|
|
 |
135360 |
doc_view_signals[HYPERLINK_CLICKED] =
|
|
 |
135360 |
- g_signal_new("hyperlinked-clicked",
|
|
 |
135360 |
+ g_signal_new("hyperlink-clicked",
|
|
 |
135360 |
G_TYPE_FROM_CLASS(pGObjectClass),
|
|
 |
135360 |
G_SIGNAL_RUN_FIRST,
|
|
 |
135360 |
0,
|
|
 |
135360 |
--
|
|
 |
135360 |
2.12.0
|
|
 |
135360 |
|