# HG changeset patch
# User Adrian Buehlmann <adr...@cadifra.com>
# Date 1255647267 -7200
# Node ID edd0dfad77becccd52694486209b4aee7c5a2b5d
# Parent  7d91c4a48d373d041a6223c090765c02ce2443a5
gdialog: add show_toolbar_on_start and _show_toolbar functions

show_toolbar_on_start may be overridden by subclasses to return False,
causing the toolbar to not being shown on dialog start.

The toolbar can be later shown by calling _show_toolbar.

diff --git a/tortoisehg/hgtk/gdialog.py b/tortoisehg/hgtk/gdialog.py
--- a/tortoisehg/hgtk/gdialog.py
+++ b/tortoisehg/hgtk/gdialog.py
@@ -231,6 +231,10 @@ class GDialog(gtk.Window):
         except KeyError:
             pass
 
+
+    def show_toolbar_on_start(self):
+        return True
+
     ### End of overridable methods ###
 
     def display(self, opengui=True):
@@ -515,7 +519,12 @@ class GDialog(gtk.Window):
         self.add(vbox)
         if menus:
             vbox.pack_start(menubar, False, False, 0)
-        vbox.pack_start(toolbar, False, False, 0)
+
+        self.toolbar_box = gtk.VBox()
+        vbox.pack_start(self.toolbar_box, False, False, 0)
+        if self.show_toolbar_on_start():
+            self._show_toolbar(True)
+
         vbox.pack_start(body, True, True, 0)
         if extras:
             vbox.pack_end(extras, False, False, 0)
@@ -523,6 +532,14 @@ class GDialog(gtk.Window):
         self.connect('destroy', self._destroying)
 
 
+    def _show_toolbar(self, show):
+        if self.toolbar in self.toolbar_box.get_children():
+            self.toolbar.set_property('visible', show)
+        elif show:
+            self.toolbar_box.pack_start(self.toolbar, False, False, 0)
+            self.toolbar.show_all()
+
+
     def _destroying(self, gtkobj):
         settings = self.save_settings()
         self.settings.set_value('dialogs', settings)

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to