Changeset fd2662ea0068…
Parent 84a059455d24…
by
Changes to 7 files · Browse files at fd2662ea0068 Showing diff from parent 84a059455d24 Diff from another changeset...
@@ -216,7 +216,7 @@ pos = self.textView.verticalScrollBar().value()
ctx = self.filerevmodel.repo.changectx(rev)
self.textView.setContext(ctx)
- self.textView.displayFile(self.filerevmodel.graph.filename(rev))
+ self.textView.displayFile(self.filerevmodel.graph.filename(rev), None)
self.textView.verticalScrollBar().setValue(pos)
self.revpanel.set_revision(rev)
self.revpanel.update(repo = self.repo)
|
@@ -81,16 +81,6 @@ row = index.row()
return self._files[row]['path']
- def revFromIndex(self, index):
- 'return revision for index. index is guarunteed to be valid'
- if len(self._ctx.parents()) < 2:
- return None
- row = index.row()
- if self._fulllist and self._files[row]['parent'] == 1:
- return self._ctx.p2().rev()
- else:
- return self._ctx.p1().rev()
-
def dataFromIndex(self, index):
if not index.isValid() or index.row()>=len(self) or not self._ctx:
return None
|
@@ -29,7 +29,7 @@ A QTableView for displaying a HgFileListModel
"""
- fileRevSelected = pyqtSignal(object, object, object)
+ fileSelected = pyqtSignal(QString, QString)
clearDisplay = pyqtSignal()
contextmenu = None
@@ -53,7 +53,7 @@ QTableView.setModel(self, model)
model.layoutChanged.connect(self.layoutChanged)
model.contextChanged.connect(self.contextChanged)
- self.selectionModel().currentRowChanged.connect(self.fileSelected)
+ self.selectionModel().currentRowChanged.connect(self.onRowChange)
self.horizontalHeader().setResizeMode(1, QHeaderView.Stretch)
self.actionShowAllMerge.setChecked(False)
self.actionShowAllMerge.toggled.connect(model.toggleFullFileList)
@@ -78,25 +78,24 @@ index = self.currentIndex()
count = len(self.model())
if index.row() == -1:
- # index is changing, fileSelected() called for us
+ # index is changing, onRowChange() called for us
self.selectRow(0)
elif index.row() >= count:
if count:
- # index is changing, fileSelected() called for us
+ # index is changing, onRowChange() called for us
self.selectRow(count-1)
else:
self.clearDisplay.emit()
else:
# redisplay previous row
- self.fileSelected()
+ self.onRowChange(index)
- def fileSelected(self, index=None, *args):
+ def onRowChange(self, index, *args):
if index is None:
index = self.currentIndex()
data = self.model().dataFromIndex(index)
if data:
- fromRev = self.model().revFromIndex(index)
- self.fileRevSelected.emit(data['path'], fromRev, data['status'])
+ self.fileSelected.emit(data['path'], data['status'])
else:
self.clearDisplay.emit()
@@ -104,8 +103,10 @@ 'Select given file, if found, else the first file'
index = self.model().indexFromFile(filename)
if index:
- self.setCurrentIndex(index)
- self.fileSelected(index)
+ if index != self.currentIndex():
+ self.setCurrentIndex(index)
+ else:
+ self.onRowChange(index)
elif self.model().count():
self.selectRow(0)
|
@@ -231,7 +231,7 @@ self.actionPrevDiff.setEnabled(False)
self.blk.setVisible(mode == FileMode)
self.sci.setAnnotationEnabled(mode == AnnMode)
- self.displayFile()
+ self.displayFile(self._filename, self._status)
def restrictModes(self, candiff, canfile, canann):
'Disable modes based on content constraints'
@@ -287,21 +287,17 @@ self.filenamelabel.setText(' ')
self.extralabel.hide()
- def displayFile(self, filename=None, rev=None, status=None):
- if filename is None:
- filename, status = self._filename, self._status
- else:
- self._filename, self._status = filename, status
+ def displayFile(self, filename, status):
if isinstance(filename, (unicode, QString)):
filename = hglib.fromunicode(filename)
+ status = hglib.fromunicode(status)
+ self._filename, self._status = filename, status
self.clearMarkup()
if filename is None:
self.restrictModes(False, False, False)
return
- if rev is not None:
- self._p_rev = rev
if self._p_rev is not None:
ctx2 = self.repo[self._p_rev]
else:
|
@@ -352,7 +352,7 @@ ctx = self._repo[rev]
if self.path in ctx:
self._fileview.setContext(ctx)
- self._fileview.displayFile(path)
+ self._fileview.displayFile(path, self.status)
if line:
self._fileview.showLine(int(line) - 1)
else:
@@ -376,7 +376,7 @@ @pyqtSlot()
def _updatecontent(self):
self._fileview.setContext(self._repo[self._rev])
- self._fileview.displayFile(self.path, status=self.status)
+ self._fileview.displayFile(self.path, self.status)
@pyqtSlot()
def _emitPathChanged(self):
|
@@ -166,7 +166,7 @@
revisiondetails_layout.addWidget(self.filelist_splitter)
- self.filelist.fileRevSelected.connect(self.onFileRevSelected)
+ self.filelist.fileSelected.connect(self.fileview.displayFile)
self.filelist.clearDisplay.connect(self.fileview.clearDisplay)
def forwardFont(self, font):
@@ -211,10 +211,6 @@ self.create_models()
self.filelist.setModel(self.filelistmodel)
- @pyqtSlot(object, object, object)
- def onFileRevSelected(self, file, rev, status):
- self.fileview.displayFile(file, rev, status)
-
def onRevisionSelected(self, rev):
'called by repowidget when repoview changes revisions'
self._last_rev = rev
|
@@ -371,7 +371,7 @@ path, status, mst, upath, ext, sz = row
wfile = util.pconvert(path)
self.fileview.setContext(self.repo[None])
- self.fileview.displayFile(wfile, status=status)
+ self.fileview.displayFile(wfile, status)
class StatusThread(QThread):
|
Loading...