So here it is, hopefully the starting point for a bunch of improvements.
This bundle does the following:
- Introduce olive/window.py with the OliveGui (I opted to adhere to the current naming scheme) - Diversions from glade version: Moved locationbar up. I always have too little room in the location entry field to see the full path. And it would be the _only_ reason to widen the window. - In olive/__init__.py of course the OliveGui must be called. I opted to directly point to some gui parts in various places instead of making a big list of self.variables that point to self.window.variables. Setting/unsetting the sensitivity of the gui elements based on the current folder is now done in OliveGui.set_view_to_* methods. - Also.. self.window was equal to self.window_main so renamed the self.window_main's.

I hope this is to everybody's satisfaction and if so, please merge it asap since I have a whole bunch of changes that I'll wait with till after the merge: - Move TreeView/ListView creation to OliveGui and remove the mostly duplicate _load_left/_load_right. (And if people are ok with it, change the appearance) - Change locationbar entries to use activate signal and fix the bug about the history selection window not automatically changing to that revision after a selection is made.
- Redo the fix when path to workingtree contains symlinks
- Maybe start working on bind/unbind functionality.

Jasper
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# testament_sha1: b4fc0c0e4502e83ce7d5f8870df25f41b46d4551
# timestamp: 2008-07-18 11:10:37 +0200
# source_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# base_revision_id: [EMAIL PROTECTED]
# 
# Begin patch
=== modified file 'olive/__init__.py'
--- olive/__init__.py	2008-07-01 21:56:25 +0000
+++ olive/__init__.py	2008-07-18 09:10:11 +0000
@@ -45,6 +45,7 @@
 from bzrlib.plugins.gtk.dialog import error_dialog, info_dialog, warning_dialog
 from bzrlib.plugins.gtk.errors import show_bzr_error
 from guifiles import GLADEFILENAME
