Changeset 363c68e84062…
Parent b0981a2bdc41…
by
Changes to 5 files · Browse files at 363c68e84062 Showing diff from parent b0981a2bdc41 Diff from another changeset...
@@ -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,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,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,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,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
|
Loading...