From 910e8d0167886fb1144fb8fb8d5b88a948018151 Mon Sep 17 00:00:00 2001 From: Pranav Kant Date: Thu, 10 Aug 2017 16:44:06 +0530 Subject: Change CB_DIALOG_INVALIDATE to CB_DIALOG We can specify whether it is an invalidation or something else in the payload. Change-Id: I95c5fc0a0a88b5277eaa93c8d1f9b937bddce7b3 --- .../qa/gtktiledviewer/gtv-application-window.cxx | 2 +- .../gtktiledviewer/gtv-lokdocview-signal-handlers.cxx | 18 +++++++++++------- .../gtktiledviewer/gtv-lokdocview-signal-handlers.hxx | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) (limited to 'libreofficekit/qa') diff --git a/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx b/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx index 8fbbb220f43a..dcebbe59418b 100644 --- a/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx @@ -314,7 +314,7 @@ static void setupDocView(GtvApplicationWindow* window) g_signal_connect(window->lokdocview, "formula-changed", G_CALLBACK(LOKDocViewSigHandlers::formulaChanged), nullptr); g_signal_connect(window->lokdocview, "password-required", G_CALLBACK(LOKDocViewSigHandlers::passwordRequired), nullptr); g_signal_connect(window->lokdocview, "comment", G_CALLBACK(LOKDocViewSigHandlers::comment), nullptr); - g_signal_connect(window->lokdocview, "dialog-invalidate", G_CALLBACK(LOKDocViewSigHandlers::dialogInvalidate), nullptr); + g_signal_connect(window->lokdocview, "dialog", G_CALLBACK(LOKDocViewSigHandlers::dialog), nullptr); g_signal_connect(window->lokdocview, "dialog-child", G_CALLBACK(LOKDocViewSigHandlers::dialogChild), nullptr); g_signal_connect(window->lokdocview, "configure-event", G_CALLBACK(LOKDocViewSigHandlers::configureEvent), nullptr); diff --git a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx index 3acd6b78e234..9fe49aaf350e 100644 --- a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx @@ -281,10 +281,19 @@ void LOKDocViewSigHandlers::comment(LOKDocView* pDocView, gchar* pComment, gpoin } } -void LOKDocViewSigHandlers::dialogInvalidate(LOKDocView* pDocView, gchar* pPayload, gpointer) +void LOKDocViewSigHandlers::dialog(LOKDocView* pDocView, gchar* pPayload, gpointer) { GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(pDocView))); -// GtkWindow* pDialog = gtv_application_window_get_child_window_by_id(window, pDialogId); + + std::stringstream aStream(pPayload); + boost::property_tree::ptree aRoot; + boost::property_tree::read_json(aStream, aRoot); + //std::string aDialogId = aRoot.get("dialogId"); + std::string aAction = aRoot.get("action"); + + // we only understand 'invalidate' as of now + if (aAction != "invalidate") + return; // temporary hack to invalidate all open dialogs GList* pChildWins = gtv_application_window_get_all_child_windows(window); @@ -293,11 +302,6 @@ void LOKDocViewSigHandlers::dialogInvalidate(LOKDocView* pDocView, gchar* pPaylo { gtv_lok_dialog_invalidate(GTV_LOK_DIALOG(pIt->data)); } -/* if (pDialog) - { - gtv_lok_dialog_invalidate(GTV_LOK_DIALOG(pDialog)); - } -*/ } void LOKDocViewSigHandlers::dialogChild(LOKDocView* pDocView, gchar* pPayload, gpointer) diff --git a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx index a455c3f1fc4c..54f54b396bf3 100644 --- a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx +++ b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx @@ -25,7 +25,7 @@ namespace LOKDocViewSigHandlers { void formulaChanged(LOKDocView* pDocView, char* pPayload, gpointer); void passwordRequired(LOKDocView* pDocView, char* pUrl, gboolean bModify, gpointer); void comment(LOKDocView* pDocView, gchar* pComment, gpointer); - void dialogInvalidate(LOKDocView* pDocView, gchar* pDialogId, gpointer); + void dialog(LOKDocView* pDocView, gchar* pDialogId, gpointer); void dialogChild(LOKDocView* pDocView, gchar* pPayload, gpointer); gboolean configureEvent(GtkWidget* pWidget, GdkEventConfigure* pEvent, gpointer pData); -- cgit v1.2.3