Changeset 29e80a63dfd4…
Parent 01984f98ffc0…
by
Changes to 2 files · Browse files at 29e80a63dfd4 Showing diff from parent 01984f98ffc0 Diff from another changeset...
@@ -115,6 +115,7 @@ super(ManifestWidget, self).__init__(parent)
self._repo = repo
self._rev = rev
+ self._selectedrev = rev
self._diff_dialogs = {}
self._nav_dialogs = {}
@@ -277,6 +278,13 @@ _("Cannot open subrepository"),
_("The selected subrepository does not exist on the working directory"))
+ def showEvent(self, event):
+ QWidget.showEvent(self, event)
+ if self._selectedrev != self._rev:
+ # If the selected revision is not the same as the current revision
+ # we must "reload" the manifest contents with the selected revision
+ self.setRev(self._selectedrev)
+
#@pyqtSlot(QModelIndex)
def onDoubleClick(self, index):
itemissubrepo = self.path in self._repo[self._rev].substate.keys()
@@ -370,10 +378,17 @@ """Return current revision"""
return self._rev
+ def selectRev(self, rev):
+ """
+ Select the revision that must be set when the dialog is shown again
+ """
+ self._selectedrev = rev
+
@pyqtSlot(int)
@pyqtSlot(object)
def setRev(self, rev):
"""Change revision to show"""
+ self._selectedrev = rev
if rev == self._rev:
return
self._rev = rev
|
@@ -641,11 +641,17 @@ self.revDetailsWidget.onRevisionSelected(rev)
self.revisionSelected.emit(rev)
if type(rev) != str: # unapplied patch
- self.manifestDemand.forward('setRev', rev)
+ if self.manifestDemand.isHidden():
+ self.manifestDemand.forward('selectRev', rev)
+ else:
+ self.manifestDemand.forward('setRev', rev)
self.grepDemand.forward('setRevision', rev)
self.syncDemand.forward('refreshTargets', rev)
else:
- self.manifestDemand.forward('setRev', None)
+ if self.manifestDemand.isHidden():
+ self.manifestDemand.forward('selectRev', None)
+ else:
+ self.manifestDemand.forward('setRev', None)
except (IndexError, error.RevlogError, error.Abort), e:
self.showMessage(hglib.tounicode(str(e)))
|
Loading...