diff options
author | Pranav Kant <pranavk@collabora.co.uk> | 2017-02-15 15:49:41 +0530 |
---|---|---|
committer | Pranav Kant <pranavk@collabora.co.uk> | 2017-02-16 10:09:31 +0530 |
commit | 786107e674877478b8c7fdc4e6b545c44ac6b6ac (patch) | |
tree | 2b784f98a939efd79ae6eeed98a583cb31b182fb /libreofficekit/qa | |
parent | 2c622c188757143ecf2131210f34b1ca1b0c33e2 (diff) |
gtktiledviewer: Factor out per view code to separate function
This code (populating part selector, part mode selector etc.) is something
that needs to be executed for each view, not just the view that makes
open_document call. Put all such code in initWindow function from now.
Change-Id: Ibf9b12adb156258aa3cfdf959fffb541a88da529
Diffstat (limited to 'libreofficekit/qa')
-rw-r--r-- | libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index e7df903d4edb..6ad2052cb94a 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -221,6 +221,10 @@ static void signalSize(LOKDocView* pLOKDocView, gpointer pData); static void changePartMode( GtkWidget* pSelector, gpointer /*pItem*/); /// Handler for m_pPartSelector. static void changePart( GtkWidget* pSelector, gpointer /*pItem*/ ); +/// Part selector populator +static void populatePartSelector(LOKDocView* pLOKDocView); +/// Part mode selector populator +static void populatePartModeSelector( GtkComboBoxText* pSelector ); static TiledWindow& lcl_getTiledWindow(GtkWidget* pWidget) { @@ -1127,6 +1131,24 @@ static void registerSelectorHandlers(TiledWindow& rWindow) g_signal_connect(G_OBJECT(rWindow.m_pPartSelector), "changed", G_CALLBACK(changePart), 0); } +/// Helper function to do some tasks after widget is fully loaded (including +/// document load) +static void initWindow(TiledWindow& rWindow) +{ + populatePartSelector(LOK_DOC_VIEW(rWindow.m_pDocView)); + populatePartModeSelector( GTK_COMBO_BOX_TEXT(rWindow.m_pPartModeComboBox) ); + registerSelectorHandlers(rWindow); + + GList *focusChain = nullptr; + focusChain = g_list_append( focusChain, rWindow.m_pDocView ); + gtk_container_set_focus_chain ( GTK_CONTAINER (rWindow.m_pVBox), focusChain ); + + gtk_widget_show_all(rWindow.m_pStatusBar); + gtk_widget_hide(rWindow.m_pProgressBar); + + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(rWindow.m_pEnableEditing), TRUE); +} + /// Creates a new view, i.e. no LOK init or document load. static void createView(GtkWidget* pButton, gpointer /*pItem*/) { @@ -1144,6 +1166,7 @@ static void createView(GtkWidget* pButton, gpointer /*pItem*/) gboolean bTiledAnnotations; g_object_get(G_OBJECT(rWindow.m_pDocView), "tiled-annotations", &bTiledAnnotations, nullptr); TiledWindow& rNewWindow = setupWidgetAndCreateWindow(pDocView, bTiledAnnotations); + initWindow(rNewWindow); // Hide the unused progress bar. gtk_widget_show_all(rNewWindow.m_pStatusBar); gtk_widget_hide(rNewWindow.m_pProgressBar); @@ -1757,7 +1780,6 @@ static void openDocumentCallback (GObject* source_object, GAsyncResult* res, gpo LOKDocView* pDocView = LOK_DOC_VIEW (source_object); TiledWindow& rWindow = lcl_getTiledWindow(GTK_WIDGET(pDocView)); GError* error = nullptr; - GList *focusChain = nullptr; if (!lok_doc_view_open_document_finish(pDocView, res, &error)) { @@ -1787,17 +1809,7 @@ static void openDocumentCallback (GObject* source_object, GAsyncResult* res, gpo gtk_widget_set_valign(GTK_WIDGET(pDocView), GTK_ALIGN_START); } - populatePartSelector(pDocView); - populatePartModeSelector( GTK_COMBO_BOX_TEXT(rWindow.m_pPartModeComboBox) ); - registerSelectorHandlers(rWindow); - - focusChain = g_list_append( focusChain, pDocView ); - gtk_container_set_focus_chain ( GTK_CONTAINER (rWindow.m_pVBox), focusChain ); - - gtk_widget_show_all(rWindow.m_pStatusBar); - gtk_widget_hide(rWindow.m_pProgressBar); - - gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(rWindow.m_pEnableEditing), TRUE); + initWindow(rWindow); } /** |