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

commit: add toolbar button and menu item for MQ

Changeset b0647ed84caa

Parent f9d1d3278058

by Yuki KODAMA

Changes to one file · Browse files at b0647ed84caa Showing diff from parent f9d1d3278058 Diff from another changeset...

 
201
202
203
204
205
 
 
 
 
 
 
 
206
207
208
209
210
 
211
212
213
 
240
241
242
 
 
 
 
 
 
 
243
244
245
 
249
250
251
 
 
252
253
254
 
263
264
265
 
 
 
 
 
 
 
266
267
268
 
554
555
556
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
557
558
559
 
658
659
660
 
 
661
662
663
 
201
202
203
 
 
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
 
246
247
248
249
250
251
252
253
254
255
256
257
258
 
262
263
264
265
266
267
268
269
 
278
279
280
281
282
283
284
285
286
287
288
289
290
 
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
 
701
702
703
704
705
706
707
708
@@ -201,13 +201,19 @@
  def toggle_showtoolbar(button):   self.showtoolbar = button.get_active()   self._show_toolbar(self.showtoolbar) - return [(_('_View'), - [dict(text=_('Toolbar'), ascheck=True, check=self.showtoolbar, + if self.mqloaded: + mq_item = [dict(text=_('Patch Queue'), name='mq', ascheck=True, + func=self.mq_clicked, check=self.setting_mqvis) ] + else: + mq_item = [] + return [(_('_View'), [ + dict(text=_('Toolbar'), ascheck=True, check=self.showtoolbar,   func=toggle_showtoolbar),   dict(text=_('Advanced'), ascheck=True, func=toggle,   args=['advanced'], check=self.showadvanced),   dict(text=_('Parents'), ascheck=True, func=toggle,   args=['parents'], check=self.showparents), + ] + mq_item + [   dict(text='----'),   dict(text=_('Refresh'), func=refresh, icon=gtk.STOCK_REFRESH),   dict(text='----'), @@ -240,6 +246,13 @@
  settings['showparents'] = self.showparents   settings['showadvanced'] = self.showadvanced   settings['show-output'] = self.showoutput + if hasattr(self, 'mqpaned') and self.mqwidget.has_patch(): + curpos = self.mqpaned.get_position() + settings['mqpane'] = curpos or self.setting_mqhpos + settings['mqvis'] = bool(curpos) + else: + settings['mqpane'] = self.setting_mqhpos + settings['mqvis'] = self.setting_mqvis   return settings     def load_settings(self, settings): @@ -249,6 +262,8 @@
  self.showparents = settings.get('showparents', True)   self.showadvanced = settings.get('showadvanced', False)   self.showoutput = settings.get('show-output', False) + self.setting_mqhpos = settings.get('mqpane', 140) or 140 + self.setting_mqvis = settings.get('mqvis', False)     def show_toolbar_on_start(self):   return self.showtoolbar @@ -263,6 +278,13 @@
  self.commit_clicked, name='commit', tip=_('commit'))   tbbuttons.insert(0, undo_btn)   tbbuttons.insert(0, commit_btn) + if self.mqloaded: + mq_btn = self.make_toolbutton(gtk.STOCK_DIRECTORY, + _('Patch Queue'), self.mq_clicked, + name='mq', tip=_('Show/Hide Patch Queue'), + toggle=True, icon='menupatch.ico') + tbbuttons.append(mq_btn) + self.mqtb = mq_btn   return tbbuttons     def should_live(self, widget=None, event=None): @@ -554,6 +576,27 @@
  def repo_invalidated(self, mqwidget):   self.reload_status()   + def enable_mqpanel(self, enable=None): + if not hasattr(self, 'mqpaned'): + return + if enable is None: + enable = self.setting_mqvis and self.mqwidget.has_patch() + + # set the state of MQ toolbutton + self.cmd_handler_block_by_func('mq', self.mq_clicked) + self.cmd_set_active('mq', enable) + self.cmd_handler_unblock_by_func('mq', self.mq_clicked) + self.cmd_set_sensitive('mq', self.mqwidget.has_mq()) + + # show/hide MQ pane + oldpos = self.mqpaned.get_position() + self.mqpaned.set_position(enable and self.setting_mqhpos or 0) + if not enable and oldpos: + self.setting_mqhpos = oldpos + + def mq_clicked(self, widget, *args): + self.enable_mqpanel(widget.get_active()) +   def update_commit_button(self):   label = _('Commit')   tooltip = _('commit') @@ -658,6 +701,8 @@
  self.parents_frame.hide()   if not self.showadvanced:   self.advanced_frame.hide() + if hasattr(self, 'mqpaned') and self.mqtb.get_active(): + self.mqpaned.set_position(self.setting_mqhpos)     def thgaccept(self, window):   self.commit_clicked(None)