Blame SOURCES/0138-gtktiledviewer-add-setupWidgetAndCreateWindow-to-avo.patch

135360
From b4dda1d4bda439d063493d2c6726071f54fc4c55 Mon Sep 17 00:00:00 2001
135360
From: Miklos Vajna <vmiklos@collabora.co.uk>
135360
Date: Wed, 16 Sep 2015 09:22:17 +0200
135360
Subject: [PATCH 138/398] gtktiledviewer: add setupWidgetAndCreateWindow() to
135360
 avoid copy&paste
135360
135360
Change-Id: Ibbbaaa1c148cfd4578ad37e0f99b62ab885a1a83
135360
(cherry picked from commit 855e1bac1d5155352706c7d849942f5dc453c67d)
135360
---
135360
 .../qa/gtktiledviewer/gtktiledviewer.cxx           | 33 +++++++++++++++-------
135360
 1 file changed, 23 insertions(+), 10 deletions(-)
135360
135360
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
index e32397b133c9..5a18aee50bf3 100644
135360
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
@@ -79,6 +79,7 @@ static std::map<GtkWidget*, TiledWindow> g_aWindows;
135360
 
135360
 static void setupDocView(GtkWidget* pDocView);
135360
 static GtkWidget* createWindow(TiledWindow& rWindow);
135360
+static void openDocumentCallback (GObject* source_object, GAsyncResult* res, gpointer userdata);
135360
 
135360
 static TiledWindow& lcl_getTiledWindow(GtkWidget* pWidget)
135360
 {
135360
@@ -192,17 +193,34 @@ static void toggleFindbar(GtkWidget* pButton, gpointer /*pItem*/)
135360
     }
135360
 }
135360
 
135360
-/// Calls lok::Document::createView().
135360
-static void createView(GtkWidget* pButton, gpointer /*pItem*/)
135360
+/// Common initialization, regardless if it's just a new view or a full init.
135360
+static void setupWidgetAndCreateWindow(GtkWidget* pDocView)
135360
 {
135360
-    TiledWindow& rWindow = lcl_getTiledWindow(pButton);
135360
-    GtkWidget* pDocView = lok_doc_view_new_from_widget(LOK_DOC_VIEW(rWindow.m_pDocView));
135360
     setupDocView(pDocView);
135360
     TiledWindow aWindow;
135360
     aWindow.m_pDocView = pDocView;
135360
     createWindow(aWindow);
135360
 }
135360
 
135360
+/// Creates a new view, i.e. no LOK init or document load.
135360
+static void createView(GtkWidget* pButton, gpointer /*pItem*/)
135360
+{
135360
+    TiledWindow& rWindow = lcl_getTiledWindow(pButton);
135360
+    GtkWidget* pDocView = lok_doc_view_new_from_widget(LOK_DOC_VIEW(rWindow.m_pDocView));
135360
+
135360
+    setupWidgetAndCreateWindow(pDocView);
135360
+}
135360
+
135360
+/// Creates a new model, i.e. LOK init and document load, one view implicitly.
135360
+static void createModelAndView(const char* pLOPath, const char* pDocPath)
135360
+{
135360
+    GtkWidget* pDocView = lok_doc_view_new(pLOPath, 0, 0);
135360
+
135360
+    setupWidgetAndCreateWindow(pDocView);
135360
+
135360
+    lok_doc_view_open_document(LOK_DOC_VIEW(pDocView), pDocPath, 0, openDocumentCallback, pDocView);
135360
+}
135360
+
135360
 /// Our GtkClipboardGetFunc implementation for HTML.
135360
 static void htmlGetFunc(GtkClipboard* /*pClipboard*/, GtkSelectionData* pSelectionData, guint /*info*/, gpointer pUserData)
135360
 {
135360
@@ -750,12 +768,7 @@ int main( int argc, char* argv[] )
135360
 
135360
     gtk_init( &argc, &argv );
135360
 
135360
-    GtkWidget* pDocView = lok_doc_view_new(argv[1], NULL, NULL);
135360
-    setupDocView(pDocView);
135360
-    TiledWindow aWindow;
135360
-    aWindow.m_pDocView = pDocView;
135360
-    createWindow(aWindow);
135360
-    lok_doc_view_open_document(LOK_DOC_VIEW(pDocView), argv[2], NULL, openDocumentCallback, pDocView);
135360
+    createModelAndView(argv[1], argv[2]);
135360
 
135360
     gtk_main();
135360
 
135360
-- 
135360
2.12.0
135360