Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.9.1, 1.9.2, and 1.9.3

bookmarks: Implemented bookmark selection for push/pull/incoming/outgoing

Changeset 095e404231a5

Parent 2edd8f27dc58

by michaeldewildt

Changes to 2 files · Browse files at 095e404231a5 Showing diff from parent 2edd8f27dc58 Diff from another changeset...

 
270
271
272
 
 
273
274
275
 
545
546
547
548
 
549
550
551
552
553
554
555
556
557
558
 
 
 
 
 
559
560
561
 
270
271
272
273
274
275
276
277
 
547
548
549
 
550
551
552
 
 
 
 
 
553
554
555
556
557
558
559
560
561
562
563
@@ -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
82
83
 
 
 
 
 
84
85
86
 
198
199
200
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
202
203
 
243
244
245
 
246
247
248
 
463
464
465
 
 
 
 
466
467
468
 
81
82
83
84
85
86
87
88
89
90
91
 
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
 
268
269
270
271
272
273
274
 
489
490
491
492
493
494
495
496
497
498
@@ -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'),