summaryrefslogtreecommitdiff
path: root/libreofficekit
diff options
context:
space:
mode:
authorPranav Kant <pranavk@collabora.co.uk>2017-02-15 15:49:41 +0530
committerPranav Kant <pranavk@collabora.co.uk>2017-02-16 10:09:31 +0530
commit786107e674877478b8c7fdc4e6b545c44ac6b6ac (patch)
tree2b784f98a939efd79ae6eeed98a583cb31b182fb /libreofficekit
parent2c622c188757143ecf2131210f34b1ca1b0c33e2 (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')
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx36
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);
}
/**