/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to commands.py

  • Committer: Jelmer Vernooij
  • Date: 2011-03-23 09:49:44 UTC
  • mfrom: (723.1.1 isearch)
  • Revision ID: jelmer@samba.org-20110323094944-7n5h1vif3xpbze3p
Merge support for interactive substring search in bzr viz and annotate.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
from bzrlib.option import Option
33
33
 
34
34
from bzrlib.plugins.gtk import (
 
35
    _i18n,
 
36
    import_pygtk,
35
37
    set_ui_factory,
36
38
    )
37
 
from bzrlib.plugins.gtk.i18n import _i18n
38
39
 
39
40
 
40
41
class NoDisplayError(errors.BzrCommandError):
45
46
 
46
47
 
47
48
def open_display():
 
49
    pygtk = import_pygtk()
48
50
    try:
49
 
        from gi.repository import Gtk
 
51
        import gtk
50
52
    except RuntimeError, e:
51
53
        if str(e) == "could not open display":
52
54
            raise NoDisplayError
53
55
    set_ui_factory()
54
 
    return Gtk
 
56
    return gtk
55
57
 
56
58
 
57
59
 
148
150
                tree2 = tree1.basis_tree()
149
151
 
150
152
            from diff import DiffWindow
151
 
            from gi.repository import Gtk
 
153
            import gtk
152
154
            window = DiffWindow()
153
 
            window.connect("destroy", Gtk.main_quit)
 
155
            window.connect("destroy", gtk.main_quit)
154
156
            window.set_diff("Working Tree", tree1, tree2)
155
157
            if filename is not None:
156
158
                tree_filename = wt.relpath(filename)
164
166
                                          filename)
165
167
            window.show()
166
168
 
167
 
            Gtk.main()
 
169
            gtk.main()
168
170
        finally:
169
171
            wt.unlock()
170
172
 
207
209
                revids.append(br.last_revision())
208
210
            else:
209
211
                revids.append(revision[0].as_revision_id(br))
210
 
        from gi.repository import Gtk
 
212
        import gtk
211
213
        pp = start_viz_window(br, revids, limit)
212
 
        pp.connect("destroy", lambda w: Gtk.main_quit())
 
214
        pp.connect("destroy", lambda w: gtk.main_quit())
213
215
        pp.show()
214
 
        Gtk.main()
 
216
        gtk.main()
215
217
 
216
218
 
217
219
class cmd_gannotate(GTKCommand):
234
236
    aliases = ["gblame", "gpraise"]
235
237
    
236
238
    def run(self, filename, all=False, plain=False, line='1', revision=None):
237
 
        Gtk = open_display()
 
239
        gtk = open_display()
238
240
 
239
241
        try:
240
242
            line = int(line)
265
267
            revision_id = getattr(tree, 'get_revision_id', lambda: None)()
266
268
 
267
269
        window = GAnnotateWindow(all, plain, branch=br)
268
 
        window.connect("destroy", lambda w: Gtk.main_quit())
 
270
        window.connect("destroy", lambda w: gtk.main_quit())
269
271
        config = GAnnotateConfig(window)
270
272
        window.show()
271
273
        br.lock_read()
274
276
        try:
275
277
            window.annotate(tree, br, file_id)
276
278
            window.jump_to_line(line)
277
 
            Gtk.main()
 
279
            gtk.main()
278
280
        finally:
279
281
            br.unlock()
280
282
            if wt is not None:
329
331
    takes_options = ['revision']
330
332
 
331
333
    def run(self, path='.', revision=None):
332
 
        Gtk = open_display()
 
334
        gtk = open_display()
333
335
        from bzrlib.plugins.gtk.status import StatusWindow
334
336
        (wt, wt_path) = workingtree.WorkingTree.open_containing(path)
335
337
 
344
346
            revision_id = None
345
347
 
346
348
        status = StatusWindow(wt, wt_path, revision_id)
347
 
        status.connect("destroy", Gtk.main_quit)
 
349
        status.connect("destroy", gtk.main_quit)
348
350
        status.show()
349
 
        Gtk.main()
 
351
        gtk.main()
350
352
 
351
353
 
352
354
class cmd_gsend(GTKCommand):
355
357
    """
356
358
    def run(self):
357
359
        (br, path) = branch.Branch.open_containing(".")
358
 
        Gtk = open_display()
 
360
        gtk = open_display()
359
361
        from bzrlib.plugins.gtk.mergedirective import SendMergeDirectiveDialog
360
362
        from StringIO import StringIO
361
363
        dialog = SendMergeDirectiveDialog(br)
362
 
        if dialog.run() == Gtk.ResponseType.OK:
 
364
        if dialog.run() == gtk.RESPONSE_OK:
363
365
            outf = StringIO()
364
366
            outf.writelines(dialog.get_merge_directive().to_lines())
365
367
            mail_client = br.get_config().get_mail_client()
422
424
    """
423
425
    takes_args = ["other_branch?"]
424
426
    def run(self, other_branch=None):
 
427
        pygtk = import_pygtk()
425
428
        try:
426
 
            from gi.repository import Gtk
 
429
            import gtk
427
430
        except RuntimeError, e:
428
431
            if str(e) == "could not open display":
429
432
                raise NoDisplayError
473
476
    def run(self):
474
477
        br = branch.Branch.open_containing('.')[0]
475
478
        
476
 
        Gtk = open_display()
 
479
        gtk = open_display()
477
480
        from tags import TagsWindow
478
481
        window = TagsWindow(br)
479
482
        window.show()
480
 
        Gtk.main()
 
483
        gtk.main()