Blame SOURCES/0257-gtktiledviewer-show-zoom-in-the-status-bar.patch

135360
From 64db75597615c8f528e91203e7a50768a891aab0 Mon Sep 17 00:00:00 2001
135360
From: Miklos Vajna <vmiklos@collabora.co.uk>
135360
Date: Mon, 2 Nov 2015 14:59:07 +0100
135360
Subject: [PATCH 257/398] gtktiledviewer: show zoom in the status bar
135360
135360
Change-Id: I4ab00a269b0a8435a278f93e1d92d102a80c8506
135360
(cherry picked from commit 901fa421e1d446408116d1fe2eb6f070b5946dc9)
135360
---
135360
 .../qa/gtktiledviewer/gtktiledviewer.cxx           | 34 +++++++++++++++++-----
135360
 1 file changed, 27 insertions(+), 7 deletions(-)
135360
135360
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
index 4e9b9b80ea03..c6821065d147 100644
135360
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
135360
@@ -83,6 +83,9 @@ class TiledWindow
135360
 public:
135360
     GtkWidget* m_pDocView;
135360
     GtkWidget* m_pStatusBar;
135360
+    GtkWidget* m_pProgressBar;
135360
+    GtkWidget* m_pStatusbarLabel;
135360
+    GtkWidget* m_pZoomLabel;
135360
     GtkToolItem* m_pEnableEditing;
135360
     GtkToolItem* m_pBold;
135360
     GtkToolItem* m_pItalic;
135360
@@ -114,6 +117,9 @@ public:
135360
     TiledWindow()
135360
         : m_pDocView(0),
135360
         m_pStatusBar(0),
135360
+        m_pProgressBar(0),
135360
+        m_pStatusbarLabel(0),
135360
+        m_pZoomLabel(0),
135360
         m_pEnableEditing(0),
135360
         m_pBold(0),
135360
         m_pItalic(0),
135360
@@ -373,6 +379,8 @@ static void changeZoom( GtkWidget* pButton, gpointer /* pItem */ )
135360
             lok_doc_view_set_zoom( LOK_DOC_VIEW(pDocView), fZoom );
135360
         }
135360
     }
135360
+    std::string aZoom = std::to_string(int(fZoom * 100)) + std::string("%");
135360
+    gtk_label_set_text(GTK_LABEL(rWindow.m_pZoomLabel), aZoom.c_str());
135360
 }
135360
 
135360
 /// User clicked on the button -> inform LOKDocView.
135360
@@ -425,8 +433,9 @@ static void createView(GtkWidget* pButton, gpointer /*pItem*/)
135360
     GtkWidget* pDocView = lok_doc_view_new_from_widget(LOK_DOC_VIEW(rWindow.m_pDocView));
135360
 
135360
     TiledWindow& rNewWindow = setupWidgetAndCreateWindow(pDocView);
135360
-    // Hide status bar that contains the unused progress bar.
135360
-    gtk_widget_hide(rNewWindow.m_pStatusBar);
135360
+    // Hide the unused progress bar.
135360
+    gtk_widget_show_all(rNewWindow.m_pStatusBar);
135360
+    gtk_widget_hide(rNewWindow.m_pProgressBar);
135360
 }
135360
 
135360
 /// Creates a new model, i.e. LOK init and document load, one view implicitly.
135360
@@ -845,7 +854,8 @@ static void openDocumentCallback (GObject* source_object, GAsyncResult* res, gpo
135360
     focusChain = g_list_append( focusChain, pDocView );
135360
     gtk_container_set_focus_chain ( GTK_CONTAINER (rWindow.m_pVBox), focusChain );
135360
 
135360
-    gtk_widget_hide(rWindow.m_pStatusBar);
135360
+    gtk_widget_show_all(rWindow.m_pStatusBar);
135360
+    gtk_widget_hide(rWindow.m_pProgressBar);
135360
 }
135360
 
135360
 /// Creates the GtkWindow that has main widget as children and registers it in the window map.
135360
@@ -1085,15 +1095,22 @@ static GtkWidget* createWindow(TiledWindow& rWindow)
135360
 
135360
     gtk_container_add(GTK_CONTAINER(rWindow.m_pScrolledWindow), rWindow.m_pDocView);
135360
 
135360
-    GtkWidget* pProgressBar = gtk_progress_bar_new ();
135360
-    g_signal_connect(rWindow.m_pDocView, "load-changed", G_CALLBACK(loadChanged), pProgressBar);
135360
+    rWindow.m_pProgressBar = gtk_progress_bar_new ();
135360
+    g_signal_connect(rWindow.m_pDocView, "load-changed", G_CALLBACK(loadChanged), rWindow.m_pProgressBar);
135360
 
135360
     GtkWidget* pStatusBar = gtk_statusbar_new();
135360
     rWindow.m_pStatusBar = pStatusBar;
135360
     gtk_container_forall(GTK_CONTAINER(pStatusBar), removeChildrenFromStatusbar, pStatusBar);
135360
     gtk_container_add (GTK_CONTAINER(rWindow.m_pVBox), pStatusBar);
135360
-    gtk_container_add (GTK_CONTAINER(pStatusBar), pProgressBar);
135360
-    gtk_widget_set_hexpand(pProgressBar, true);
135360
+    gtk_container_add (GTK_CONTAINER(pStatusBar), rWindow.m_pProgressBar);
135360
+    gtk_widget_set_hexpand(rWindow.m_pProgressBar, true);
135360
+
135360
+    rWindow.m_pStatusbarLabel = gtk_label_new("");
135360
+    gtk_widget_set_hexpand(rWindow.m_pStatusbarLabel, TRUE);
135360
+    gtk_container_add(GTK_CONTAINER(pStatusBar), rWindow.m_pStatusbarLabel);
135360
+
135360
+    rWindow.m_pZoomLabel = gtk_label_new("100%");
135360
+    gtk_container_add(GTK_CONTAINER(pStatusBar), rWindow.m_pZoomLabel);
135360
 
135360
     gtk_widget_show_all(pWindow);
135360
     // Hide the findbar by default.
135360
@@ -1102,6 +1119,9 @@ static GtkWidget* createWindow(TiledWindow& rWindow)
135360
     gtk_widget_hide(rWindow.m_pCornerButton->m_pDrawingArea);
135360
     gtk_widget_hide(rWindow.m_pRowBar->m_pDrawingArea);
135360
     gtk_widget_hide(rWindow.m_pColumnBar->m_pDrawingArea);
135360
+    // Hide the non-progressbar children of the status bar by default.
135360
+    gtk_widget_hide(rWindow.m_pStatusbarLabel);
135360
+    gtk_widget_hide(rWindow.m_pZoomLabel);
135360
 
135360
     g_aWindows[pWindow] = rWindow;
135360
     g_signal_connect(rWindow.m_pDocView, "configure-event", G_CALLBACK(TiledRowColumnBar::docConfigureEvent), 0);
135360
-- 
135360
2.12.0
135360