Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.0, 1.0.1, and 1.0.2

hgignore: add button to open selected file with configured editor

Changeset d6da12d2789a

Parent 86608d5fb61b

by Yuki KODAMA

Changes to one file · Browse files at d6da12d2789a Showing diff from parent 86608d5fb61b Diff from another changeset...

 
7
8
9
10
11
 
12
13
14
 
68
69
70
 
71
72
73
74
75
76
 
 
 
 
 
77
78
79
 
153
154
155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
157
158
 
7
8
9
 
10
11
12
13
14
 
68
69
70
71
72
73
74
75
76
 
77
78
79
80
81
82
83
84
 
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
@@ -7,8 +7,8 @@
   import os  import gtk -import gobject  import re +import threading    from mercurial import hg, ui, match, util, error   @@ -68,12 +68,17 @@
    ### ignore file combo if needs   if len(ignorefiles) > 1: + # file selector   combo = gtk.combo_box_new_text()   for f in ignorefiles:   combo.append_text(hglib.toutf(f))   combo.set_active(0)   combo.connect('changed', self.file_selected) - table.add_row(_('Apply to:'), combo, padding=False) + # edit button + edit = gtk.Button(_('Edit File')) + edit.connect('clicked', self.edit_clicked) + table.add_row(_('Apply to:'), combo, 0, edit, + padding=False, expand=0)   self.ignorefile = ignorefiles[0]     ## hbox for filter & unknown list @@ -153,6 +158,22 @@
  self.ignorefile = hglib.fromutf(combo.get_active_text())   self.refresh()   + def edit_clicked(self, button): + def doedit(): + util.system('%s "%s"' % (editor, self.ignorefile)) + editor = (self.repo.ui.config('tortoisehg', 'editor') or + self.repo.ui.config('gtools', 'editor') or + os.environ.get('HGEDITOR') or + self.repo.ui.config('ui', 'editor') or + os.environ.get('EDITOR', 'vi')) + if os.path.basename(editor) in ('vi', 'vim', 'hgeditor'): + gdialog.Prompt(_('No visual editor configured'), + _('Please configure a visual editor.'), self).run() + return + thread = threading.Thread(target=doedit, name='edit ignore') + thread.setDaemon(True) + thread.start() +   def unknown_search(self, model, column, key, iter):   'case insensitive filename search'   key = key.lower()