Changeset eee78a5994c1…
Parent 8b2a68af5191…
by
Changes to 2 files · Browse files at eee78a5994c1 Showing diff from parent 8b2a68af5191 Diff from another changeset...
|
|
@@ -19,8 +19,8 @@ from tortoisehg.hgqt.repomodel import HgRepoListModel
from tortoisehg.hgqt import cmdui, update, tag, backout, merge, visdiff
from tortoisehg.hgqt import archive, thgimport, thgstrip, run, purge, bookmark
-from tortoisehg.hgqt import bisect, rebase, resolve, thgrepo, compress
-from tortoisehg.hgqt import qdelete, qreorder, qrename, qfold, shelve, qqueue
+from tortoisehg.hgqt import bisect, rebase, resolve, thgrepo, compress, mq
+from tortoisehg.hgqt import qdelete, qreorder, qrename, qfold, shelve
from tortoisehg.hgqt.repofilter import RepoFilterBar
from tortoisehg.hgqt.repoview import HgRepoView
@@ -68,6 +68,7 @@ self.branch = ''
self.bundle = None
self.revset = set()
+ self.namedTabs = {}
if repo.parents()[0].rev() == -1:
self._reload_rev = 'tip'
@@ -177,8 +178,22 @@ self.syncTabIndex = idx = tt.addTab(w, geticon('view-refresh'), '')
tt.setTabToolTip(idx, _("Synchronize"))
+ self.mqDemand = w = DemandWidget(self.createMQWidget)
+ if 'mq' in self.repo.extensions():
+ self.mqTabIndex = idx = tt.addTab(w, geticon('reorder'), '')
+ tt.setTabToolTip(idx, _("Patch Queue"))
+ self.namedTabs['mq'] = idx
+
self.pbranchDemand = w = DemandWidget(self.createPatchBranchWidget)
- self.updatePatchBranchTab()
+ if 'pbranch' in self.repo.extensions():
+ self.pbranchTabIndex = idx = tt.addTab(w, geticon('branch'), '')
+ tt.setTabToolTip(idx, _("Patch Branch"))
+ self.namedTabs['pbranch'] = idx
+
+ def switchToNamedTaskTab(self, tabname):
+ if tabname in self.namedTabs:
+ idx = self.namedTabs[tabname]
+ self.taskTabsWidget.setCurrentIndex(idx)
def title(self):
"""Returns the expected title for this widget [unicode]"""
@@ -364,6 +379,14 @@ gw.revisionSelected.connect(self.goto)
return gw
+ def createMQWidget(self):
+ mqw = mq.MQWidget(self.repo, self)
+ mqw.output.connect(self.output)
+ mqw.progress.connect(self.progress)
+ mqw.makeLogVisible.connect(self.makeLogVisible)
+ mqw.showMessage.connect(self.showMessage)
+ return mqw
+
def createPatchBranchWidget(self):
pbw = PatchBranchWidget(self.repo, parent=self)
pbw.output.connect(self.output)
@@ -371,16 +394,6 @@ pbw.makeLogVisible.connect(self.makeLogVisible)
return pbw
- def updatePatchBranchTab(self):
- "Only show pbranch tab when pbranch extension is installed"
- tt = self.taskTabsWidget
- w = self.pbranchDemand
- self.pbranchTabIndex = idx = tt.indexOf(w)
- if 'pbranch' in self.repo.extensions():
- if idx == -1:
- self.pbranchTabIndex = idx = tt.addTab(w, geticon('branch'), '')
- tt.setTabToolTip(idx, _("Patch Branch"))
-
def reponame(self):
return self.repo.shortname
@@ -609,6 +622,8 @@ ttw = self.grepDemand.get()
elif tti == self.pbranchTabIndex:
ttw = self.pbranchDemand.get()
+ elif tti == self.mqTabIndex:
+ ttw = self.mqDemand.get()
if ttw:
ttw.reload()
@@ -639,8 +654,6 @@ 'Repository is reporting its config files have changed'
self.repomodel.invalidate()
self.revDetailsWidget.reload()
- self.updatePatchBranchTab()
- # TODO: emit only if actually changed
self.titleChanged.emit(self.title())
vis = self.repo.ui.configbool('tortoisehg', 'tasktabs')
self.taskTabsWidget.tabBar().setShown(vis)
@@ -791,8 +804,7 @@ (_('Rename patch'), self.qrenameRevision),
(_('Fold patches'), qfoldact),
(_('Delete patches'), qdeleteact),
- (_('Reorder patches'), qreorderact),
- (_('Manage patch queues'), self.qqueueManage)):
+ (_('Reorder patches'), qreorderact)):
act = QAction(name, self)
act.triggered.connect(cb)
acts.append(act)
@@ -821,7 +833,6 @@ qpar = lambda ap, up, qp, wd: qp
applied = lambda ap, up, qp, wd: ap
unapp = lambda ap, up, qp, wd: up
- allctx = lambda ap, up, qp, wd: True
exs = self.repo.extensions()
menu = QMenu(self)
@@ -851,8 +862,6 @@ ('mq', patch, _('Goto patch'), None, self.qgotoRevision),
('mq', patch, _('Rename patch'), None, self.qrenameRevision),
('mq', fixed, _('Strip...'), None, self.stripRevision),
- ('mq', allctx, _('Manage patch queues'), None,
- self.qqueueManage),
('reviewboard', fixed, _('Post to Review Board...'),
'reviewboard', self.sendToReviewBoard)):
if ext and ext not in exs:
@@ -1109,13 +1118,6 @@ dlg.makeLogVisible.connect(self.makeLogVisible)
dlg.exec_()
- def qqueueManage(self):
- dlg = qqueue.QQueueDialog(self.repo, self)
- dlg.finished.connect(dlg.deleteLater)
- dlg.output.connect(self.output)
- dlg.makeLogVisible.connect(self.makeLogVisible)
- dlg.exec_()
-
def runCommand(self, title, cmdline):
if self.runner:
InfoMsgBox(_('Unable to start'),
|
@@ -221,10 +221,11 @@ newseparator(menu='view')
self.actionGroupTaskView = QActionGroup(self)
- self.actionGroupTaskView.triggered.connect(self._switchRepoTaskTab)
- def addtaskview(icon, label):
- index = len(self.actionGroupTaskView.actions())
- a = newaction(label, icon=icon, checkable=True, data=index,
+ self.actionGroupTaskView.triggered.connect(self.onSwitchRepoTaskTab)
+ def addtaskview(icon, label, data=None):
+ if data is None:
+ data = len(self.actionGroupTaskView.actions())
+ a = newaction(label, icon=icon, checkable=True, data=data,
enabled='repoopen', menu='view')
self.actionGroupTaskView.addAction(a)
self.tasktbar.addAction(a)
@@ -235,8 +236,10 @@ addtaskview('annotate', _("&Manifest..."))
addtaskview('repobrowse', _("&Search..."))
addtaskview('view-refresh', _("S&ynchronize..."))
+ self.actionSelectTaskMQ = \
+ addtaskview('qreorder', _("Patch &Queue..."), 'mq')
self.actionSelectTaskPbranch = \
- addtaskview('branch', _("&Patch Branch..."))
+ addtaskview('branch', _("&Patch Branch..."), 'pbranch')
newseparator(menu='view')
newaction(_("&Refresh"), self._repofwd('reload'), icon='reload',
@@ -325,11 +328,14 @@ self.updateMenu()
@pyqtSlot(QAction)
- def _switchRepoTaskTab(self, action):
+ def onSwitchRepoTaskTab(self, action):
rw = self.repoTabsWidget.currentWidget()
if not rw: return
- index = action.data().toPyObject()
- rw.taskTabsWidget.setCurrentIndex(index)
+ index, wasint = action.data().toInt()
+ if wasint:
+ rw.taskTabsWidget.setCurrentIndex(index)
+ else:
+ rw.switchToNamedTaskTab(str(action.data().toString()))
def openRepo(self, repopath):
""" Open repo by openRepoSignal from reporegistry """
@@ -412,16 +418,24 @@
def updateTaskViewMenu(self, taskIndex=0):
- # Fetch selected task tab from current repowidget and check corresponding action in menu
+ 'Update task tab menu for current repository'
if self.repoTabsWidget.count() == 0:
for a in self.actionGroupTaskView.actions():
a.setChecked(False)
+ self.actionSelectTaskMQ.setVisible(False)
self.actionSelectTaskPbranch.setVisible(False)
else:
repoWidget = self.repoTabsWidget.currentWidget()
- self.actionSelectTaskPbranch.setVisible('pbranch' in repoWidget.repo.extensions())
+ exts = repoWidget.repo.extensions()
+ self.actionSelectTaskMQ.setVisible('mq' in exts)
+ self.actionSelectTaskPbranch.setVisible('pbranch' in exts)
taskIndex = repoWidget.taskTabsWidget.currentIndex()
- self.actionGroupTaskView.actions()[taskIndex].setChecked(True)
+ if taskIndex <= 4: # count of standard task tabs
+ self.actionGroupTaskView.actions()[taskIndex].setChecked(True)
+ elif taskIndex == repoWidget.namedTabs.get('mq', None):
+ self.actionSelectTaskMQ.setChecked(True)
+ elif taskIndex == repoWidget.namedTabs.get('pbranch', None):
+ self.actionSelectTaskPbranch.setChecked(True)
@pyqtSlot()
def updateHistoryActions(self):
|
Loading...