Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 2.0.3, 2.0.4, and 2.0.5

stable filelistview: Add "Open subrepository" context menu action

This action tries to open the selected subrepository. If the subrepository does
not exist, it will display a warning message instead.

Changeset 8e16e0f59ddd

Parent ee3883c13dd6

by Angel Ezquerra

Changes to 2 files · Browse files at 8e16e0f59ddd Showing diff from parent ee3883c13dd6 Diff from another changeset...

 
32
33
34
 
35
36
37
 
244
245
246
 
 
 
247
248
249
 
256
257
258
259
 
 
 
 
 
 
 
 
 
 
260
261
262
263
264
265
266
 
267
268
269
 
32
33
34
35
36
37
38
 
245
246
247
248
249
250
251
252
253
 
260
261
262
 
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
 
279
280
281
282
@@ -32,6 +32,7 @@
    fileRevSelected = pyqtSignal(object, object, object)   clearDisplay = pyqtSignal() + linkActivated = pyqtSignal(QString)   filecontextmenu = None   subrepocontextmenu = None   @@ -244,6 +245,9 @@
  ('revert', _('Revert to Revision'), 'hg-revert', 'Alt+Ctrl+T',   _('Revert file(s) to contents at this revision'),   self.revertfile), + ('opensubrepo', _('Open subrepository'), 'thg-repository-open', + 'Alt+Ctrl+O', _('Open the selected subrepository'), + self.opensubrepo),   ]:   act = QAction(desc, self)   if icon: @@ -256,14 +260,23 @@
  act.triggered.connect(cb)   self._actions[name] = act   self.addAction(act) - + + def opensubrepo(self): + path = os.path.join(self.model().repo.root, self.currentFile()) + if os.path.isdir(path): + self.linkActivated.emit(u'subrepo:'+hglib.tounicode(path)) + else: + QMessageBox.warning(self, + _("Cannot open subrepository"), + _("The selected subrepository does not exist on the working directory")) +   def contextMenuEvent(self, event):   itemissubrepo = (self.model().dataFromIndex(self.currentIndex())['status'] == 'S')     # Subrepos and regular items have different context menus   if itemissubrepo:   contextmenu = self.subrepocontextmenu - actionlist = [] + actionlist = ['opensubrepo']   else:   contextmenu = self.filecontextmenu   actionlist = ['diff', 'ldiff', 'edit', 'ledit', 'revert',
 
89
90
91
 
92
93
94
 
89
90
91
92
93
94
95
@@ -89,6 +89,7 @@
  self.filelistToolbar = QToolBar(_('File List Toolbar'))   self.filelistToolbar.setIconSize(QSize(16,16))   self.filelist = HgFileListView() + self.filelist.linkActivated.connect(self.linkActivated)     self.tbarFileListFrame = QFrame(self.filelist_splitter)   sp = SP(SP.Preferred, SP.Preferred)