This reconciles some context menu and main menu code related to revisions. Cheers,
Jelmer
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: lp:bzr-gtk
# testament_sha1: c6eb8beea8bcb6c3fee4667b2016dd99b7d3a858
# timestamp: 2008-06-30 22:19:56 +0200
# base_revision_id: [EMAIL PROTECTED]
#
# Begin patch
=== modified file 'branchview/linegraph.py'
--- branchview/linegraph.py 2008-06-29 18:12:29 +0000
+++ branchview/linegraph.py 2008-06-30 12:39:07 +0000
@@ -47,7 +47,7 @@
def update_root_progress(step_number):
"""IFF our container received a root progress bar, then update it."""
if root_progress is not None:
- root_progress.update(current_cnt=step_number)
+ root_progress.update(None, current_cnt=step_number)
graph_parents = {}
ghosts = set()
=== modified file 'branchview/treeview.py'
--- branchview/treeview.py 2008-06-29 18:12:29 +0000
+++ branchview/treeview.py 2008-06-30 20:11:24 +0000
@@ -405,9 +405,9 @@
self.emit('revision-selected')
def _on_revision_selected(self, widget, event):
- from bzrlib.plugins.gtk.revisionmenu import RevisionPopupMenu
+ from bzrlib.plugins.gtk.revisionmenu import RevisionMenu
if event.button == 3:
- menu = RevisionPopupMenu(self.branch.repository,
+ menu = RevisionMenu(self.branch.repository,
[self.get_revision().revision_id],
self.branch)
menu.connect('tag-added', lambda w, t, r: self.add_tag(t, r))
=== modified file 'revisionmenu.py'
--- revisionmenu.py 2008-06-29 22:46:38 +0000
+++ revisionmenu.py 2008-06-30 20:19:24 +0000
@@ -27,7 +27,7 @@
from bzrlib import (errors, ui)
from bzrlib.revision import NULL_REVISION
-class RevisionPopupMenu(gtk.Menu):
+class RevisionMenu(gtk.Menu):
__gsignals__ = {
'tag-added': (
@@ -37,11 +37,18 @@
)
}
- def __init__(self, repository, revids, branch=None, wt=None):
- super(RevisionPopupMenu, self).__init__()
+ def __init__(self, repository, revids, branch=None, wt=None, parent=None):
+ super(RevisionMenu, self).__init__()
+ self._parent = parent
self.branch = branch
self.repository = repository
self.wt = wt
+ self.set_revision_ids(revids)
+
+ def set_revision_ids(self, revids):
+ assert isinstance(revids, list)
+ for c in self.get_children():
+ self.remove(c)
self.revids = revids
self.create_items()
@@ -80,7 +87,7 @@
def show_diff(self, item):
from bzrlib.plugins.gtk.diff import DiffWindow
- window = DiffWindow(parent=self.parent)
+ window = DiffWindow(parent=self._parent)
parentids = self.repository.get_revision(self.revids[0]).parent_ids
if len(parentids) == 0:
parentid = NULL_REVISION
=== modified file 'viz/branchwin.py'
--- viz/branchwin.py 2008-06-29 19:34:29 +0000
+++ viz/branchwin.py 2008-06-30 20:19:24 +0000
@@ -13,11 +13,12 @@
import gobject
import pango
-from bzrlib.plugins.gtk.window import Window
from bzrlib.plugins.gtk import icon_path
+from bzrlib.plugins.gtk.branchview import TreeView, treemodel
from bzrlib.plugins.gtk.tags import AddTagDialog
from bzrlib.plugins.gtk.preferences import PreferencesWindow
-from bzrlib.plugins.gtk.branchview import TreeView, treemodel
+from bzrlib.plugins.gtk.revisionmenu import RevisionMenu
+from bzrlib.plugins.gtk.window import Window
from bzrlib.config import BranchConfig, GlobalConfig
from bzrlib.revision import Revision, NULL_REVISION
@@ -203,24 +204,9 @@
go_menu.add(gtk.SeparatorMenuItem())
go_menu.add(self.go_menu_tags)
- revision_menu = gtk.Menu()
+ self.revision_menu = RevisionMenu(self.branch.repository, [], self.branch, parent=self)
revision_menuitem = gtk.MenuItem("_Revision")
- revision_menuitem.set_submenu(revision_menu)
-
- revision_menu_diff = gtk.MenuItem("View Changes")
- revision_menu_diff.connect('activate',
- self._menu_diff_cb)
-
- revision_menu_compare = gtk.MenuItem("Compare with...")
- revision_menu_compare.connect('activate',
- self._compare_with_cb)
-
- revision_menu_tag = gtk.MenuItem("Tag Revision")
- revision_menu_tag.connect('activate', self._tag_revision_cb)
-
- revision_menu.add(revision_menu_tag)
- revision_menu.add(revision_menu_diff)
- revision_menu.add(revision_menu_compare)
+ revision_menuitem.set_submenu(self.revision_menu)
branch_menu = gtk.Menu()
branch_menuitem = gtk.MenuItem("_Branch")
@@ -329,6 +315,8 @@
parents = self.treeview.get_parents()
children = self.treeview.get_children()
+ self.revision_menu.set_revision_ids([revision.revision_id])
+
if revision and revision != NULL_REVISION:
prev_menu = gtk.Menu()
if len(parents) > 0:
@@ -388,19 +376,6 @@
self.show_diff(revision.revision_id, parent_id)
self.treeview.grab_focus()
- def _menu_diff_cb(self,w):
- (path, focus) = self.treeview.treeview.get_cursor()
- revid = self.treeview.model[path][treemodel.REVID]
-
- parentids = self.branch.repository.revision_parents(revid)
-
- if len(parentids) == 0:
- parentid = NULL_REVISION
- else:
- parentid = parentids[0]
-
- self.show_diff(revid,parentid)
-
def _back_clicked_cb(self, *args):
"""Callback for when the back button is clicked."""
self.treeview.back()
@@ -419,22 +394,6 @@
self.show_diff(revid, parentid)
self.treeview.grab_focus()
- def _compare_with_cb(self,w):
- """Callback for revision 'compare with' menu. Will show a small
- dialog with branch revisions to compare with selected revision in TreeView"""
-
- from bzrlib.plugins.gtk.revbrowser import RevisionBrowser
-
- rb = RevisionBrowser(self.branch,self)
- ret = rb.run()
-
- if ret == gtk.RESPONSE_OK:
- (path, focus) = self.treeview.treeview.get_cursor()
- revid = self.treeview.model[path][treemodel.REVID]
- self.show_diff(revid, rb.selected_revid)
-
- rb.destroy()
-
def _set_revision_cb(self, w, revision_id):
self.treeview.set_revision_id(revision_id)
@@ -450,22 +409,6 @@
self.treeview.set_property('compact', self.compact_view)
self.treeview.refresh()
- def _tag_revision_cb(self, w):
- try:
- self.treeview.set_sensitive(False)
- dialog = AddTagDialog(self.branch.repository, self.treeview.get_revision().revision_id, self.branch)
- response = dialog.run()
- if response != gtk.RESPONSE_NONE:
- dialog.hide()
-
- if response == gtk.RESPONSE_OK:
- self.treeview.add_tag(dialog.tagname, dialog._revid)
-
- dialog.destroy()
-
- finally:
- self.treeview.set_sensitive(True)
-
def _branch_index_cb(self, w):
from bzrlib.plugins.search import index as _mod_index
_mod_index.index_url(self.branch.base)
# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWbHC8sMABfXfgERSUWf//1cT
XYq////wYAnPdee3vfPvYAAAhVQERCqAVQGiFNGRoekGmhtQAAAANAaARqp5JptTQ0GjQZMgDE00
DQ0aaZBoGkE9IJoDTQBkAAAAAAA09SEakBjSHqaNBo9QYgADQ0NBhEogTQASeTRqbUTMnqnhTSeo
fqhpp6T1HqeoFUgmhMRoAgFMJjVPTJpA0AANJBETYfWsPJTRrguXuUEitNONUbqAs+86HchIHRBr
Y0p2Z4GzZQK6kKARC1jZddOeEz2XN6l8QxgDQpBOIAKMglk1i3mgyMJaUyF194jYszY6Rk/OIirQ
VxV/y5dPaB1JqSDIshISASH16gSqN23XBtJi3ehBldABTJxtSJSUKnkFLqJAQRGlN0pkhJ3dlGmc
FReohAptcN+4tWwWd1ZljnYv+6mQ85EnVvgySAVSfEKAclimaphZCRkKoCYJW0oRxQYGTWQkDCph
ZYAVN/t30OXxN7a67Ox1MJxlbc00G3CDHhoG4kKdcN4AElQhKAlAgBm9FeLy/PgYhjTFLYlovCYV
Z4IhBIM3W26QSpCPRhZvPnJu2AESggRBwD9JGDkQeEWIcJ/Fh8m+KnpBe3+M1OVfH59ITlU+6Ig/
4Zb/LFRNMovqrOMF0/ljXsPb7cOvhObp3deDM0ZFlU0yBtkVaECBAk4q7HkM1ESspODL3WRFeJkB
4heFgF5YCVKmSp3tlWSS8wwUuiuJBR2bJ4QXIxMLl9UQTTSW7kxdNVizTZJm9rJ5PGPA3Y++OMIj
dJu4ya3QrRY4NqvrdxRFHJIq9YrHJKDIiy5sjnwlm46TnGC5+Y0b64t7YKtCUWJRsNWuajetjsNr
YcL7NzdlVeubvwwU2vhpXTs2imLPyIw4izku+0pVc17k4Nesl0t+raUtF8CNBGityUbtVEVVolXY
0Yr1M04LlomRMSVk4rqqurBcvcdl7mwLsptbGaecyNHXN1UTGaZg2pLOCQ4jp9FjPHXdykmyBZx1
drqSuYYLEbmDhNfOad8uUsoJavOCjJxZTcVCLRtutGd6ihDa10ziLmxITRJZPHunKXVPu2XnVhe3
XN9olziF0T1N44uzmxVexmWN7XW9zb2Ke3lvc5TlXFFzOsScdhiyquKyYsmzhNRJZzaJMlyrJRns
mswWVUSeNzNZVt27nQShlI1tPDNzrSKUKFNU0b6HJcmCtaTxpVo2x2vz43OUG1ySbWxJ59unDtvv
cGO7thXSdoLokita0NXDmvv6xsW1Z4K8b9yyVdIRj1wbXJJrelvZKpOvjGpFV90cV8tdZzpW6qIK
Zti9ZaynDfjajaqxYpuFnDa92OndF0UiFptG5uYtG1VVRVVkRac07Suy2aVjGmUr7qSjS5fBa65h
LbKiHN2MaRV5sG+jZxxL0dZuMDccOGw63gD8X4h7AzQN7jFIBgpXKBrBt6Lr6p+g+9gJ82DYH3eL
oIQwGUYfBo8ySsfCMIQhVhIWnOPB9QO96NW9oODGjVxVCmdYJAn+NFdNzgaY64fP9IUthCsk5GyX
pKvD/v5OLK0zBsglE5lyhEzOxbVjr3U2xhF6dnyVD4nQssvAMxccTkeQVKvR8m69zaex2ZRte+a5
ZJNc54Palm2OD5Pe6n3g+PnrsVDZIB1hcjyjsevWI2dPXMvBDf5eo1OjNzc3g70KMoiC42O5veba
yX+Cb7coK81Hs+MSdZTj9UvwH6Ljn8wTnx9f3uqnwfe7JpujuWe93pKr1Hcxa9yzdeye33ut69ks
3L4jz9Zo0pHOukPK1cnokwbWbg8W93/jvd56G2DJ1bohKkdnJBRkvweLovWav4P16R8CNg0J6RHx
gt7qwlyzu29MS+Hi1X+mTm9KPvHizj539ZTtPfNyaOhteT5w4RgNiPS45xInyhUjMqaDw9hoNxSm
/cQO2M03g0/NX/T3qhrz4H2gnWhuogfw0GMIxC6rR7uGbhc2qhqNH3ZgDzHEuQ4Wh1hYGpiuoCAt
69wZhcjdDywiI+CzzSea7zeDm8XR0FnEjBZRk2MHsfim0SfcxsTSWTNqoso4wfnD4Q9Ye37TFJye
sd8RBujh7D9HJB9txH1OI8ft9fm/uflkDT2D3sPT3A/QqfIA+/mcOANu+DtOtUg9NHyCe1+iJgFo
zyifbWBvf171c2A/knOfs8AfxQmvZqPIOvl4Nri2KD/Om5QcnsPhc/NvP+32Jf4vQ/h5h4Q+RQJQ
hRIUYUCHM3oe4OKdAdHUcY7x9B9fAj6Ib8eP7XOIfXCN0iOgamCuwN3ZzO1vuETSejpfMO8LfgfV
y51zKhmyUZSFP99L3ctSlETXoQ8o98b0e6NY1aR9wuN4aWlzC6NAE4V0AYK2gFqw/Jhe1A4obWxM
B4wLYhWAprohzQ8NxzJCSSSQ9+3LZZIUMWBlciifcP6NAK3tov/spzB+ioUXuSoMcpn8wju27zcQ
8Y8nk8lMyHEMmIEzA9jqCwNOhuzaM7nGOOVDFXtO0/rlbjRQOEESoPNHo1LX8bQ0ub2Wj1wEqbMh
voTa/X0bE6mIX5WPre0OhcQ2Khm14d57gtWx2dh7Q8MKg8rwvWQb2gPYb1r7gra1GMoP4iIOX+pd
nSlKJba0k9t/RaVBqPMhG6JwziHqh+xv1AS+jr1Yg5P7OmtuE7k89deYdjcNfzjoNEzhOMUJYl6F
ItThF/JDZGOaKIzhmYEXxkYPBC7l7ZZ9mLjFL2g0QfL1xx0BbzZotcHn21PL0M5t5OKHAOkDUwUd
viZ0P1MhbCCai95avED/YPHSGr0XEXqeTpSjBI7UKtHEvxe6gwDBsD/4u5IpwoSFjheWGA==
signature.asc
Description: Digital signature
-- bzr-gtk mailing list [email protected] Modify settings or unsubscribe at: https://lists.canonical.com/mailman/listinfo/bzr-gtk
