[Pkg-bazaar-commits] ./bzr-gtk/unstable r230: Initial work towards supporting multiple revisions.

Jelmer Vernooij jelmer at samba.org
Fri Apr 10 07:49:46 UTC 2009


------------------------------------------------------------
revno: 230
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sun 2007-07-15 18:39:21 +0200
message:
  Initial work towards supporting multiple revisions.
modified:
  revisionmenu.py
  viz/branchwin.py
-------------- next part --------------
=== modified file 'revisionmenu.py'
--- a/revisionmenu.py	2007-07-15 16:23:45 +0000
+++ b/revisionmenu.py	2007-07-15 16:39:21 +0000
@@ -25,33 +25,35 @@
 import gtk
 
 class RevisionPopupMenu(gtk.Menu):
-    def __init__(self, repository, revid, branch=None):
+    def __init__(self, repository, revids, branch=None):
         super(RevisionPopupMenu, self).__init__()
         self.branch = branch
         self.repository = repository
-        self.revid = revid
+        self.revids = revids
         self.create_items()
 
     def create_items(self):
-        item = gtk.MenuItem("View _Diff")
-        item.connect('activate', self.show_diff)
-        self.append(item)
-        self.show_all()
-        item = gtk.MenuItem("_Push")
-        item.connect('activate', self.show_push)
-        self.append(item)
-        self.show_all()
+        if len(self.revids) == 1:
+            item = gtk.MenuItem("View _Diff")
+            item.connect('activate', self.show_diff)
+            self.append(item)
+            self.show_all()
+
+            item = gtk.MenuItem("_Push")
+            item.connect('activate', self.show_push)
+            self.append(item)
+            self.show_all()
 
     def show_diff(self, item):
         from bzrlib.plugins.gtk.diff import DiffWindow
         window = DiffWindow()
-        parentid = self.repository.revision_parents(self.revid)[0]
-        (parent_tree, rev_tree) = self.repository.revision_trees([parentid, 
-                                                                   self.revid])
-        window.set_diff(self.revid, rev_tree, parent_tree)
+        parentid = self.repository.revision_parents(self.revids[0])[0]
+        (parent_tree, rev_tree) = self.repository.revision_trees(
+            [parentid, self.revids[0]])
+        window.set_diff(self.revids[0], rev_tree, parent_tree)
         window.show()
 
     def show_push(self, item):
         from bzrlib.plugins.gtk.push import PushDialog
-        dialog = PushDialog(self.repository, self.revid, self.branch)
+        dialog = PushDialog(self.repository, self.revids[0], self.branch)
         dialog.run()

=== modified file 'viz/branchwin.py'
--- a/viz/branchwin.py	2007-07-15 16:34:36 +0000
+++ b/viz/branchwin.py	2007-07-15 16:39:21 +0000
@@ -262,10 +262,9 @@
     def _treeview_row_mouseclick(self, widget, event):
         from bzrlib.plugins.gtk.revisionmenu import RevisionPopupMenu
         if event.button == 3:
-            # FIXME: Support multiple revisions
             menu = RevisionPopupMenu(self.branch.repository, 
-                                     self.selected_revisions()[0].revision_id, 
-                                     self.branch)
+                [x.revision_id for x in self.selected_revisions()],
+                self.branch)
             menu.popup(None, None, None, event.button, event.get_time())
 
     def selected_revision(self, path):



More information about the Pkg-bazaar-commits mailing list