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

commit: add qnew feature

contributed by Simon Heimberg

Changeset 043e5f5f69c6

Parent c7e2e7df0cd9

by Steve Borho

Changes to one file · Browse files at 043e5f5f69c6 Showing diff from parent c7e2e7df0cd9 Diff from another changeset...

Change 1 of 5 Show Entire File hggtk/​commit.py Stacked
 
139
140
141
 
 
 
 
 
 
 
 
 
 
142
143
144
 
266
267
268
269
 
 
 
270
271
272
 
477
478
479
480
 
 
 
 
 
 
481
482
483
484
 
 
485
486
487
 
491
492
493
494
 
 
 
495
496
497
 
503
504
505
 
 
 
 
 
 
 
 
 
 
 
506
507
508
 
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
 
276
277
278
 
279
280
281
282
283
284
 
489
490
491
 
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
 
510
511
512
 
513
514
515
516
517
518
 
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
@@ -139,6 +139,16 @@
  self.branchentry = gtk.Entry()   mbox.pack_start(self.branchentry, False, False, 2)   + if hasattr(self.repo, 'mq'): + label = gtk.Label('QNew: ') + mbox.pack_start(label, False, False, 2) + self.qnew_name = gtk.Entry() + self.qnew_name.set_width_chars(6) + self.qnew_name.connect('changed', self._qnew_changed) + mbox.pack_start(self.qnew_name, False, False, 2) + else: + self.qnew_name = None +   label = gtk.Label('Recent Commit Messages: ')   mbox.pack_start(label, False, False, 2)   self.msg_cbbox = gtk.combo_box_new_text() @@ -266,7 +276,9 @@
  self.set_title(title)   self.qheader = '\n'.join(ph.message)   self.text.get_buffer().set_text(self.qheader) - self.get_toolbutton('_Commit').set_label('QRefresh') + c_btn = self.get_toolbutton('_Commit') + c_btn.set_label('QRefresh') + c_btn.set_tooltip(self.tooltips, self.mqmode and 'QRefresh' or 'QNew')     def _commit_clicked(self, toolbutton, data=None):   if not self._ready_message(): @@ -477,11 +489,18 @@
  # won't get locked up by potential large commit. CmdDialog will also   # display the progress of the commit operation.   cmdline = ['hg', 'commit', '--verbose', '--repository', self.repo.root] - if self.qheader is not None: + qnew = self.qnew_name and self.qnew_name.get_text().strip() + if qnew: + qnew = fromutf(qnew) + cmdline[1] = 'qnew' + cmdline += '--force' + elif self.qheader is not None:   cmdline[1] = 'qrefresh'   if self.opts['addremove']:   cmdline += ['--addremove']   cmdline += ['--message', fromutf(self.opts['message'])] + if qnew: + cmdline += [qnew]   cmdline += [self.repo.wjoin(x) for x in files]   dialog = CmdDialog(cmdline, True)   dialog.set_transient_for(self) @@ -491,7 +510,9 @@
  # refresh overlay icons and commit dialog   if dialog.return_code() == 0:   shell_notify([self.cwd] + files) - if self.qheader is None: + if qnew: + self.self.qnew_name.set_text('') + elif self.qheader is None:   self.text.set_buffer(gtk.TextBuffer())   self._update_recent_messages(self.opts['message'])   self._last_commit_id = self._get_tip_rev(True) @@ -503,6 +524,17 @@
  tip = cl.node(nullrev + len(cl))   return hex(tip)   + def _qnew_changed(self, element): + mqmode = self.mqmode + self.mqmode = not self.qnew_name.get_text().strip() + if mqmode != self.mqmode: + c_btn = self.get_toolbutton('_Commit') + c_btn.set_label(self.mqmode and 'QRefresh' or 'QNew') + c_btn.set_tooltip(self.tooltips, self.mqmode and 'QRefresh' or 'QNew') + self.reload_status() + self.qnew_name.grab_focus() # set focus back + +  def launch(root='', files=[], cwd='', main=True):   u = ui.ui()   u.updateopts(debug=False, traceback=False)