diff options
author | Pranav Kant <pranavk@collabora.co.uk> | 2017-08-10 16:44:06 +0530 |
---|---|---|
committer | Pranav Kant <pranavk@collabora.co.uk> | 2017-10-02 11:01:39 +0530 |
commit | 3ebaaebf544be4f7f39b7fcbbbc377418a897442 (patch) | |
tree | afc4a518aa954a7450d049344a4d733331380359 /libreofficekit | |
parent | 77bb77aedee4b4596f769df8e334b8063c5846b0 (diff) |
Change CB_DIALOG_INVALIDATE to CB_DIALOG
We can specify whether it is an invalidation or something else in the
payload.
Change-Id: I95c5fc0a0a88b5277eaa93c8d1f9b937bddce7b3
Diffstat (limited to 'libreofficekit')
4 files changed, 21 insertions, 16 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx b/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx index 8a5ff9a56d37..85c5b38466af 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<std::string>("dialogId"); + std::string aAction = aRoot.get<std::string>("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); diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx index 1bdb80c754ed..d2bfefcc089e 100644 --- a/libreofficekit/source/gtk/lokdocview.cxx +++ b/libreofficekit/source/gtk/lokdocview.cxx @@ -279,7 +279,7 @@ enum PASSWORD_REQUIRED, COMMENT, RULER, - DIALOG_INVALIDATE, + DIALOG, DIALOG_CHILD, LAST_SIGNAL @@ -438,8 +438,8 @@ callbackTypeToString (int nType) return "LOK_CALLBACK_COMMENT"; case LOK_CALLBACK_RULER_UPDATE: return "LOK_CALLBACK_RULER_UPDATE"; - case LOK_CALLBACK_DIALOG_INVALIDATE: - return "LOK_CALLBACK_DIALOG_INVALIDATE"; + case LOK_CALLBACK_DIALOG: + return "LOK_CALLBACK_DIALOG"; case LOK_CALLBACK_DIALOG_CHILD: return "LOK_CALLBACK_DIALOG_CHILD"; } @@ -1414,8 +1414,9 @@ callback (gpointer pData) break; case LOK_CALLBACK_RULER_UPDATE: g_signal_emit(pCallback->m_pDocView, doc_view_signals[RULER], 0, pCallback->m_aPayload.c_str()); - case LOK_CALLBACK_DIALOG_INVALIDATE: - g_signal_emit(pCallback->m_pDocView, doc_view_signals[DIALOG_INVALIDATE], 0, pCallback->m_aPayload.c_str()); + break; + case LOK_CALLBACK_DIALOG: + g_signal_emit(pCallback->m_pDocView, doc_view_signals[DIALOG], 0, pCallback->m_aPayload.c_str()); break; case LOK_CALLBACK_DIALOG_CHILD: g_signal_emit(pCallback->m_pDocView, doc_view_signals[DIALOG_CHILD], 0, pCallback->m_aPayload.c_str()); @@ -3222,8 +3223,8 @@ static void lok_doc_view_class_init (LOKDocViewClass* pClass) * @pDocView: the #LOKDocView on which the signal is emitted * @pDialogId: The uno command for the dialog (dialog ID) */ - doc_view_signals[DIALOG_INVALIDATE] = - g_signal_new("dialog-invalidate", + doc_view_signals[DIALOG] = + g_signal_new("dialog", G_TYPE_FROM_CLASS(pGObjectClass), G_SIGNAL_RUN_FIRST, 0, |