Changeset 23808f9cf85e…
Parent 708d95144c97…
by
Changes to 9 files · Browse files at 23808f9cf85e Showing diff from parent 708d95144c97 Diff from another changeset...
@@ -154,7 +154,7 @@ else:
super(MessageEntry, self).keyPressEvent(event)
-class CommitWidget(QWidget):
+class CommitWidget(QWidget, qtlib.TaskWidget):
'A widget that encompasses a StatusWidget and commit extras'
commitButtonEnable = pyqtSignal(bool)
linkActivated = pyqtSignal(QString)
|
@@ -20,7 +20,7 @@ # This widget can be embedded in any application that would like to
# provide search features
-class SearchWidget(QWidget):
+class SearchWidget(QWidget, qtlib.TaskWidget):
'''Working copy and repository search widget'''
showMessage = pyqtSignal(QString)
progress = pyqtSignal(QString, object, QString, QString, object)
|
@@ -90,7 +90,7 @@ _openineditor(self._repo, path, rev, line,
pattern=self._fileview.searchbar.pattern(), parent=self)
-class ManifestWidget(QWidget):
+class ManifestWidget(QWidget, qtlib.TaskWidget):
"""Display file tree and contents at the specified revision"""
revChanged = pyqtSignal(object)
@@ -111,6 +111,9 @@ filecontextmenu = None
subrepocontextmenu = None
+ def canswitch(self):
+ return False
+
def __init__(self, repo, rev=None, parent=None):
super(ManifestWidget, self).__init__(parent)
self._repo = repo
|
@@ -533,7 +533,7 @@ return super(MQPatchesWidget, self).keyPressEvent(event)
-class MQWidget(QWidget):
+class MQWidget(QWidget, qtlib.TaskWidget):
showMessage = pyqtSignal(unicode)
output = pyqtSignal(QString, QString)
progress = pyqtSignal(QString, object, QString, QString, object)
|
@@ -22,7 +22,7 @@ PATCHCACHEPATH = 'thgpbcache'
nullvariant = QVariant()
-class PatchBranchWidget(QWidget):
+class PatchBranchWidget(QWidget, qtlib.TaskWidget):
'''
A widget that show the patch graph and provide actions
for the pbranch extension
|
@@ -891,6 +891,11 @@ def set_enable(self, *args, **kargs):
self.set_prop('setEnabled', *args, **kargs)
+class TaskWidget(object):
+ def canswitch(self):
+ """Return True if the widget allows to switch away from it"""
+ return True
+
class DemandWidget(QWidget):
'Create a widget the first time it is shown'
@@ -924,6 +929,12 @@ self.layout().addWidget(self._widget)
return self._widget
+ def canswitch(self):
+ """Return True if the widget allows to switch away from it"""
+ if self._widget is None:
+ return True
+ return self._widget.canswitch()
+
def __getattr__(self, name):
return getattr(self._widget, name)
|
@@ -685,9 +685,9 @@ def onRevisionClicked(self, rev):
'User clicked on a repoview row'
tw = self.taskTabsWidget
- manifestidx = self.namedTabs['manifest']
- if tw.currentIndex() == manifestidx:
- return # don't switch tabs if we are in manifest mode
+ cw = tw.currentWidget()
+ if not cw.canswitch():
+ return
ctx = self.repo.changectx(rev)
if rev is None:
# Clicking on working copy switches to commit tab
|
@@ -23,7 +23,7 @@ from PyQt4.QtCore import *
from PyQt4.QtGui import *
-class RevDetailsWidget(QWidget):
+class RevDetailsWidget(QWidget, qtlib.TaskWidget):
showMessage = pyqtSignal(QString)
linkActivated = pyqtSignal(unicode)
|
@@ -50,7 +50,7 @@ scheme = 'local'
return user, host, port, folder, passwd, scheme
-class SyncWidget(QWidget):
+class SyncWidget(QWidget, qtlib.TaskWidget):
outgoingNodes = pyqtSignal(object)
incomingBundle = pyqtSignal(QString)
showMessage = pyqtSignal(unicode)
|
Loading...