Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8, 0.8.1, and 0.8.2

bugreport: list loaded extensions in error reports

Borrowed this idea from hg, seems a good one.

Changeset 104c53fc0b61

Parent 950f8132b2a4

by Steve Borho

Changes to one file · Browse files at 104c53fc0b61 Showing diff from parent 950f8132b2a4 Diff from another changeset...

1
2
3
4
5
6
7
8
9
 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
 
52
53
54
55
56
57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 #  # bugreport.py - Bug report dialog for TortoiseHg  #  # Copyright (C) 2009 Steve Borho <steve@borho.org>  #    import gtk  import pango  from mercurial.i18n import _ +from mercurial import extensions  from hglib import toutf, fromutf, rootpath, diffexpand  from gdialog import GDialog  from dialog import entry_dialog    class BugReport(GDialog):   """GTK+ based dialog for displaying traceback info to the user in a   cut-paste friendly manner. And include a number of useful bit of   information like version numbers, etc.   """     def get_title(self):   return _('TortoiseHg Bug Report')     def get_icon(self):   return 'menudelete.ico'     def get_body(self):   textview = gtk.TextView()   textview.set_wrap_mode(gtk.WRAP_NONE)   textview.set_editable(False)   textview.modify_font(pango.FontDescription(self.fontlist))   scroller = gtk.ScrolledWindow()   scroller.set_shadow_type(gtk.SHADOW_IN)   scroller.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)   scroller.add(textview)   scroller.set_border_width(5)   vbox = gtk.VBox()   vbox.pack_start(scroller, True, True, 2)   hbbox = gtk.HButtonBox()   hbbox.set_layout(gtk.BUTTONBOX_END)   vbox.pack_start(hbbox, False, False, 2)   close = gtk.Button(_('Close'))   close.connect('clicked', gtk.main_quit)   hbbox.add(close)     from about import hgversion   import shlib   text = _('\n\nPlease report this bug to'   ' http://bitbucket.org/tortoisehg/stable/issues\n')   text += _('Mercurial version (%s). TortoiseHg version (%s)\n') % (   hgversion, shlib.version())   text += _('Command: %s\n') % (self.opts['cmd']) + extlist = [x[0] for x in extensions.extensions()] + text += _('** Extensions loaded: %s\n') % ', '.join(extlist)   text += self.opts['error']   textview.get_buffer().set_text(text)   return vbox    def run(_ui, *pats, **opts):   return BugReport(_ui, None, None, None, opts)