/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 revisionview.py

  • Committer: Jelmer Vernooij
  • Date: 2008-06-28 16:59:50 UTC
  • mto: This revision was merged to the branch mainline in revision 516.
  • Revision ID: jelmer@samba.org-20080628165950-18kv7bdykgf1f1jf
Fix import in olive.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
import gtk
21
21
import pango
22
22
import gobject
23
 
import subprocess
 
23
import webbrowser
24
24
 
25
25
from bzrlib.plugins.gtk import icon_path
26
26
from bzrlib.osutils import format_date
33
33
else:
34
34
    has_seahorse = True
35
35
 
 
36
PAGE_GENERAL = 0
 
37
PAGE_RELATIONS = 1
 
38
PAGE_SIGNATURE = 2
 
39
PAGE_BUGS = 3
 
40
 
 
41
 
36
42
def _open_link(widget, uri):
37
 
    subprocess.Popen(['sensible-browser', uri], close_fds=True)
 
43
    for cmd in ['sensible-browser', 'xdg-open']:
 
44
        if webbrowser._iscommand(cmd):
 
45
            webbrowser._tryorder.insert(0, '%s "%%s"' % cmd)
 
46
    webbrowser.open(uri)
38
47
 
39
48
gtk.link_button_set_uri_hook(_open_link)
40
49
 
300
309
        )
301
310
    }
302
311
 
303
 
 
304
 
    def __init__(self, branch=None):
 
312
    def __init__(self, branch=None, repository=None):
305
313
        gtk.Notebook.__init__(self)
306
314
 
307
315
        self._revision = None
308
316
        self._branch = branch
 
317
        if branch is not None:
 
318
            self._repository = branch.repository
 
319
        else:
 
320
            self._repository = repository
309
321
 
310
322
        self._create_general()
311
323
        self._create_relations()
312
 
        if has_seahorse:
313
 
            self._create_signature()
 
324
        # Disabled because testaments aren't verified yet:
 
325
        # if has_seahorse:
 
326
        #    self._create_signature()
314
327
        self._create_file_info_view()
315
328
        self._create_bugs()
316
329
 
317
 
        self.set_current_page(0)
 
330
        self.set_current_page(PAGE_GENERAL)
 
331
        self.connect_after('switch-page', self._switch_page_cb)
318
332
        
319
333
        self._show_callback = None
320
334
        self._clicked_callback = None
430
444
        self._add_tags()
431
445
 
432
446
    def _update_signature(self, widget, param):
433
 
        self.signature_table.set_revision(self._revision)
 
447
        if self.get_current_page() == PAGE_SIGNATURE:
 
448
            self.signature_table.set_revision(self._revision)
434
449
 
435
450
    def _update_bugs(self, widget, param):
436
451
        self.bugs_page.set_revision(self._revision)
442
457
                                      self.children_widgets,
443
458
                                      self.children_table)
444
459
 
 
460
    def _switch_page_cb(self, notebook, page, page_num):
 
461
        if page_num == PAGE_SIGNATURE:
 
462
            self.signature_table.set_revision(self._revision)
 
463
 
 
464
 
 
465
 
445
466
    def _show_clicked_cb(self, widget, revid, parentid):
446
467
        """Callback for when the show button for a parent is clicked."""
447
468
        self._show_callback(revid, parentid)
501
522
 
502
523
            button = gtk.Button(revid)
503
524
            button.connect("clicked",
504
 
                    lambda w, r: self.set_revision(self._branch.repository.get_revision(r)), revid)
 
525
                    lambda w, r: self.set_revision(self._repository.get_revision(r)), revid)
505
526
            button.set_use_underline(False)
506
527
            hbox.pack_start(button, expand=False, fill=True)
507
528
            button.show()
523
544
        vbox.show()
524
545
 
525
546
    def _create_signature(self):
526
 
        self.signature_table = SignatureTab(self._branch.repository)
 
547
        self.signature_table = SignatureTab(self._repository)
527
548
        self.append_page(self.signature_table, tab_label=gtk.Label('Signature'))
528
549
        self.connect_after('notify::revision', self._update_signature)
529
550