Rev 577: Disable the ability to click on tags that are not available in the current view. in file:///data/jelmer/bzr-gtk/trunk/

Jelmer Vernooij jelmer at samba.org
Sat Jul 26 20:23:28 BST 2008


At file:///data/jelmer/bzr-gtk/trunk/

------------------------------------------------------------
revno: 577
revision-id: jelmer at samba.org-20080726192311-48ar7kpsnz471xyi
parent: jelmer at samba.org-20080725213623-44iq5k34vc0v6z7y
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sat 2008-07-26 21:23:11 +0200
message:
  Disable the ability to click on tags that are not available in the current view.
modified:
  branchview/treeview.py         treeview.py-20071020204704-vk1erblrjhbcgw94-1
  viz/branchwin.py               branchwin.py-20051016222514-15fd120652fcf25c
=== modified file 'branchview/treeview.py'
--- a/branchview/treeview.py	2008-07-10 06:23:54 +0000
+++ b/branchview/treeview.py	2008-07-26 19:23:11 +0000
@@ -93,7 +93,9 @@
                               (gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT)),
         'tag-added': (gobject.SIGNAL_RUN_FIRST,
                               gobject.TYPE_NONE,
-                              (gobject.TYPE_STRING, gobject.TYPE_STRING))
+                              (gobject.TYPE_STRING, gobject.TYPE_STRING)),
+        'refreshed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
+                              ())
     }
 
     def __init__(self, branch, start, maxnum, compact=True):
@@ -124,6 +126,7 @@
         self.iter = None
         self.branch = branch
         self.revision = None
+        self.index = {}
 
         self.start = start
         self.maxnum = maxnum
@@ -179,6 +182,9 @@
         """Return revision id of currently selected revision, or None."""
         return self.get_property('revision')
 
+    def has_revision_id(self, revision_id):
+        return (revision_id in self.index)
+
     def set_revision(self, revision):
         self.set_property('revision', revision)
 
@@ -310,6 +316,7 @@
             else:
                 self.set_revision(revision)
 
+            self.emit('refreshed')
             return False
         finally:
             self.progress_bar.finished()

=== modified file 'viz/branchwin.py'
--- a/viz/branchwin.py	2008-07-25 13:32:06 +0000
+++ b/viz/branchwin.py	2008-07-26 19:23:11 +0000
@@ -230,7 +230,6 @@
         tag_image.set_from_file(icon_path("tag-16.png"))
         self.go_menu_tags = gtk.ImageMenuItem("_Tags")
         self.go_menu_tags.set_image(tag_image)
-        self._update_tags()
 
         go_menu.add(go_menu_next)
         go_menu.add(go_menu_prev)
@@ -294,6 +293,7 @@
         self.treeview.connect('revision-activated',
                 self._tree_revision_activated)
 
+        self.treeview.connect('refreshed', lambda w: self._update_tags())
         self.treeview.connect('tag-added', lambda w, t, r: self._update_tags())
 
         for col in ["revno", "date"]:
@@ -572,14 +572,14 @@
 
         if self.branch.supports_tags():
             tags = self.branch.tags.get_tag_dict().items()
-            tags.sort()
-            tags.reverse()
+            tags.sort(reverse=True)
             for tag, revid in tags:
                 tag_image = gtk.Image()
                 tag_image.set_from_file(icon_path('tag-16.png'))
                 tag_item = gtk.ImageMenuItem(tag.replace('_', '__'))
                 tag_item.set_image(tag_image)
                 tag_item.connect('activate', self._tag_selected_cb, revid)
+                tag_item.set_sensitive(self.treeview.has_revision_id(revid))
                 menu.add(tag_item)
             self.go_menu_tags.set_submenu(menu)
 




More information about the bazaar-commits mailing list