109
109
return os.path.dirname(__file__)
112
def icon_path(*args):
113
return os.path.join(data_path(), *args)
112
116
class GTKCommand(Command):
113
117
"""Abstract class providing GTK specific run commands."""
218
def start_viz_window(branch, revision, limit=None):
222
def start_viz_window(branch, revisions, limit=None):
219
223
"""Start viz on branch with revision revision.
221
225
:return: The viz window object.
223
227
from viz import BranchWindow
224
return BranchWindow(branch, revision, limit)
228
return BranchWindow(branch, revisions, limit)
227
231
class cmd_visualise(Command):
238
242
Option('limit', "Maximum number of revisions to display.",
240
takes_args = [ "location?" ]
244
takes_args = [ "locations*" ]
241
245
aliases = [ "visualize", "vis", "viz" ]
243
def run(self, location=".", revision=None, limit=None):
247
def run(self, locations_list, revision=None, limit=None):
245
(br, path) = branch.Branch.open_containing(location)
247
revid = br.last_revision()
251
(revno, revid) = revision[0].in_history(br)
249
if locations_list is None:
250
locations_list = ["."]
252
for location in locations_list:
253
(br, path) = branch.Branch.open_containing(location)
255
revids.append(br.last_revision())
257
(revno, revid) = revision[0].in_history(br)
254
pp = start_viz_window(br, revid, limit)
260
pp = start_viz_window(br, revids, limit)
255
261
pp.connect("destroy", lambda w: gtk.main_quit())
514
520
from notify import NotifyPopupMenu
515
521
gtk = self.open_display()
516
522
menu = NotifyPopupMenu()
517
icon = gtk.status_icon_new_from_file(os.path.join(data_path(), "bzr-icon-64.png"))
523
icon = gtk.status_icon_new_from_file(icon_path("bzr-icon-64.png"))
518
524
icon.connect('popup-menu', menu.display)