+from bzrlib.plugins.gtk.olive.window import OliveGui
 
 from bzrlib.plugins.gtk.diff import DiffWindow
 lazy_import(globals(), """
@@ -87,129 +88,33 @@
     program. """
     
     def __init__(self):
-        self.toplevel = gtk.glade.XML(GLADEFILENAME, 'window_main', 'olive-gtk')
-        self.window = self.toplevel.get_widget('window_main')
+        self.window = OliveGui(calling_app = self)
+        
         self.pref = Preferences()
         self.path = None
 
         # Initialize the statusbar
-        self.statusbar = self.toplevel.get_widget('statusbar')
-        self.context_id = self.statusbar.get_context_id('olive')
-        
-        # Get the main window
-        self.window_main = self.toplevel.get_widget('window_main')
-        # Get the HPaned
-        self.hpaned_main = self.toplevel.get_widget('hpaned_main')
-        # Get the TreeViews
-        self.treeview_left = self.toplevel.get_widget('treeview_left')
-        self.treeview_right = self.toplevel.get_widget('treeview_right')
-        # Get some important menu items
-        self.menuitem_add_files = self.toplevel.get_widget('menuitem_add_files')
-        self.menuitem_remove_files = self.toplevel.get_widget('menuitem_remove_file')
-        self.menuitem_file_bookmark = self.toplevel.get_widget('menuitem_file_bookmark')
-        self.menuitem_file_make_directory = self.toplevel.get_widget('menuitem_file_make_directory')
-        self.menuitem_file_rename = self.toplevel.get_widget('menuitem_file_rename')
-        self.menuitem_file_move = self.toplevel.get_widget('menuitem_file_move')
-        self.menuitem_file_annotate = self.toplevel.get_widget('menuitem_file_annotate')
-        self.menuitem_view_show_hidden_files = self.toplevel.get_widget('menuitem_view_show_hidden_files')
-        self.menuitem_view_show_ignored_files = self.toplevel.get_widget('menuitem_view_show_ignored_files')
-        self.menuitem_branch = self.toplevel.get_widget('menuitem_branch')
-        self.menuitem_branch_init = self.toplevel.get_widget('menuitem_branch_initialize')
-        self.menuitem_branch_get = self.toplevel.get_widget('menuitem_branch_get')
-        self.menuitem_branch_checkout = self.toplevel.get_widget('menuitem_branch_checkout')
-        self.menuitem_branch_pull = self.toplevel.get_widget('menuitem_branch_pull')
-        self.menuitem_branch_push = self.toplevel.get_widget('menuitem_branch_push')
-        self.menuitem_branch_update = self.toplevel.get_widget('menuitem_branch_update')
-        self.menuitem_branch_revert = self.toplevel.get_widget('menuitem_branch_revert')
-        self.menuitem_branch_merge = self.toplevel.get_widget('menuitem_branch_merge')
-        self.menuitem_branch_commit = self.toplevel.get_widget('menuitem_branch_commit')
-        self.menuitem_branch_tags = self.toplevel.get_widget('menuitem_branch_tags')
-        self.menuitem_branch_status = self.toplevel.get_widget('menuitem_branch_status')
-        self.menuitem_branch_missing = self.toplevel.get_widget('menuitem_branch_missing_revisions')
-        self.menuitem_branch_conflicts = self.toplevel.get_widget('menuitem_branch_conflicts')
-        self.menuitem_stats = self.toplevel.get_widget('menuitem_stats')
-        self.menuitem_stats_diff = self.toplevel.get_widget('menuitem_stats_diff')
-        self.menuitem_stats_log = self.toplevel.get_widget('menuitem_stats_log')
-        # Get some toolbuttons
-        #self.menutoolbutton_diff = self.toplevel.get_widget('menutoolbutton_diff')
-        self.toolbutton_diff = self.toplevel.get_widget('toolbutton_diff')
-        self.toolbutton_log = self.toplevel.get_widget('toolbutton_log')
-        self.toolbutton_commit = self.toplevel.get_widget('toolbutton_commit')
-        self.toolbutton_pull = self.toplevel.get_widget('toolbutton_pull')
-        self.toolbutton_push = self.toplevel.get_widget('toolbutton_push')
-        self.toolbutton_update = self.toplevel.get_widget('toolbutton_update')
+        self.context_id = self.window.statusbar.get_context_id('olive')
+        
+		# Get the TreeViews
+        self.treeview_left = self.window.treeview_left
+        self.treeview_right = self.window.treeview_right
+        
         # Get the drive selector
         self.combobox_drive = gtk.combo_box_new_text()
         self.combobox_drive.connect("changed", self._refresh_drives)
         
         # Get the navigation widgets
-        self.hbox_location = self.toplevel.get_widget('hbox_location')
-        self.button_location_up = self.toplevel.get_widget('button_location_up')
-        self.button_location_jump = self.toplevel.get_widget('button_location_jump')
-        self.entry_location = self.toplevel.get_widget('entry_location')
-        self.image_location_error = self.toplevel.get_widget('image_location_error')
+        self.hbox_location = self.window.locationbar
+        self.button_location_up = self.window.button_location_up
+        self.button_location_jump = self.window.button_location_jump
+        self.entry_location = self.window.entry_location
+        self.image_location_error = self.window.image_location_error
         
         # Get the History widgets
-        self.check_history = self.toplevel.get_widget('checkbutton_history')
-        self.entry_history = self.toplevel.get_widget('entry_history_revno')
-        self.button_history = self.toplevel.get_widget('button_history_browse')
-        
-        self.vbox_main_right = self.toplevel.get_widget('vbox_main_right')
-        
-        # Dictionary for signal_autoconnect
-        dic = { "on_window_main_destroy": gtk.main_quit,
-                "on_window_main_delete_event": self.on_window_main_delete_event,
-                "on_quit_activate": self.on_window_main_delete_event,
-                "on_about_activate": self.on_about_activate,
-                "on_menuitem_add_files_activate": self.on_menuitem_add_files_activate,
-                "on_menuitem_remove_file_activate": self.on_menuitem_remove_file_activate,
-                "on_menuitem_file_bookmark_activate": self.on_menuitem_file_bookmark_activate,
-                "on_menuitem_file_make_directory_activate": self.on_menuitem_file_make_directory_activate,
-                "on_menuitem_file_move_activate": self.on_menuitem_file_move_activate,
-                "on_menuitem_file_rename_activate": self.on_menuitem_file_rename_activate,
-                "on_menuitem_file_annotate_activate": self.on_menuitem_file_annotate_activate,
-                "on_menuitem_view_show_hidden_files_activate": self.on_menuitem_view_show_hidden_files_activate,
-                "on_menuitem_view_show_ignored_files_activate": self.on_menuitem_view_show_ignored_files_activate,
-                "on_menuitem_view_refresh_activate": self.on_menuitem_view_refresh_activate,
-                "on_menuitem_branch_initialize_activate": self.on_menuitem_branch_initialize_activate,
-                "on_menuitem_branch_get_activate": self.on_menuitem_branch_get_activate,
-                "on_menuitem_branch_checkout_activate": self.on_menuitem_branch_checkout_activate,
-                "on_menuitem_branch_revert_activate": self.on_menuitem_branch_revert_activate,
-                "on_menuitem_branch_merge_activate": self.on_menuitem_branch_merge_activate,
-                "on_menuitem_branch_commit_activate": self.on_menuitem_branch_commit_activate,
-                "on_menuitem_branch_push_activate": self.on_menuitem_branch_push_activate,
-                "on_menuitem_branch_pull_activate": self.on_menuitem_branch_pull_activate,
-                "on_menuitem_branch_update_activate": self.on_menuitem_branch_update_activate,                
-                "on_menuitem_branch_tags_activate": self.on_menuitem_branch_tags_activate,
-                "on_menuitem_branch_status_activate": self.on_menuitem_branch_status_activate,
-                "on_menuitem_branch_missing_revisions_activate": self.on_menuitem_branch_missing_revisions_activate,
-                "on_menuitem_branch_conflicts_activate": self.on_menuitem_branch_conflicts_activate,
-                "on_menuitem_stats_diff_activate": self.on_menuitem_stats_diff_activate,
-                "on_menuitem_stats_log_activate": self.on_menuitem_stats_log_activate,
-                "on_menuitem_stats_infos_activate": self.on_menuitem_stats_infos_activate,
-                "on_toolbutton_refresh_clicked": self.on_menuitem_view_refresh_activate,
-                "on_toolbutton_log_clicked": self.on_menuitem_stats_log_activate,
-                #"on_menutoolbutton_diff_clicked": self.on_menuitem_stats_diff_activate,
-                "on_toolbutton_diff_clicked": self.on_menuitem_stats_diff_activate,
-                "on_toolbutton_commit_clicked": self.on_menuitem_branch_commit_activate,
-                "on_toolbutton_pull_clicked": self.on_menuitem_branch_pull_activate,
-                "on_toolbutton_push_clicked": self.on_menuitem_branch_push_activate,
-                "on_toolbutton_update_clicked": self.on_menuitem_branch_update_activate,
-                "on_treeview_right_button_press_event": self.on_treeview_right_button_press_event,
-                "on_treeview_right_row_activated": self.on_treeview_right_row_activated,
-                "on_treeview_left_button_press_event": self.on_treeview_left_button_press_event,
-                "on_treeview_left_button_release_event": self.on_treeview_left_button_release_event,
-                "on_treeview_left_row_activated": self.on_treeview_left_row_activated,
-                "on_button_location_up_clicked": self.on_button_location_up_clicked,
-                "on_button_location_jump_clicked": self.on_button_location_jump_clicked,
-                "on_entry_location_key_press_event": self.on_entry_location_key_press_event,
-                "on_checkbutton_history_toggled": self.on_checkbutton_history_toggled,
-                "on_entry_history_revno_key_press_event": self.on_entry_history_revno_key_press_event,
-                "on_button_history_browse_clicked": self.on_button_history_browse_clicked
-            }
-        
-        # Connect the signals to the handlers
-        self.toplevel.signal_autoconnect(dic)
+        self.check_history = self.window.checkbutton_history
+        self.entry_history = self.window.entry_history_revno
+        self.button_history = self.window.button_history_browse
         
         self._just_started = True
         
@@ -222,11 +127,7 @@
         self.window.move(x, y)
         # Apply paned position
         pos = self.pref.get_preference('paned_position', 'int')
-        self.hpaned_main.set_position(pos)
-        
-        # Apply menu to the toolbutton
-        #menubutton = self.toplevel.get_widget('menutoolbutton_diff')
-        #menubutton.set_menu(handler.menu.toolbar_diff)
+        self.window.hpaned_main.set_position(pos)
         
         # Now we can show the window
         self.window.show()
@@ -241,8 +142,8 @@
         self._load_left()
 
         # Apply menu state
-        self.menuitem_view_show_hidden_files.set_active(self.pref.get_preference('dotted_files', 'bool'))
-        self.menuitem_view_show_ignored_files.set_active(self.pref.get_preference('ignored_files', 'bool'))
+        self.window.mb_view_showhidden.set_active(self.pref.get_preference('dotted_files', 'bool'))
+        self.window.mb_view_showignored.set_active(self.pref.get_preference('ignored_files', 'bool'))
 
         # We're starting local
         self.remote = False
@@ -375,7 +276,7 @@
         else:
             self.check_history.set_sensitive(True)
         
-        self.statusbar.push(self.context_id, path)
+        self.window.statusbar.push(self.context_id, path)
         self.entry_location.set_text(path)
         self.path = path
         return True
@@ -511,7 +412,6 @@
     @show_bzr_error
     def on_menuitem_branch_commit_activate(self, widget):
         """ Branch/Commit... menu handler. """
-#     def __init__(self, wt, wtpath, notbranch, selected=None, parent=None):
         selected = self.get_selected_right()
         if selected:
             selected = os.path.join(self.wtpath, selected)
@@ -923,17 +823,17 @@
     
     def on_window_main_delete_event(self, widget, event=None):
         """ Do some stuff before exiting. """
-        width, height = self.window_main.get_size()
+        width, height = self.window.get_size()
         self.pref.set_preference('window_width', width)
         self.pref.set_preference('window_height', height)
-        x, y = self.window_main.get_position()
+        x, y = self.window.get_position()
         self.pref.set_preference('window_x', x)
         self.pref.set_preference('window_y', y)
         self.pref.set_preference('paned_position',
-                                 self.hpaned_main.get_position())
+                                 self.window.hpaned_main.get_position())
         
         self.pref.write()
