Changeset c4691fba95aa…
Parent 4d205ef053fa…
by
Changes to 3 files · Browse files at c4691fba95aa Showing diff from parent 4d205ef053fa Diff from another changeset...
@@ -50,6 +50,8 @@ titleChanged = pyqtSignal(unicode)
"""Emitted when changed the expected title for the RepoWidget tab"""
+ showIcon = pyqtSignal(QIcon)
+
repoLinkClicked = pyqtSignal(unicode)
"""Emitted when clicked a link to open repository"""
@@ -64,6 +66,7 @@ self.branch = ''
self.bundle = None
self.revset = []
+ self.busyIcons = []
self.namedTabs = {}
self.repolen = len(repo)
self.destroyed.connect(self.repo.thginvalidate)
@@ -276,10 +279,26 @@ sw.showMessage.connect(self.showMessage)
sw.incomingBundle.connect(self.setBundle)
sw.pullCompleted.connect(self.onPullCompleted)
+ sw.showBusyIcon.connect(self.onShowBusyIcon)
+ sw.hideBusyIcon.connect(self.onHideBusyIcon)
sw.refreshTargets(self.rev)
return sw
@pyqtSlot(QString)
+ def onShowBusyIcon(self, iconname):
+ self.busyIcons.append(iconname)
+ self.showIcon.emit(qtlib.geticon(self.busyIcons[-1]))
+
+ @pyqtSlot(QString)
+ def onHideBusyIcon(self, iconname):
+ if iconname in self.busyIcons:
+ self.busyIcons.remove(iconname)
+ if self.busyIcons:
+ self.showIcon.emit(qtlib.geticon(self.busyIcons[-1]))
+ else:
+ self.showIcon.emit(QIcon())
+
+ @pyqtSlot(QString)
def setBundle(self, bfile):
if self.bundle:
self.clearBundle()
|
@@ -70,6 +70,8 @@ output = pyqtSignal(QString, QString)
progress = pyqtSignal(QString, object, QString, QString, object)
makeLogVisible = pyqtSignal(bool)
+ showBusyIcon = pyqtSignal(QString)
+ hideBusyIcon = pyqtSignal(QString)
def __init__(self, repo, parent, **opts):
QWidget.__init__(self, parent)
@@ -576,11 +578,14 @@ for b in self.opbuttons:
b.setEnabled(False)
self.stopAction.setEnabled(True)
- if not self.embedded:
+ if self.embedded:
+ self.showBusyIcon.emit('thg-sync')
+ else:
self.cmd.setShowOutput(True)
self.cmd.setVisible(True)
def commandFinished(self, ret):
+ self.hideBusyIcon.emit('thg-sync')
self.repo.decrementBusyCount()
for b in self.opbuttons:
b.setEnabled(True)
|
@@ -494,6 +494,8 @@ tw.setCurrentIndex(index)
rw.titleChanged.connect(
lambda title: tw.setTabText(tw.indexOf(rw), title))
+ rw.showIcon.connect(
+ lambda icon: tw.setTabIcon(tw.indexOf(rw), icon))
self.reporegistry.addRepo(repo)
self.updateMenu()
|
Loading...