Rev 230: Initial work towards supporting multiple revisions. in file:///data/jelmer/bzr-gtk/trunk/
Jelmer Vernooij
jelmer at samba.org
Sun Jul 15 21:53:02 BST 2007
At file:///data/jelmer/bzr-gtk/trunk/
------------------------------------------------------------
revno: 230
revision-id: jelmer at samba.org-20070715163921-ydeemssii7wxy06i
parent: jelmer at samba.org-20070715163436-jf29c2xypm2xywh7
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 revisionmenu.py-20070715160146-pd4ew0wtlevga2mx-1
viz/branchwin.py branchwin.py-20051016222514-15fd120652fcf25c
=== 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 bazaar-commits
mailing list