Rev 210: Add inspect window to bzr commity-notify. in http://people.ubuntu.com/~robertc/baz2.0/plugins/gtk/trunk
Robert Collins
robertc at robertcollins.net
Thu Jul 5 06:01:54 BST 2007
At http://people.ubuntu.com/~robertc/baz2.0/plugins/gtk/trunk
------------------------------------------------------------
revno: 210
revision-id: robertc at robertcollins.net-20070705050153-o5j4t7fkxe66fbht
parent: robertc at robertcollins.net-20070705042700-cw2buapcxrctkeya
committer: Robert Collins <robertc at robertcollins.net>
branch nick: trunk
timestamp: Thu 2007-07-05 15:01:53 +1000
message:
Add inspect window to bzr commity-notify.
modified:
__init__.py __init__.py-20060519165329-a1fd52c8a829fcd5
=== modified file '__init__.py'
--- a/__init__.py 2007-07-05 04:27:00 +0000
+++ b/__init__.py 2007-07-05 05:01:53 +0000
@@ -211,6 +211,20 @@
wt.unlock()
+def start_viz_window(branch, revision, limit=None):
+ """Start viz on branch with revision revision.
+
+ :return: The viz window object.
+ """
+ from viz.branchwin import BranchWindow
+ branch.lock_read()
+ pp = BranchWindow()
+ pp.set_branch(branch, revision, limit)
+ # cleanup locks when the window is closed
+ pp.connect("destroy", lambda w: branch.unlock())
+ return pp
+
+
class cmd_visualise(Command):
"""Graphically visualise this branch.
@@ -231,7 +245,6 @@
set_ui_factory()
(br, path) = branch.Branch.open_containing(location)
br.lock_read()
- br.repository.lock_read()
try:
if revision is None:
revid = br.last_revision()
@@ -240,16 +253,12 @@
else:
(revno, revid) = revision[0].in_history(br)
- from viz.branchwin import BranchWindow
import gtk
-
- pp = BranchWindow()
- pp.set_branch(br, revid, limit)
+ pp = start_viz_window(br, revid, limit)
pp.connect("destroy", lambda w: gtk.main_quit())
pp.show()
gtk.main()
finally:
- br.repository.unlock()
br.unlock()
@@ -515,6 +524,11 @@
body += revision.message
body = cgi.escape(body)
nw = pynotify.Notification(summary, body)
+ def start_viz(notification=None, action=None, data=None):
+ """Start the viz program."""
+ pp = start_viz_window(branch, revision_id)
+ pp.show()
+ nw.add_action("clicked", "Inspect", start_viz, None)
nw.set_timeout(5000)
nw.show()
except Exception, e:
More information about the bazaar-commits
mailing list