-        self.window_main.destroy()
+        self.window.destroy()
         
     def _load_left(self):
         """ Load data into the left panel. (Bookmarks) """
@@ -1159,74 +1059,18 @@
 
     def set_statusbar(self, message):
         """ Set the statusbar message. """
-        self.statusbar.push(self.context_id, message)
+        self.window.statusbar.push(self.context_id, message)
     
     def clear_statusbar(self):
         """ Clean the last message from the statusbar. """
-        self.statusbar.pop(self.context_id)
+        self.window.statusbar.pop(self.context_id)
     
     def set_sensitivity(self):
         """ Set menu and toolbar sensitivity. """
         if not self.remote:
-            # We're local
-            self.menuitem_branch_init.set_sensitive(self.notbranch)
-            self.menuitem_branch_get.set_sensitive(self.notbranch)
-            self.menuitem_branch_checkout.set_sensitive(self.notbranch)
-            self.menuitem_branch_pull.set_sensitive(not self.notbranch)
-            self.menuitem_branch_push.set_sensitive(not self.notbranch)
-            self.menuitem_branch_update.set_sensitive(not self.notbranch)
-            self.menuitem_branch_revert.set_sensitive(not self.notbranch)
-            self.menuitem_branch_merge.set_sensitive(not self.notbranch)
-            self.menuitem_branch_commit.set_sensitive(not self.notbranch)
-            self.menuitem_branch_tags.set_sensitive(not self.notbranch)
-            self.menuitem_branch_status.set_sensitive(not self.notbranch)
-            self.menuitem_branch_missing.set_sensitive(not self.notbranch)
-            self.menuitem_branch_conflicts.set_sensitive(not self.notbranch)
-            self.menuitem_stats.set_sensitive(not self.notbranch)
-            self.menuitem_stats_diff.set_sensitive(not self.notbranch)
-            self.menuitem_add_files.set_sensitive(not self.notbranch)
-            self.menuitem_remove_files.set_sensitive(not self.notbranch)
-            self.menuitem_file_make_directory.set_sensitive(not self.notbranch)
-            self.menuitem_file_rename.set_sensitive(not self.notbranch)
-            self.menuitem_file_move.set_sensitive(not self.notbranch)
-            self.menuitem_file_annotate.set_sensitive(not self.notbranch)
-            #self.menutoolbutton_diff.set_sensitive(True)
-            self.toolbutton_diff.set_sensitive(not self.notbranch)
-            self.toolbutton_log.set_sensitive(not self.notbranch)
-            self.toolbutton_commit.set_sensitive(not self.notbranch)
-            self.toolbutton_pull.set_sensitive(not self.notbranch)
-            self.toolbutton_push.set_sensitive(not self.notbranch)
-            self.toolbutton_update.set_sensitive(not self.notbranch)
+            self.window.set_view_to_localbranch(self.notbranch)
         else:
