/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: Daniel Schierbeck
  • Date: 2008-04-07 20:34:51 UTC
  • mfrom: (450.6.13 bugs)
  • mto: (463.2.1 bug.78765)
  • mto: This revision was merged to the branch mainline in revision 462.
  • Revision ID: daniel.schierbeck@gmail.com-20080407203451-2i6el7jf9t0k9y64
Merged bug page improvements.

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 webbrowser
 
23
import subprocess
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
 
 
42
36
def _open_link(widget, uri):
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)
 
37
    subprocess.Popen(['sensible-browser', uri], close_fds=True)
47
38
 
48
39
gtk.link_button_set_uri_hook(_open_link)
49
40
 
309
300
        )
310
301
    }
311
302
 
312
 
    def __init__(self, branch=None, repository=None):
 
303
 
 
304
    def __init__(self, branch=None):
313
305
        gtk.Notebook.__init__(self)
314
306
 
315
307
        self._revision = None
316
308
        self._branch = branch
317
 
        if branch is not None:
318
 
            self._repository = branch.repository
319
 
        else:
320
 
            self._repository = repository
321
309
 
322
310
        self._create_general()
323
311
        self._create_relations()
324
 
        # Disabled because testaments aren't verified yet:
325
 
        # if has_seahorse:
326
 
        #    self._create_signature()
 
312
        if has_seahorse:
 
313
            self._create_signature()
327
314
        self._create_file_info_view()
328
315
        self._create_bugs()
329
316
 
330
 
        self.set_current_page(PAGE_GENERAL)
331
 
        self.connect_after('switch-page', self._switch_page_cb)
 
317
        self.set_current_page(0)
332
318
        
333
319
        self._show_callback = None
334
320
        self._clicked_callback = None
444
430
        self._add_tags()
445
431
 
446
432
    def _update_signature(self, widget, param):
447
 
        if self.get_current_page() == PAGE_SIGNATURE:
448
 
            self.signature_table.set_revision(self._revision)
 
433
        self.signature_table.set_revision(self._revision)
449
434
 
450
435
    def _update_bugs(self, widget, param):
451
436
        self.bugs_page.set_revision(self._revision)
457
442
                                      self.children_widgets,
458
443
                                      self.children_table)
459
444
 
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
 
 
466
445
    def _show_clicked_cb(self, widget, revid, parentid):
467
446
        """Callback for when the show button for a parent is clicked."""
468
447
        self._show_callback(revid, parentid)
522
501
 
523
502
            button = gtk.Button(revid)
524
503
            button.connect("clicked",
525
 
                    lambda w, r: self.set_revision(self._repository.get_revision(r)), revid)
 
504
                    lambda w, r: self.set_revision(self._branch.repository.get_revision(r)), revid)
526
505
            button.set_use_underline(False)
527
506
            hbox.pack_start(button, expand=False, fill=True)
528
507
            button.show()
544
523
        vbox.show()
545
524
 
546
525
    def _create_signature(self):
547
 
        self.signature_table = SignatureTab(self._repository)
 
526
        self.signature_table = SignatureTab(self._branch.repository)
548
527
        self.append_page(self.signature_table, tab_label=gtk.Label('Signature'))
549
528
        self.connect_after('notify::revision', self._update_signature)
550
529