Changeset 68c1c4ab3eeb…
Parent dfc4b5259041…
by
Changes to 3 files · Browse files at 68c1c4ab3eeb Showing diff from parent dfc4b5259041 Diff from another changeset...
@@ -42,6 +42,7 @@ fileDisplayed = pyqtSignal(QString, QString)
showMessage = pyqtSignal(QString)
revisionSelected = pyqtSignal(int)
+ shelveToolExited = pyqtSignal()
searchRequested = pyqtSignal(unicode)
"""Emitted (pattern) when user request to search content"""
@@ -59,6 +60,7 @@ l.setContentsMargins(0,0,0,0)
l.setSpacing(0)
+ self.repo = repo
self.topLayout = QVBoxLayout()
self.labelhbox = hbox = QHBoxLayout()
@@ -168,6 +170,11 @@ self.actionFind.setToolTip(_('Toggle display of text search bar'))
self.actionFind.setShortcut(QKeySequence.Find)
+ self.actionShelf = QAction('Shelve', self)
+ self.actionShelf.setIcon(qtlib.geticon('shelve'))
+ self.actionShelf.setToolTip(_('Open shelve tool'))
+ self.actionShelf.triggered.connect(self.launchShelve)
+
tb = self.diffToolbar
tb.addAction(self.actionDiffMode)
tb.addAction(self.actionFileMode)
@@ -177,6 +184,7 @@ tb.addAction(self.actionPrevDiff)
tb.addSeparator()
tb.addAction(self.actionFind)
+ tb.addAction(self.actionShelf)
self.actionNextLine = QAction('Next line', self)
self.actionNextLine.setShortcut(Qt.SHIFT + Qt.Key_Down)
@@ -199,6 +207,14 @@ self.timer.setSingleShot(False)
self.timer.timeout.connect(self.timerBuildDiffMarkers)
+ def launchShelve(self):
+ from tortoisehg.hgqt import shelve
+ # TODO: pass self._filename
+ dlg = shelve.ShelveDialog(self.repo, self)
+ dlg.finished.connect(dlg.deleteLater)
+ dlg.exec_()
+ self.shelveToolExited.emit()
+
def setFont(self, font):
self.sci.setFont(font)
@@ -248,6 +264,7 @@ self._p_rev = None
self.sci.setTabWidth(ctx._repo.tabwidth)
self.actionAnnMode.setVisible(ctx.rev() != None)
+ self.actionShelf.setVisible(ctx.rev() == None)
def displayDiff(self, rev):
if rev != self._p_rev:
@@ -281,14 +298,12 @@ self.forceMode('file')
return
- ctx = self._ctx
- repo = ctx._repo
if self._p_rev is not None:
- ctx2 = repo[self._p_rev]
+ ctx2 = self.repo[self._p_rev]
else:
ctx2 = None
- fd = FileData(ctx, ctx2, filename, status)
+ fd = FileData(self._ctx, ctx2, filename, status)
if fd.elabel:
self.extralabel.setText(fd.elabel)
@@ -380,12 +395,11 @@ @pyqtSlot(unicode, object, int)
def editSelected(self, path, rev, line):
"""Open editor to show the specified file"""
- repo = self._ctx._repo
path = hglib.fromunicode(path)
- base = visdiff.snapshot(repo, [path], repo[rev])[0]
+ base = visdiff.snapshot(self.repo, [path], self.repo[rev])[0]
files = [os.path.join(base, path)]
pattern = hglib.fromunicode(self._lastSearch[0])
- wctxactions.edit(self, repo.ui, repo, files, line, pattern)
+ wctxactions.edit(self, self.repo.ui, self.repo, files, line, pattern)
@pyqtSlot(unicode, bool, bool, bool)
def find(self, exp, icase=True, wrap=False, forward=True):
|
@@ -17,7 +17,7 @@
from tortoisehg.util import hglib, patchctx
from tortoisehg.hgqt.i18n import _
-from tortoisehg.hgqt import qtlib, cmdui, rejects, commit, shelve, qscilib
+from tortoisehg.hgqt import qtlib, cmdui, rejects, commit, qscilib
from tortoisehg.hgqt import qqueue, fileview
# TODO: Disable MQ toolbar while cmdui.Runner is busy
@@ -63,6 +63,7 @@
self.fileview.showMessage.connect(self.showMessage)
self.fileview.setContext(repo[None])
+ self.fileview.shelveToolExited.connect(self.reload)
# Patch Queue Frame
layout = QVBoxLayout()
@@ -143,11 +144,9 @@ qrefhbox.setContentsMargins(0, 0, 0, 0)
self.qqueueBtn = QPushButton(_('Manage queues'))
self.qqueueBtn.setMinimumWidth(150)
- self.shelveBtn = QPushButton(_('Shelve'))
self.qnewOrRefreshBtn = QPushButton(_('QRefresh'))
qrefhbox.addWidget(self.qqueueBtn)
qrefhbox.addStretch(1)
- qrefhbox.addWidget(self.shelveBtn)
qrefhbox.addWidget(self.qnewOrRefreshBtn)
# Command runner and connections...
@@ -158,7 +157,6 @@ self.cmd.commandFinished.connect(self.onCommandFinished)
self.qqueueBtn.clicked.connect(self.launchQQueueTool)
- self.shelveBtn.clicked.connect(self.launchShelveTool)
self.optionsBtn.clicked.connect(self.launchOptionsDialog)
self.revisionOrCommitBtn.clicked.connect(self.qinitOrCommit)
self.msgSelectCombo.activated.connect(self.onMessageSelected)
@@ -439,13 +437,6 @@ self.reload()
@pyqtSlot()
- def launchShelveTool(self):
- dlg = shelve.ShelveDialog(self.repo, self)
- dlg.finished.connect(dlg.deleteLater)
- dlg.exec_()
- self.reload()
-
- @pyqtSlot()
def launchOptionsDialog(self):
dlg = OptionsDialog(self)
dlg.finished.connect(dlg.deleteLater)
|
@@ -178,15 +178,10 @@ self.fileview.showMessage.connect(self.showMessage)
self.fileview.linkActivated.connect(self.linkActivated)
self.fileview.fileDisplayed.connect(self.fileDisplayed)
+ self.fileview.shelveToolExited.connect(self.refreshWctx)
self.fileview.setContext(self.repo[None])
vbox.addWidget(self.fileview, 1)
- lbltext = u'<a href="shelve:">' + _('shelve tool') + u'</a>'
- self.shelflabel = QLabel(lbltext)
- self.shelflabel.linkActivated.connect(self.linkActivated)
- self.fileview.labelhbox.addStretch(1)
- self.fileview.labelhbox.addWidget(self.shelflabel)
-
self.split = split
self.diffvbox = vbox
@@ -701,23 +696,11 @@ layout.addWidget(self.statusbar)
self.stwidget.showMessage.connect(self.statusbar.showMessage)
self.stwidget.progress.connect(self.statusbar.progress)
- self.stwidget.linkActivated.connect(self.linkActivated)
self.stwidget.titleTextChanged.connect(self.setWindowTitle)
self.setWindowTitle(self.stwidget.getTitle())
QTimer.singleShot(0, self.stwidget.refreshWctx)
- @pyqtSlot(QString)
- def linkActivated(self, link):
- link = unicode(link)
- repo = self.stwidget.repo
- if link.startswith('shelve:'):
- from tortoisehg.hgqt import shelve
- dlg = shelve.ShelveDialog(self.stwidget.repo, self)
- dlg.finished.connect(dlg.deleteLater)
- dlg.exec_()
- self.stwidget.refreshWctx()
-
def keyPressEvent(self, event):
if event.matches(QKeySequence.Refresh):
self.stwidget.refreshWctx()
|
Loading...