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

history: create filter bar under toolbar

Add a named branch combo box, move filter radios from filter toolbar button,
move "next" buttons and column selection widgets into this bar. Remove the
widget vbox on the right hand side of the graph.

This will need more work, but it gives an idea of where I would like to take it.

Changeset 986b789c4b52

Parent 582070eaa3cb

by Steve Borho

Changes to one file · Browse files at 986b789c4b52 Showing diff from parent 582070eaa3cb Diff from another changeset...

Change 1 of 6 Show Entire File hggtk/​history.py Stacked
 
53
54
55
56
57
58
59
 
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
 
385
386
387
388
389
390
391
392
393
 
490
491
492
493
494
495
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
496
497
498
 
500
501
502
 
503
504
505
506
507
508
509
510
 
 
 
 
511
512
513
514
515
516
517
518
 
 
 
 
 
519
520
521
 
555
556
557
 
 
 
 
 
 
558
559
560
 
53
54
55
 
56
57
58
 
207
208
209
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
210
211
212
 
341
342
343
 
 
 
344
345
346
 
443
444
445
 
 
 
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
 
491
492
493
494
495
496
497
498
 
 
 
 
499
500
501
502
503
504
505
506
507
508
 
 
509
510
511
512
513
514
515
516
 
550
551
552
553
554
555
556
557
558
559
560
561
@@ -53,7 +53,6 @@
  self.make_toolbutton(gtk.STOCK_INDEX,   _('_Filter'),   self.filter_clicked, - menu=self.filter_menu(),   tip=_('Filter revisions for display')),   gtk.SeparatorToolItem(),   self.make_toolbutton(gtk.STOCK_FIND, @@ -208,49 +207,6 @@
  menu.show_all()   return menu   - def filter_menu(self): - menu = gtk.Menu() - - button = gtk.RadioMenuItem(None, _('Show All Revisions')) - button.set_active(True) - button.connect('toggled', self.filter_selected, 'all') - menu.append(button) - - self.newbutton = gtk.RadioMenuItem(button, _('Show New Revisions')) - self.newbutton.connect('toggled', self.filter_selected, 'new') - menu.append(self.newbutton) - - button = gtk.RadioMenuItem(button, _('Show Tagged Revisions')) - button.connect('toggled', self.filter_selected, 'tagged') - menu.append(button) - - button = gtk.RadioMenuItem(button, _('Show Revision Ancestry')) - button.connect('toggled', self.filter_selected, 'ancestry') - menu.append(button) - - button = gtk.RadioMenuItem(button, _('Show Working Parents')) - button.connect('toggled', self.filter_selected, 'parents') - menu.append(button) - - button = gtk.RadioMenuItem(button, _('Show Head Revisions')) - button.connect('toggled', self.filter_selected, 'heads') - menu.append(button) - - button = gtk.RadioMenuItem(button, _('Show Only Merge Revisions')) - button.connect('toggled', self.filter_selected, 'only_merges') - menu.append(button) - - button = gtk.RadioMenuItem(button, _('Show Non-Merge Revisions')) - button.connect('toggled', self.filter_selected, 'no_merges') - menu.append(button) - - self.custombutton = gtk.RadioMenuItem(button, _('Custom Filter')) - self.custombutton.set_sensitive(False) - menu.append(self.custombutton) - - menu.show_all() - return menu -   def open_with_file(self, file):   'Call this before display() to open with file history'   self.opts['filehist'] = file @@ -385,9 +341,6 @@
  elif self.filter == 'only_merges':   self.opts['only_merges'] = True   self.graphview.refresh(False, [], self.opts) - elif self.filter == 'no_merges': - self.opts['no_merges'] = True - self.graphview.refresh(False, [], self.opts)   elif self.filter == 'ancestry':   if not self.currow:   return @@ -490,9 +443,47 @@
  self.tree.connect('thg-parent', self.thgparent)   self.connect('thg-refresh', self.thgrefresh)   - hbox = gtk.HBox() - hbox.pack_start(self.graphview, True, True, 0) - vbox = gtk.VBox() + filterbox = gtk.HBox() + + branchcombo = gtk.combo_box_new_text() + for name in self.repo.branchtags().keys(): + branchcombo.append_text(name) + branchcombo.connect('changed', self.select_branch) + filterbox.pack_start(branchcombo, False) + + all = gtk.RadioButton(None, _('all')) + all.set_active(True) + all.connect('toggled', self.filter_selected, 'all') + filterbox.pack_start(all, False) + + self.newbutton = gtk.RadioButton(all, _('new')) + self.newbutton.connect('toggled', self.filter_selected, 'new') + filterbox.pack_start(self.newbutton, False) + + tagged = gtk.RadioButton(all, _('tagged')) + tagged.connect('toggled', self.filter_selected, 'tagged') + filterbox.pack_start(tagged, False) + + ancestry = gtk.RadioButton(all, _('ancestry')) + ancestry.connect('toggled', self.filter_selected, 'ancestry') + filterbox.pack_start(ancestry, False) + + parents = gtk.RadioButton(all, _('parents')) + parents.connect('toggled', self.filter_selected, 'parents') + filterbox.pack_start(parents, False) + + heads = gtk.RadioButton(all, _('heads')) + heads.connect('toggled', self.filter_selected, 'heads') + filterbox.pack_start(heads, False) + + merges = gtk.RadioButton(all, _('merges')) + merges.connect('toggled', self.filter_selected, 'only_merges') + filterbox.pack_start(merges, False) + + self.custombutton = gtk.RadioButton(all, _('custom')) + self.custombutton.set_sensitive(False) + filterbox.pack_start(self.custombutton, False) +   self.colmenu = gtk.MenuToolButton('')   self.colmenu.set_menu(self.view_menu())   # A MenuToolButton has two parts; a Button and a ToggleButton @@ -500,22 +491,26 @@
  b = self.colmenu.child.get_children()[0]   b.unmap()   b.set_sensitive(False) +   self.nextbutton = gtk.ToolButton(gtk.STOCK_GO_DOWN)   self.nextbutton.connect('clicked', self.more_clicked)   self.allbutton = gtk.ToolButton(gtk.STOCK_GOTO_BOTTOM)   self.allbutton.connect('clicked', self.load_all_clicked) - vbox.pack_start(self.colmenu, False, False) - vbox.pack_start(gtk.Label(''), True, True) # expanding blank label - vbox.pack_start(self.nextbutton, False, False) - vbox.pack_start(self.allbutton, False, False) + filterbox.pack_start(gtk.Label(''), True, True) # expanding blank label + filterbox.pack_start(self.colmenu, False, False) + filterbox.pack_start(self.nextbutton, False, False) + filterbox.pack_start(self.allbutton, False, False)     self.nextbutton.set_tooltip(self.tooltips,   _('show next %d revisions') % self.limit)   self.allbutton.set_tooltip(self.tooltips,   _('show all remaining revisions'))   - hbox.pack_start(vbox, False, False, 0) - treeframe.add(hbox) + vbox = gtk.VBox() + vbox.pack_start(filterbox, False, False, 0) + vbox.pack_start(self.graphview, True, True, 0) + + treeframe.add(vbox)   treeframe.show_all()     # Add ChangeSet instance to bottom half of vpane @@ -555,6 +550,12 @@
  else:   self.show_goto_dialog()   + def select_branch(self, combo): + row = combo.get_active() + if row >= 0: + self.custombutton.set_active(True) + self.reload_log(branch=combo.get_model()[row][0]) +   def show_goto_dialog(self):   'Launch a modeless goto revision dialog'   def goto_rev_(rev):