Kiln » TortoiseHg » TortoiseHg
Clone URL:  
gorev.py
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
# 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) except mercurial.error.RepoError, e: gdialog.Prompt(_('Invalid Revision'), str(e), self).run() self.revEntry.grab_focus() return