Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 2.0, 2.0.1, and 2.0.2

stable revset: seed browse history with revision set matches

* keep revision set as revision numbers, sorted decrementally
* reset the browse history each time the filter checkbox is toggled
* remove some trailing white-space

Changeset 363c68e84062

Parent b0981a2bdc41

by Steve Borho

Changes to 5 files · Browse files at 363c68e84062 Showing diff from parent b0981a2bdc41 Diff from another changeset...

 
55
56
57
58
59
60
61
 
55
56
57
 
58
59
60
@@ -55,7 +55,6 @@
    revset = opts.get('revset', None)   if revset: - revset = sorted([repo[r].rev() for r in revset])   start_rev = max(revset)   stop_rev = min(revset)   branch = None
 
443
444
445
446
 
447
448
449
 
443
444
445
 
446
447
448
449
@@ -443,7 +443,7 @@
  gnode = self.graph[row]   ctx = self.repo.changectx(gnode.rev)   - if ctx.node() not in self.revset: + if ctx.rev() not in self.revset:   return Qt.ItemFlags(0)   return Qt.ItemIsSelectable | Qt.ItemIsEnabled  
 
37
38
39
40
41
42
43
 
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
 
 
 
90
91
 
 
 
 
 
92
93
94
 
37
38
39
 
40
41
42
 
69
70
71
 
 
 
 
 
 
 
 
 
72
 
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
@@ -37,7 +37,6 @@
  QTableView.__init__(self, parent)   self.repo = repo   self.current_rev = -1 - self.init_variables()   self.setShowGrid(False)     vh = self.verticalHeader() @@ -70,25 +69,23 @@
  def contextMenuEvent(self, event):   self.menuRequested.emit(event.globalPos(), self.selectedRevisions())   - def init_variables(self): - # rev navigation history (manage 'back' action) - self._rev_history = [] - self._rev_pos = -1 - self._in_history = False # flag set when we are "in" the - # history. It is required cause we cannot known, in - # "revision_selected", if we are crating a new branch in the - # history navigation or if we are navigating the history -   def setModel(self, model): - self.init_variables()   QTableView.setModel(self, model)   #Check if the font contains the glyph needed by the model   if not QFontMetrics(self.font()).inFont(QString(u'\u2605').at(0)):   model.unicodestar = False   self.selectionModel().currentRowChanged.connect(self.onRowChange)   self.resetDelegate() + self._rev_history = [] + self._rev_pos = -1 + self._in_history = False   model.layoutChanged.connect(self.resetDelegate)   + def resetBrowseHistory(self, revs): + self._rev_history = revs[:] + self._rev_pos = -1 + self.forward() +   def resetDelegate(self):   # Model column layout has changed so we need to move   # our column delegate to correct location
 
361
362
363
364
365
 
 
 
 
366
367
368
369
370
 
371
372
373
 
375
376
377
 
 
378
379
380
381
382
383
 
384
385
386
 
555
556
557
558
 
559
560
561
 
912
913
914
915
 
916
917
918
 
361
362
363
 
 
364
365
366
367
368
369
370
371
372
373
374
375
376
 
378
379
380
381
382
383
384
385
386
387
 
388
389
390
391
 
560
561
562
 
563
564
565
566
 
917
918
919
 
920
921
922
923
@@ -361,13 +361,16 @@
  self.repomodel.revset = []   self.refresh()   - def setRevisionSet(self, nodes): - self.revset = [self.repo[n].node() for n in nodes] + def setRevisionSet(self, revisions): + revs = revisions[:] + revs.sort(reverse=True) + self.revset = revs   if self.revsetfilter:   self.reload()   else:   self.repomodel.revset = self.revset   self.refresh() + self.repoview.resetBrowseHistory(self.revset)     @pyqtSlot(bool)   def filterToggled(self, checked): @@ -375,12 +378,14 @@
  if self.revset:   self.repomodel.filterbyrevset = checked   self.reload() + self.repoview.resetBrowseHistory(self.revset) + self._reload_rev = self.revset[0]     def setOutgoingNodes(self, nodes):   self.filterbar.revsetle.setText('outgoing()')   self.filterbar.show()   self.toolbarVisibilityChanged.emit() - self.setRevisionSet(nodes) + self.setRevisionSet([self.repo[n].rev() for n in nodes])     def createGrepWidget(self):   upats = {} @@ -555,7 +560,7 @@
    def setupModels(self):   # Filter revision set in case revisions were removed - self.revset = [r for r in self.revset if r in self.repo] + self.revset = [r for r in self.revset if r < len(self.repo)]   self.repomodel = HgRepoListModel(self.repo, self.branch, self.revset,   self.revsetfilter, self)   self.repomodel.filled.connect(self.modelFilled) @@ -912,7 +917,7 @@
  if icon:   submenu = menu.addMenu(icon, desc)   else: - submenu = menu.addMenu(desc) + submenu = menu.addMenu(desc)   continue   m = menu   if type == 2: # submenu entry
 
366
367
368
369
 
370
371
 
372
373
374
 
366
367
368
 
369
370
 
371
372
373
374
@@ -366,9 +366,9 @@
  def run(self):   if '(' not in self.text:   try: - node = self.repo.lookup(self.text) + ctx = self.repo[self.text]   self.showMessage.emit(_('found revision')) - self.queryIssued.emit(self.query, [node]) + self.queryIssued.emit(self.query, [ctx.rev()])   return   except (error.RepoLookupError, error.Abort):   self.text = 'keyword("%s")' % self.text