|
 |
135360 |
From dbf2d5061ddcf8528b1e6e9944ea159fe5ea6afd Mon Sep 17 00:00:00 2001
|
|
 |
135360 |
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
 |
135360 |
Date: Tue, 15 Sep 2015 12:10:03 +0200
|
|
 |
135360 |
Subject: [PATCH 127/398] gtktiledviewer: allow multiple status bars
|
|
 |
135360 |
|
|
 |
135360 |
Change-Id: I84c4102937deee662814c41607ee8de380a067f2
|
|
 |
135360 |
(cherry picked from commit 36fa8d443a9ad87ee7077be7263870fab9dd6261)
|
|
 |
135360 |
---
|
|
 |
135360 |
libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 18 ++++++++++++------
|
|
 |
135360 |
1 file changed, 12 insertions(+), 6 deletions(-)
|
|
 |
135360 |
|
|
 |
135360 |
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
index 096458a93dce..2559d124c72a 100644
|
|
 |
135360 |
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
@@ -30,7 +30,6 @@ static int help()
|
|
 |
135360 |
return 1;
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
-static GtkWidget* pStatusBar;
|
|
 |
135360 |
static GtkToolItem* pEnableEditing;
|
|
 |
135360 |
static GtkToolItem* pBold;
|
|
 |
135360 |
static GtkToolItem* pItalic;
|
|
 |
135360 |
@@ -49,13 +48,16 @@ static GtkWidget* pFindbar;
|
|
 |
135360 |
static GtkWidget* pFindbarEntry;
|
|
 |
135360 |
static GtkWidget* pFindbarLabel;
|
|
 |
135360 |
|
|
 |
135360 |
+/// Represents all the state that is specific to one GtkWindow of this app.
|
|
 |
135360 |
class TiledWindow
|
|
 |
135360 |
{
|
|
 |
135360 |
public:
|
|
 |
135360 |
GtkWidget* m_pDocView;
|
|
 |
135360 |
+ GtkWidget* m_pStatusBar;
|
|
 |
135360 |
|
|
 |
135360 |
TiledWindow()
|
|
 |
135360 |
- : m_pDocView(0)
|
|
 |
135360 |
+ : m_pDocView(0),
|
|
 |
135360 |
+ m_pStatusBar(0)
|
|
 |
135360 |
{
|
|
 |
135360 |
}
|
|
 |
135360 |
};
|
|
 |
135360 |
@@ -461,8 +463,10 @@ static void changePart( GtkWidget* pSelector, gpointer /* pItem */ )
|
|
 |
135360 |
}
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
-static void removeChildrenFromStatusbar(GtkWidget* children, gpointer)
|
|
 |
135360 |
+static void removeChildrenFromStatusbar(GtkWidget* children, gpointer pData)
|
|
 |
135360 |
{
|
|
 |
135360 |
+ GtkWidget* pStatusBar = static_cast<GtkWidget*>(pData);
|
|
 |
135360 |
+
|
|
 |
135360 |
gtk_container_remove(GTK_CONTAINER(pStatusBar), children);
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
@@ -490,6 +494,7 @@ static void changePartMode( GtkWidget* pSelector, gpointer /* pItem */ )
|
|
 |
135360 |
static void openDocumentCallback (GObject* source_object, GAsyncResult* res, gpointer /*userdata*/)
|
|
 |
135360 |
{
|
|
 |
135360 |
LOKDocView* pDocView = LOK_DOC_VIEW (source_object);
|
|
 |
135360 |
+ TiledWindow& rWindow = lcl_getTiledWindow(GTK_WIDGET(pDocView));
|
|
 |
135360 |
GError* error = NULL;
|
|
 |
135360 |
GList *focusChain = NULL;
|
|
 |
135360 |
|
|
 |
135360 |
@@ -508,7 +513,7 @@ static void openDocumentCallback (GObject* source_object, GAsyncResult* res, gpo
|
|
 |
135360 |
focusChain = g_list_append( focusChain, pDocView );
|
|
 |
135360 |
gtk_container_set_focus_chain ( GTK_CONTAINER (pVBox), focusChain );
|
|
 |
135360 |
|
|
 |
135360 |
- gtk_widget_hide (pStatusBar);
|
|
 |
135360 |
+ gtk_widget_hide(rWindow.m_pStatusBar);
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
int main( int argc, char* argv[] )
|
|
 |
135360 |
@@ -691,8 +696,8 @@ int main( int argc, char* argv[] )
|
|
 |
135360 |
GtkWidget* pProgressBar = gtk_progress_bar_new ();
|
|
 |
135360 |
g_signal_connect(pDocView, "load-changed", G_CALLBACK(loadChanged), pProgressBar);
|
|
 |
135360 |
|
|
 |
135360 |
- pStatusBar = gtk_statusbar_new ();
|
|
 |
135360 |
- gtk_container_forall(GTK_CONTAINER(pStatusBar), removeChildrenFromStatusbar, NULL);
|
|
 |
135360 |
+ GtkWidget* pStatusBar = gtk_statusbar_new ();
|
|
 |
135360 |
+ gtk_container_forall(GTK_CONTAINER(pStatusBar), removeChildrenFromStatusbar, pStatusBar);
|
|
 |
135360 |
gtk_container_add (GTK_CONTAINER(pVBox), pStatusBar);
|
|
 |
135360 |
gtk_container_add (GTK_CONTAINER(pStatusBar), pProgressBar);
|
|
 |
135360 |
gtk_widget_set_hexpand(pProgressBar, true);
|
|
 |
135360 |
@@ -703,6 +708,7 @@ int main( int argc, char* argv[] )
|
|
 |
135360 |
|
|
 |
135360 |
TiledWindow aWindow;
|
|
 |
135360 |
aWindow.m_pDocView = pDocView;
|
|
 |
135360 |
+ aWindow.m_pStatusBar = pStatusBar;
|
|
 |
135360 |
g_aWindows[pWindow] = aWindow;
|
|
 |
135360 |
|
|
 |
135360 |
lok_doc_view_open_document( LOK_DOC_VIEW(pDocView), argv[2], NULL, openDocumentCallback, pDocView );
|
|
 |
135360 |
--
|
|
 |
135360 |
2.12.0
|
|
 |
135360 |
|