Changeset 095e404231a5…
Parent 2edd8f27dc58…
by
Changes to 2 files · Browse files at 095e404231a5 Showing diff from parent 2edd8f27dc58 Diff from another changeset...
@@ -270,6 +270,8 @@ sw.outgoingNodes.connect(self.setOutgoingNodes)
sw.showMessage.connect(self.showMessage)
sw.incomingBundle.connect(self.setBundle)
+ ctx = self.repo.changectx(self.rev)
+ sw.refreshBookmarks(ctx.node())
return SharedWidget(sw)
@pyqtSlot(QString)
@@ -545,17 +547,17 @@ 'View selection changed, could be a reload'
if self.repomodel.graph is None:
return
- if type(rev) == str: # unapplied patch
+ if type(rev) != str: # unapplied patch
# FIXME remove unapplied patch branch when
# patches fully handled downstream
- self.revDetailsWidget.revision_selected(rev)
- # grep and manifest are unlikely to ever be able to use a
- # patch ctx
- else:
- self.revDetailsWidget.revision_selected(rev)
self.manifestDemand.forward('setRev', rev)
self.grepDemand.forward('setRevision', rev)
+ self.revDetailsWidget.revision_selected(rev)
+
+ ctx = self.repo.changectx(rev)
+ self.syncDemand.forward('refreshBookmarks', ctx.node())
+
self.revisionSelected.emit(rev)
def gotoParent(self):
|
@@ -81,6 +81,11 @@ hbox.addWidget(self.p4pbutton)
else:
self.p4pbutton = None
+
+ self.bookmarkcombo = QComboBox()
+ hbox.addWidget(QLabel(_('Bookmark:')))
+ hbox.addWidget(self.bookmarkcombo)
+
tb = QToolBar(self)
sactions = []
for tip, icon, cb in (
@@ -198,6 +203,26 @@ else:
self.curalias = None
+ def loadBookmarks(self):
+ self.bookmarkcombo.clear()
+ self.bookmarkcombo.addItem(_("<all>"), _("all"))
+ for name, node in self.repo.bookmarks.items():
+ self.bookmarkcombo.addItem(name, node)
+
+ def refreshBookmarks(self, node):
+ # Reload the bookmarks before selecting the revision
+ self.loadBookmarks()
+ index = self.bookmarkcombo.findData(node)
+ if index < 0:
+ index = 0
+ self.bookmarkcombo.setCurrentIndex(index)
+
+ def applyBookmarkOption(self, cmdline):
+ bookmark = str(self.bookmarkcombo.currentText())
+ if bookmark != '<all>':
+ cmdline += ['--rev', bookmark]
+ return cmdline
+
def configChanged(self):
'Repository is reporting its config files have changed'
self.reload()
@@ -243,6 +268,7 @@ pairs = [(alias, path) for path, alias in related.items()]
tm = PathsModel(pairs, self)
self.reltv.setModel(tm)
+ self.loadBookmarks()
def refreshUrl(self):
'User has changed schema/host/port/path'
@@ -463,6 +489,10 @@ elif val:
cmdline.append('--' + name)
cmdline.append(val)
+
+ if 'rev' in details and '--rev' not in cmdline:
+ cmdline = self.applyBookmarkOption(cmdline)
+
url = self.currentUrl(False)
if not url:
qtlib.InfoMsgBox(_('No URL selected'),
|
Loading...