diff options
author | Pranav Kant <pranavk@collabora.co.uk> | 2017-12-14 20:28:39 +0530 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2017-12-15 11:02:01 +0100 |
commit | 4efd08f57e0d0a68f9c9786aa5f4729c42b77e26 (patch) | |
tree | f2d97057883d6e7129710a0b19c990beb7561cb0 /libreofficekit | |
parent | 915d27cd6654208d55373f52b06c411865b106b2 (diff) |
lokdialog: If we already have the title, emit it during creation
Some dialogs load the UI before we "Execute()" the dialog, or before the
dialog fires the InitShow event. In those cases, the title event has
already been fired and won't be fired after dialog is created.
Make sure that we send the title for such dialogs.
While at it, remove the superfluous std::make_pair calls to emplace_back.
And consistently use emplace_back everywhere, not push_back
Change-Id: Ib66238298ad9b0dc85bd269aff37aeadf1fc82e4
Reviewed-on: https://gerrit.libreoffice.org/46461
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'libreofficekit')
-rw-r--r-- | libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx index 8fe9c5074951..73ee25d852ab 100644 --- a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx @@ -315,6 +315,7 @@ void LOKDocViewSigHandlers::window(LOKDocView* pDocView, gchar* pPayload, gpoint { const std::string aType = aRoot.get<std::string>("type"); const std::string aSize = aRoot.get<std::string>("size"); + const std::string aTitle = aRoot.get<std::string>("title", ""); std::vector<int> aSizePoints = GtvHelpers::split<int>(aSize, ", ", 2); if (aType == "dialog") @@ -326,6 +327,9 @@ void LOKDocViewSigHandlers::window(LOKDocView* pDocView, gchar* pPayload, gpoint g_signal_connect(pDialog, "destroy", G_CALLBACK(destroyLokDialog), window); g_signal_connect(pDialog, "delete-event", G_CALLBACK(deleteLokDialog), window); + if (!aTitle.empty()) + gtk_window_set_title(GTK_WINDOW(pDialog), aTitle.c_str()); + gtk_window_set_resizable(GTK_WINDOW(pDialog), false); gtk_widget_show_all(GTK_WIDGET(pDialog)); gtk_window_present(GTK_WINDOW(pDialog)); |