27
27
class RevisionPopupMenu(gtk.Menu):
28
def __init__(self, repository, revid, branch=None):
28
def __init__(self, repository, revids, branch=None):
29
29
super(RevisionPopupMenu, self).__init__()
30
30
self.branch = branch
31
31
self.repository = repository
33
33
self.create_items()
35
35
def create_items(self):
36
item = gtk.MenuItem("View _Diff")
37
item.connect('activate', self.show_diff)
40
item = gtk.MenuItem("_Push")
41
item.connect('activate', self.show_push)
36
if len(self.revids) == 1:
37
item = gtk.MenuItem("View _Diff")
38
item.connect('activate', self.show_diff)
42
item = gtk.MenuItem("_Push")
43
item.connect('activate', self.show_push)
45
47
def show_diff(self, item):
46
48
from bzrlib.plugins.gtk.diff import DiffWindow
47
49
window = DiffWindow()
48
parentid = self.repository.revision_parents(self.revid)[0]
49
(parent_tree, rev_tree) = self.repository.revision_trees([parentid,
51
window.set_diff(self.revid, rev_tree, parent_tree)
50
parentid = self.repository.revision_parents(self.revids[0])[0]
51
(parent_tree, rev_tree) = self.repository.revision_trees(
52
[parentid, self.revids[0]])
53
window.set_diff(self.revids[0], rev_tree, parent_tree)
54
56
def show_push(self, item):
55
57
from bzrlib.plugins.gtk.push import PushDialog
56
dialog = PushDialog(self.repository, self.revid, self.branch)
58
dialog = PushDialog(self.repository, self.revids[0], self.branch)