-            # We're remote
-            self.menuitem_branch_init.set_sensitive(False)
-            self.menuitem_branch_get.set_sensitive(True)
-            self.menuitem_branch_checkout.set_sensitive(True)
-            self.menuitem_branch_pull.set_sensitive(False)
-            self.menuitem_branch_push.set_sensitive(False)
-            self.menuitem_branch_update.set_sensitive(False)
-            self.menuitem_branch_revert.set_sensitive(False)
-            self.menuitem_branch_merge.set_sensitive(False)
-            self.menuitem_branch_commit.set_sensitive(False)
-            self.menuitem_branch_tags.set_sensitive(True)
-            self.menuitem_branch_status.set_sensitive(False)
-            self.menuitem_branch_missing.set_sensitive(False)
-            self.menuitem_branch_conflicts.set_sensitive(False)
-            self.menuitem_stats.set_sensitive(True)
-            self.menuitem_stats_diff.set_sensitive(False)
-            self.menuitem_add_files.set_sensitive(False)
-            self.menuitem_remove_files.set_sensitive(False)
-            self.menuitem_file_make_directory.set_sensitive(False)
-            self.menuitem_file_rename.set_sensitive(False)
-            self.menuitem_file_move.set_sensitive(False)
-            self.menuitem_file_annotate.set_sensitive(False)
-            #self.menutoolbutton_diff.set_sensitive(True)
-            self.toolbutton_diff.set_sensitive(False)
-            self.toolbutton_log.set_sensitive(True)
-            self.toolbutton_commit.set_sensitive(False)
-            self.toolbutton_pull.set_sensitive(False)
-            self.toolbutton_push.set_sensitive(False)
-            self.toolbutton_update.set_sensitive(False)
+            self.window.set_view_to_remotebranch()
     
     def refresh_left(self):
         """ Refresh the bookmark list. """
@@ -1729,4 +1573,3 @@
                 return self._get_default(option)
             except KeyError:
                 return None
- 

