Since my patches got merged this one needed small adjustments.

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: 80726a757cad85befa5305c761472ce7b1746b29
# timestamp: 2008-07-20 23:58: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-20 16:29:18 +0000
+++ olive/__init__.py	2008-07-20 21:58:24 +0000
@@ -718,34 +718,34 @@
             self.refresh_right()
             
     def on_treeview_left_button_press_event(self, widget, event):
-        """ Occurs when somebody right-clicks in the bookmark list. """
-        if event.button == 3:
-            # Don't show context with nothing selected
-            if self.get_selected_left() == None:
-                return
-
-            # Create a menu
-            from menu import OliveMenu
-            menu = OliveMenu(path=self.get_path(),
-                             selected=self.get_selected_left(),
-                             app=self)
-            
-            menu.left_context_menu().popup(None, None, None, 0,
-                                           event.time)
-
-    def on_treeview_left_button_release_event(self, widget, event):
-        """ Occurs when somebody just clicks a bookmark. """
-        if event.button != 3:
-            # Allow one-click bookmark opening
-            if self.get_selected_left() == None:
-                return
-            
-            newdir = self.get_selected_left()
-            if newdir == None:
-                return
-
-            if self.set_path(newdir):
-                self.refresh_right()
+        """ Occurs when somebody clicks in the bookmark list. """
+        treepathpos = widget.get_path_at_pos(int(event.x), int(event.y))
+        treeselection = widget.get_selection()
+        if treepathpos is not None:
+            treeselection.select_path(treepathpos[0])
+            if event.button == 1:
+                newdir = self.get_selected_left()
+                if newdir == None:
+                    return
+
+                if self.set_path(newdir):
+                    self.refresh_right()
+            elif event.button == 3:
+                # Don't show context with nothing selected
+                if self.get_selected_left() == None:
+                    return
+
+                # Create a menu
+                from menu import OliveMenu
+                menu = OliveMenu(path=self.get_path(),
+                                 selected=self.get_selected_left(),
+                                 app=self)
+                
+                menu.left_context_menu().popup(None, None, None, 0,
+                                               event.time)
+        else:
+            if treeselection is not None:
+                treeselection.unselect_all()
 
     def on_treeview_left_row_activated(self, treeview, path, view_column):
         """ Occurs when somebody double-clicks or enters an item in the
@@ -759,8 +759,19 @@
             self.refresh_right()
 
     def on_treeview_right_button_press_event(self, widget, event):
-        """ Occurs when somebody right-clicks in the file list. """
-        if event.button == 3:
+        """ Occurs when somebody clicks in the file list. """
+        treepathpos = widget.get_path_at_pos(int(event.x), int(event.y))
+        if event.button == 1:
+            if treepathpos is None and widget.get_selection is not None:
+                treeselection = widget.get_selection()
+                treeselection.unselect_all()
+        elif event.button == 3:
+            treeselection = widget.get_selection()
+            if treepathpos is not None:
+                treeselection.select_path(treepathpos[0])
+            else:
+                if treeselection is not None:
+                    treeselection.unselect_all()
             # Create a menu
             from menu import OliveMenu
             menu = OliveMenu(path=self.get_path(),
@@ -770,6 +781,7 @@
             m_open = menu.ui.get_widget('/context_right/open')
             m_add = menu.ui.get_widget('/context_right/add')
             m_remove = menu.ui.get_widget('/context_right/remove')
+            m_remove_and_delete = menu.ui.get_widget('/context_right/remove_and_delete')
             m_rename = menu.ui.get_widget('/context_right/rename')
             m_revert = menu.ui.get_widget('/context_right/revert')
             m_commit = menu.ui.get_widget('/context_right/commit')
@@ -783,24 +795,40 @@
                     m_open.set_sensitive(False)
                     m_add.set_sensitive(False)
                     m_remove.set_sensitive(False)
+                    m_remove_and_delete.set_sensitive(False)
                     m_rename.set_sensitive(False)
                     m_revert.set_sensitive(False)
                     m_commit.set_sensitive(False)
                     m_annotate.set_sensitive(False)
                     m_diff.set_sensitive(False)
                 else:
+                    if treepathpos is None:
+                        m_open.set_sensitive(False)
+                        m_add.set_sensitive(False)
+                        m_remove.set_sensitive(False)
+                        m_remove_and_delete.set_sensitive(False)
+                        m_rename.set_sensitive(False)
+                        m_annotate.set_sensitive(False)
+                        m_diff.set_sensitive(False)
+                        m_revert.set_sensitive(False)
+                    else:
+                        m_open.set_sensitive(True)
+                        m_add.set_sensitive(True)
+                        m_remove.set_sensitive(True)
+                        m_remove_and_delete.set_sensitive(True)
+                        m_rename.set_sensitive(True)
+                        m_annotate.set_sensitive(True)
+                        m_diff.set_sensitive(True)
+                        m_revert.set_sensitive(True)
+                    m_commit.set_sensitive(True)
+            except bzrerrors.NotBranchError:
+                if treepathpos is None:
+                    m_open.set_sensitive(False)
+                else:
                     m_open.set_sensitive(True)
-                    m_add.set_sensitive(True)
-                    m_remove.set_sensitive(True)
-                    m_rename.set_sensitive(True)
-                    m_revert.set_sensitive(True)
-                    m_commit.set_sensitive(True)
-                    m_annotate.set_sensitive(True)
-                    m_diff.set_sensitive(True)
-            except bzrerrors.NotBranchError:
-                m_open.set_sensitive(True)
                 m_add.set_sensitive(False)
                 m_remove.set_sensitive(False)
+                m_remove_and_delete.set_sensitive(False)
                 m_rename.set_sensitive(False)
                 m_revert.set_sensitive(False)
                 m_commit.set_sensitive(False)

=== modified file 'olive/window.py'
--- olive/window.py	2008-07-20 16:02:18 +0000
+++ olive/window.py	2008-07-20 21:58:24 +0000
@@ -375,7 +375,6 @@
         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)
 

# Begin bundle
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
kU4UJACe4/+A

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