Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.9, 0.9.1, and 0.9.1.1

gorev: dialog could only be opened once due to use of destroy

Instead we reset the entry data and merely hide the dialog on successful
navigation.

Changeset 687614baa31e

Parent fe78a2f7513e

by Henrik Stuart

Changes to one file · Browse files at 687614baa31e Showing diff from parent fe78a2f7513e 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
58
59
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
 # gorev.py - TortoiseHg's dialog for selecting a revision  #  # Copyright 2007 TK Soh <teekaysoh@gmail.com>  # Copyright 2007 Steve Borho <steve@borho.org>  #  # This software may be used and distributed according to the terms of the  # GNU General Public License version 2, incorporated herein by reference.    import os  import gtk  import gobject  import mercurial    from tortoisehg.util.i18n import _  from tortoisehg.hgtk import gtklib, gdialog      class GotoRevDialog(gtk.Dialog):   'Dialog for selecting a revision'   def __init__(self, gotofunc):   super(GotoRevDialog, self).__init__(flags=gtk.DIALOG_MODAL)   gtklib.set_tortoise_icon(self, 'menulog.ico')   gtklib.set_tortoise_keys(self)   self.set_has_separator(False)     self._btn_goto = gtk.Button(_('Select'))   self._btn_goto.connect('clicked', self._btn_goto_clicked)   self.action_area.pack_end(self._btn_goto)     self.set_title(_('Select Revision'))     self.gotofunc = gotofunc     self.tips = gtk.Tooltips()     hbox = gtk.HBox()   self.revEntry = gtk.Entry()   self.revEntry.connect('activate', self._btn_goto_clicked)   hbox.pack_start(self.revEntry, True, True, 4)   eventbox = gtk.EventBox()   eventbox.add(hbox)   self.tips.set_tip(   eventbox, _('revision number, changeset ID, branch or tag'))   self.vbox.pack_start(eventbox, False, False, 4)     self.revEntry.grab_focus()     self.show_all()     def _btn_goto_clicked(self, button, data=None):   try:   revision = self.revEntry.get_text()   if self.gotofunc:   self.gotofunc(revision) - self.destroy() + self.revEntry.set_text('') + self.hide()   except mercurial.error.RepoError, e:   gdialog.Prompt(_('Invalid Revision'), str(e), self).run()   self.revEntry.grab_focus()   return