=== added file 'olive/window.py'
--- olive/window.py	1970-01-01 00:00:00 +0000
+++ olive/window.py	2008-07-18 09:10:11 +0000
@@ -0,0 +1,452 @@
+# Copyright (C) 2006 by Szilveszter Farkas (Phanatic) <[EMAIL PROTECTED]>
+# Some parts of the code are:
+# Copyright (C) 2005, 2006 by Canonical Ltd
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+import os
+import gtk
+import gobject
+
+from bzrlib.plugins.gtk import _i18n, icon_path
+
+
+class OliveGui(gtk.Window):
+    """ Olive main window """
+    
+    def __init__(self, calling_app):
+        # Pointer to calling instance for signal connection
+        self.signal = calling_app
+        self.iconpath = icon_path()+os.sep
+        
+        # Initialise window
+        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
+        self.set_title(_i18n("Olive - Bazaar GUI"))
+        self.set_icon_list(gtk.gdk.pixbuf_new_from_file(self.iconpath+"oliveicon2.png"),
+                           gtk.gdk.pixbuf_new_from_file(self.iconpath+"olive-gtk.png"),
+                           # Who has the svg version of the icon? Would be nice to include
+                           #gtk.gdk.pixbuf_new_from_file(self.iconpath+"olive.svg")
+                           )
+        self.set_property("width-request", 700)
+        self.set_property("height-request", 400)
+        
+        self.connect("destroy", self.destroy)
+        self.connect("delete_event", self.signal.on_window_main_delete_event)
+        
+        # Accelerator group to Quit program
+        accelgroup = gtk.AccelGroup()
+        self.add_accel_group(accelgroup)
+        self.quit_action = gtk.Action(_i18n("Quit"), None, None, gtk.STOCK_QUIT)
+        self.quit_action.connect('activate', self.signal.on_window_main_delete_event)
+        actiongroup = gtk.ActionGroup('QuitAction')
+        actiongroup.add_action_with_accel(self.quit_action, None)
+        self.quit_action.set_accel_group(accelgroup)
+        self.quit_action.connect_accelerator()
+        
+        # High level build up of window
+        self.vbox = gtk.VBox(False, 0)
+        self.add(self.vbox)
+        
+        # Menu bar
+        self._create_menubar()
+        self.vbox.pack_start(self.mb, False, False, 0)
+        
+        # Toolbar
+        self._create_toolbar()
+        self.vbox.pack_start(self.tb, False, False, 0)
+        
+        # Locationbar
+        self._create_locationbar()
+        self.vbox.pack_start(self.locationbar, False, False, 0)
+        
+        # Main area
+        self.hpaned_main = gtk.HPaned()
+        self._create_bookmarklist()
+        self.hpaned_main.add(self.scrolledwindow_left)
+        self._create_filelist()
+        self.hpaned_main.add(self.scrolledwindow_right)
+        self.vbox.pack_start(self.hpaned_main, True, True, 0)
+        
+        # Statusbar
+        self.statusbar = gtk.Statusbar()
+        self.vbox.pack_end(self.statusbar, False, False, 0)
+    
+    def show(self):
+        self.show_all()        
+    
+    def destroy(self, widget=None, data=None):
+        """ Ends the program """
+        gtk.main_quit()
+
+    def _create_menubar(self):
+        self.mb = gtk.MenuBar()
+        
+        # File menu
+        self.mb_file = gtk.MenuItem(_i18n("_File"))
+        self.mb_file_menu = gtk.Menu()
+        
+        self.mb_file_add = gtk.ImageMenuItem(gtk.STOCK_ADD, _i18n("_Add file(s)"))
+        self.mb_file_add.connect('activate', self.signal.on_menuitem_add_files_activate)
+        self.mb_file_menu.append(self.mb_file_add)
+        
+        self.mb_file_remove = gtk.ImageMenuItem(gtk.STOCK_REMOVE, _i18n("_Remove file(s)"))
+        self.mb_file_remove.connect('activate', self.signal.on_menuitem_remove_file_activate)
+        self.mb_file_menu.append(self.mb_file_remove)
+        
+        self.mb_file_menu.append(gtk.SeparatorMenuItem())
+        
+        self.mb_file_bookmark = gtk.MenuItem(_i18n("_Bookmark current directory"))
+        self.mb_file_bookmark.connect('activate', self.signal.on_menuitem_file_bookmark_activate)
+        self.mb_file_menu.append(self.mb_file_bookmark)
+        
+        self.mb_file_mkdir = gtk.MenuItem(_i18n("_Make directory"))
+        self.mb_file_mkdir.connect('activate', self.signal.on_menuitem_file_make_directory_activate)
+        self.mb_file_menu.append(self.mb_file_mkdir)
+        
+        self.mb_file_menu.append(gtk.SeparatorMenuItem())
+        
+        self.mb_file_rename = gtk.MenuItem(_i18n("_Rename"))
+        self.mb_file_rename.connect('activate', self.signal.on_menuitem_file_rename_activate)
+        self.mb_file_menu.append(self.mb_file_rename)
+        
+        self.mb_file_move = gtk.MenuItem(_i18n("_Move"))
+        self.mb_file_move.connect('activate', self.signal.on_menuitem_file_move_activate)
+        self.mb_file_menu.append(self.mb_file_move)
+        
+        self.mb_file_annotate = gtk.MenuItem(_i18n("_Annotate"))
+        self.mb_file_annotate.connect('activate', self.signal.on_menuitem_file_annotate_activate)
+        self.mb_file_menu.append(self.mb_file_annotate)
+        
+        self.mb_file_menu.append(gtk.SeparatorMenuItem())
+        
+        self.mb_file_quit = self.quit_action.create_menu_item()
+        self.mb_file_menu.append(self.mb_file_quit)
+        
+        self.mb_file.set_submenu(self.mb_file_menu)
+        self.mb.append(self.mb_file)
+        
+        # View menu
+        self.mb_view = gtk.MenuItem(_i18n("_View"))
+        self.mb_view_menu = gtk.Menu()
+        
+        self.mb_view_showhidden = gtk.CheckMenuItem(_i18n("Show _hidden files"))
+        self.mb_view_showhidden.connect('activate', self.signal.on_menuitem_view_show_hidden_files_activate)
+        self.mb_view_menu.append(self.mb_view_showhidden)
+        
+        self.mb_view_showignored = gtk.CheckMenuItem(_i18n("Show _ignored files"))
+        self.mb_view_showignored.connect('activate', self.signal.on_menuitem_view_show_ignored_files_activate)
+        self.mb_view_menu.append(self.mb_view_showignored)
+        
+        self.mb_view_menu.append(gtk.SeparatorMenuItem())
+        
+        self.mb_view_refresh = gtk.ImageMenuItem(gtk.STOCK_REFRESH, _i18n("_Refresh"))
+        self.mb_view_refresh.connect('activate', self.signal.on_menuitem_view_refresh_activate)
+        self.mb_view_menu.append(self.mb_view_refresh)
+        
+        self.mb_view.set_submenu(self.mb_view_menu)
+        self.mb.append(self.mb_view)
+        
+        # Branch menu
+        self.mb_branch = gtk.MenuItem(_i18n("_Branch"))
+        self.mb_branch_menu = gtk.Menu()
+        
+        self.mb_branch_initialize = gtk.MenuItem(_i18n("_Initialize"))
+        self.mb_branch_initialize.connect('activate', self.signal.on_menuitem_branch_initialize_activate)
+        self.mb_branch_menu.append(self.mb_branch_initialize)
+        
+        self.mb_branch_get = gtk.MenuItem(_i18n("_Get"))
+        self.mb_branch_get.connect('activate', self.signal.on_menuitem_branch_get_activate)
+        self.mb_branch_menu.append(self.mb_branch_get)
+        
+        self.mb_branch_checkout = gtk.MenuItem(_i18n("C_heckout"))
+        self.mb_branch_checkout.connect('activate', self.signal.on_menuitem_branch_checkout_activate)
+        self.mb_branch_menu.append(self.mb_branch_checkout)
+        
+        self.mb_branch_menu.append(gtk.SeparatorMenuItem())
+        
+        self.mb_branch_pull = gtk.ImageMenuItem(_i18n("Pu_ll"))
+        pullimage = gtk.Image()
+        pullimage.set_from_file(self.iconpath+"pull16.png")
+        self.mb_branch_pull.set_image(pullimage)
+        self.mb_branch_pull.connect('activate', self.signal.on_menuitem_branch_pull_activate)
+        self.mb_branch_menu.append(self.mb_branch_pull)
+        
+        self.mb_branch_push = gtk.ImageMenuItem(_i18n("Pu_sh"))
+        pushimage = gtk.Image()
+        pushimage.set_from_file(self.iconpath+"push16.png")
+        self.mb_branch_push.set_image(pushimage)
+        self.mb_branch_push.connect('activate', self.signal.on_menuitem_branch_push_activate)
+        self.mb_branch_menu.append(self.mb_branch_push)
+        
+        self.mb_branch_update = gtk.MenuItem(_i18n("_Update"))
+        self.mb_branch_update.connect('activate', self.signal.on_menuitem_branch_update_activate)
+        self.mb_branch_menu.append(self.mb_branch_update)
+        
+        self.mb_branch_menu.append(gtk.SeparatorMenuItem())
+        
+        self.mb_branch_revert = gtk.ImageMenuItem(_i18n("_Revert all changes"))
+        revertimage = gtk.Image()
+        revertimage.set_from_stock(gtk.STOCK_REVERT_TO_SAVED, gtk.ICON_SIZE_MENU)
+        self.mb_branch_revert.set_image(revertimage)
+        self.mb_branch_revert.connect('activate', self.signal.on_menuitem_branch_revert_activate)
+        self.mb_branch_menu.append(self.mb_branch_revert)
+        
+        self.mb_branch_merge = gtk.MenuItem(_i18n("_Merge"))
+        self.mb_branch_merge.connect('activate', self.signal.on_menuitem_branch_merge_activate)
+        self.mb_branch_menu.append(self.mb_branch_merge)
+        
+        self.mb_branch_commit = gtk.ImageMenuItem(_i18n("_Commit"))
+        commitimage = gtk.Image()
+        commitimage.set_from_file(self.iconpath+"commit16.png")
+        self.mb_branch_commit.set_image(commitimage)
+        self.mb_branch_commit.connect('activate', self.signal.on_menuitem_branch_commit_activate)
+        self.mb_branch_menu.append(self.mb_branch_commit)
+        
+        self.mb_branch_menu.append(gtk.SeparatorMenuItem())
+        
+        self.mb_branch_tags = gtk.ImageMenuItem(_i18n("Ta_gs"))
+        tagsimage = gtk.Image()
+        tagsimage.set_from_file(self.iconpath+"tag-16.png")
+        self.mb_branch_tags.set_image(tagsimage)
+        self.mb_branch_tags.connect('activate', self.signal.on_menuitem_branch_tags_activate)
+        self.mb_branch_menu.append(self.mb_branch_tags)
+        
+        self.mb_branch_status = gtk.MenuItem(_i18n("S_tatus"))
+        self.mb_branch_status.connect('activate', self.signal.on_menuitem_branch_status_activate)
+        self.mb_branch_menu.append(self.mb_branch_status)
+        
+        self.mb_branch_missingrevisions = gtk.MenuItem(_i18n("Missing _revisions"))
+        self.mb_branch_missingrevisions.connect('activate', self.signal.on_menuitem_branch_missing_revisions_activate)
+        self.mb_branch_menu.append(self.mb_branch_missingrevisions)
+        
+        self.mb_branch_conflicts = gtk.MenuItem(_i18n("Con_flicts"))
+        self.mb_branch_conflicts.connect('activate', self.signal.on_menuitem_branch_conflicts_activate)
+        self.mb_branch_menu.append(self.mb_branch_conflicts)
+        
+        self.mb_branch.set_submenu(self.mb_branch_menu)
+        self.mb.append(self.mb_branch)
+        
+        # Statistics menu
+        self.mb_statistics = gtk.MenuItem(_i18n("_Statistics"))
+        self.mb_statistics_menu = gtk.Menu()
+        
+        self.mb_statistics_differences = gtk.ImageMenuItem(_i18n("_Differences"))
+        diffimage = gtk.Image()
+        diffimage.set_from_file(self.iconpath+"diff16.png")
+        self.mb_statistics_differences.set_image(diffimage)
+        self.mb_statistics_differences.connect('activate', self.signal.on_menuitem_stats_diff_activate)
+        self.mb_statistics_menu.append(self.mb_statistics_differences)
+        
+        self.mb_statistics_log = gtk.ImageMenuItem(_i18n("_Log"))
+        logimage = gtk.Image()
+        logimage.set_from_file(self.iconpath+"log16.png")
+        self.mb_statistics_log.set_image(logimage)
+        self.mb_statistics_log.connect('activate', self.signal.on_menuitem_stats_log_activate)
+        self.mb_statistics_menu.append(self.mb_statistics_log)
+        
+        self.mb_statistics_information = gtk.MenuItem(_i18n("_Information"))
+        self.mb_statistics_information.connect('activate', self.signal.on_menuitem_stats_infos_activate)
+        self.mb_statistics_menu.append(self.mb_statistics_information)
+        
+        self.mb_statistics.set_submenu(self.mb_statistics_menu)
+        self.mb.append(self.mb_statistics)
+        
+        # Help menu
+        self.mb_help = gtk.MenuItem(_i18n("Help"))
+        self.mb_help_menu = gtk.Menu()
+        
+        self.mb_help_about = gtk.ImageMenuItem(gtk.STOCK_ABOUT)
+        self.mb_help_about.connect('activate', self.signal.on_about_activate)
+        self.mb_help_menu.append(self.mb_help_about)
+        
+        self.mb_help.set_submenu(self.mb_help_menu)
+        self.mb.append(self.mb_help)
+    
+    def _create_toolbar(self):
+        self.tb = gtk.Toolbar()
+        
+        self.tb_refresh_icon = gtk.Image()
+        self.tb_refresh_icon.set_from_file(self.iconpath+"refresh.png")
+        self.tb_refresh = gtk.ToolButton(self.tb_refresh_icon, _i18n("Refresh"))
+        self.tb_refresh.connect('clicked', self.signal.on_menuitem_view_refresh_activate)
+        self.tb.add(self.tb_refresh)
+        
+        self.tb_diff_icon = gtk.Image()
+        self.tb_diff_icon.set_from_file(self.iconpath+"diff.png")
+        self.tb_diff = gtk.ToolButton(self.tb_diff_icon, _i18n("Diff"))
+        self.tb_diff.connect('clicked', self.signal.on_menuitem_stats_diff_activate)
+        self.tb.add(self.tb_diff)
+        
+        self.tb_log_icon = gtk.Image()
+        self.tb_log_icon.set_from_file(self.iconpath+"log.png")
+        self.tb_log = gtk.ToolButton(self.tb_log_icon, _i18n("Log"))
+        self.tb_log.connect('clicked', self.signal.on_menuitem_stats_log_activate)
+        self.tb.add(self.tb_log)
+        
+        self.tb_commit_icon = gtk.Image()
+        self.tb_commit_icon.set_from_file(self.iconpath+"commit.png")
+        self.tb_commit = gtk.ToolButton(self.tb_commit_icon, _i18n("Commit"))
+        self.tb_commit.connect('clicked', self.signal.on_menuitem_branch_commit_activate)
+        self.tb.add(self.tb_commit)
+        
+        self.tb_pull_icon = gtk.Image()
+        self.tb_pull_icon.set_from_file(self.iconpath+"pull.png")
+        self.tb_pull = gtk.ToolButton(self.tb_pull_icon, _i18n("Pull"))
+        self.tb_pull.connect('clicked', self.signal.on_menuitem_branch_pull_activate)
+        self.tb.add(self.tb_pull)
+        
+        self.tb_push_icon = gtk.Image()
+        self.tb_push_icon.set_from_file(self.iconpath+"push.png")
+        self.tb_push = gtk.ToolButton(self.tb_push_icon, _i18n("Push"))
+        self.tb_push.connect('clicked', self.signal.on_menuitem_branch_push_activate)
+        self.tb.add(self.tb_push)
+        
+        self.tb_update_icon = gtk.Image()
+        self.tb_update_icon.set_from_file(self.iconpath+"pull.png")
+        self.tb_update = gtk.ToolButton(self.tb_update_icon, _i18n("Update"))
+        self.tb_update.connect('clicked', self.signal.on_menuitem_branch_update_activate)
+        self.tb.add(self.tb_update)
+    
+    def _create_locationbar(self):
+        """ Creates the location bar, including the history widgets """
+        self.locationbar = gtk.HBox()
+        
+        self.button_location_up = gtk.Button()
+        self.button_location_up.set_relief(gtk.RELIEF_NONE)
+        image_location_up = gtk.Image()
+        image_location_up.set_from_stock(gtk.STOCK_GO_UP, gtk.ICON_SIZE_BUTTON)
+        self.button_location_up.add(image_location_up)
+        self.button_location_up.connect("clicked", self.signal.on_button_location_up_clicked)
+        self.locationbar.pack_start(self.button_location_up, False, False, 0)
+        
+        self.entry_location = gtk.Entry()
+        self.entry_location.connect("key-press-event", self.signal.on_entry_location_key_press_event)
+        self.locationbar.pack_start(self.entry_location, True, True, 0)
+        
+        self.image_location_error = gtk.Image()
+        self.image_location_error.set_from_stock(gtk.STOCK_DIALOG_ERROR, gtk.ICON_SIZE_BUTTON)
+        self.locationbar.pack_start(self.image_location_error, False, False, 0)
+        
+        self.button_location_jump = gtk.Button(stock=gtk.STOCK_JUMP_TO)
+        self.button_location_jump.set_relief(gtk.RELIEF_NONE)
+        self.button_location_jump.connect("clicked", self.signal.on_button_location_jump_clicked)
+        self.locationbar.pack_start(self.button_location_jump, False, False, 0)
+        
+        self.locationbar.pack_start(gtk.VSeparator(), False, False, 0)
+        
+        self.checkbutton_history = gtk.CheckButton(_i18n("H_istory Mode"))
+        self.checkbutton_history.connect("toggled", self.signal.on_checkbutton_history_toggled)
+        self.locationbar.pack_start(self.checkbutton_history, False, False, 0)
+        
+        self.entry_history_revno = gtk.Entry()
+        self.entry_history_revno.set_property("width-request", 75)
+        self.entry_history_revno.set_sensitive(False)
+        self.entry_history_revno.connect("key-press-event", self.signal.on_entry_history_revno_key_press_event)
+        self.locationbar.pack_start(self.entry_history_revno, False, False, 0)
+        
+        self.button_history_browse = gtk.Button()
+        self.button_history_browse.set_sensitive(False)
+        self.image_history_browse = gtk.Image()
+        self.image_history_browse.set_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON)
+        self.button_history_browse.add(self.image_history_browse)
+        self.button_history_browse.connect("clicked", self.signal.on_button_history_browse_clicked)
+        self.locationbar.pack_start(self.button_history_browse, False, False, 0)
+    
+    def _create_bookmarklist(self):
+        """ Creates the bookmark list (a ListStore in a TreeView in a ScrolledWindow)"""
+        self.scrolledwindow_left = gtk.ScrolledWindow()
+        self.scrolledwindow_left.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+        
+        self.treeview_left = gtk.TreeView()
+        self.treeview_left.set_headers_visible(False)
+        self.treeview_left.connect("button-press-event", self.signal.on_treeview_left_button_press_event)
+        self.treeview_left.connect("button-release-event", self.signal.on_treeview_left_button_release_event)
+        self.treeview_left.connect("row-activated", self.signal.on_treeview_left_row_activated)
+        self.scrolledwindow_left.add(self.treeview_left)
+
+        # Move olive/__init__.py _load_left List creation here
+            
+    def _create_filelist(self):
+        """ Creates the file list (a ListStore in a TreeView in a ScrolledWindow)"""
+        # Model: [ icon, dir, name, status text, status, size (int), size (human), mtime (int), mtime (local), fileid ]
+        self.scrolledwindow_right = gtk.ScrolledWindow()
+        self.scrolledwindow_right.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+        
+        self.treeview_right = gtk.TreeView()
+        self.treeview_right.connect("button-press-event", self.signal.on_treeview_right_button_press_event)
+        self.treeview_right.connect("row-activated", self.signal.on_treeview_right_row_activated)
+        self.scrolledwindow_right.add(self.treeview_right)
+
+        # Move olive/__init__.py _load_right List creation here
+    
+    def set_view_to_localbranch(self, notbranch=False):
+        """ Change the sensitivity of gui items to reflect the fact that the path is a branch or not"""
+        self.mb_branch_initialize.set_sensitive(notbranch)
+        self.mb_branch_get.set_sensitive(notbranch)
+        self.mb_branch_checkout.set_sensitive(notbranch)
+        self.mb_branch_pull.set_sensitive(not notbranch)
+        self.mb_branch_push.set_sensitive(not notbranch)
+        self.mb_branch_update.set_sensitive(not notbranch)
+        self.mb_branch_revert.set_sensitive(not notbranch)
+        self.mb_branch_merge.set_sensitive(not notbranch)
+        self.mb_branch_commit.set_sensitive(not notbranch)
+        self.mb_branch_tags.set_sensitive(not notbranch)
+        self.mb_branch_status.set_sensitive(not notbranch)
+        self.mb_branch_missingrevisions.set_sensitive(not notbranch)
+        self.mb_branch_conflicts.set_sensitive(not notbranch)
+        self.mb_statistics.set_sensitive(not notbranch)
+        self.mb_statistics_differences.set_sensitive(not notbranch)
+        self.mb_file_add.set_sensitive(not notbranch)
+        self.mb_file_remove.set_sensitive(not notbranch)
+        self.mb_file_mkdir.set_sensitive(not notbranch)
+        self.mb_file_rename.set_sensitive(not notbranch)
+        self.mb_file_move.set_sensitive(not notbranch)
+        self.mb_file_annotate.set_sensitive(not notbranch)
+        self.tb_diff.set_sensitive(not notbranch)
+        self.tb_log.set_sensitive(not notbranch)
+        self.tb_commit.set_sensitive(not notbranch)
+        self.tb_pull.set_sensitive(not notbranch)
+        self.tb_push.set_sensitive(not notbranch)
+        self.tb_update.set_sensitive(not notbranch)
+    
+    def set_view_to_remotebranch(self):
+        """ Change the sensitivity of gui items to reflect the fact that the branch is remote"""
+        self.mb_file_add.set_sensitive(False)
+        self.mb_file_remove.set_sensitive(False)
+        self.mb_file_mkdir.set_sensitive(False)
+        self.mb_file_rename.set_sensitive(False)
+        self.mb_file_move.set_sensitive(False)
+        self.mb_file_annotate.set_sensitive(False)
+        self.mb_branch_initialize.set_sensitive(False)
+        self.mb_branch_get.set_sensitive(True)
+        self.mb_branch_checkout.set_sensitive(True)
+        self.mb_branch_pull.set_sensitive(False)
+        self.mb_branch_push.set_sensitive(False)
+        self.mb_branch_update.set_sensitive(False)
+        self.mb_branch_revert.set_sensitive(False)
+        self.mb_branch_merge.set_sensitive(False)
+        self.mb_branch_commit.set_sensitive(False)
+        self.mb_branch_tags.set_sensitive(True)
+        self.mb_branch_status.set_sensitive(False)
+        self.mb_branch_missingrevisions.set_sensitive(False)
+        self.mb_branch_conflicts.set_sensitive(False)
+        self.mb_statistics.set_sensitive(True)
+        self.mb_statistics_differences.set_sensitive(False)
+        self.tb_diff.set_sensitive(False)
+        self.tb_log.set_sensitive(True)
+        self.tb_commit.set_sensitive(False)
+        self.tb_pull.set_sensitive(False)
+        self.tb_push.set_sensitive(False)
+        self.tb_update.set_sensitive(False)

# Begin bundle
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

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.canonical.com/mailman/listinfo/bzr-gtk

Reply via email to