diff -r 15c84f1f745a -r 0866c3aac79f Project/Project.py --- a/Project/Project.py Sun Aug 18 13:20:24 2013 +0200 +++ b/Project/Project.py Mon Aug 19 15:06:05 2013 +0200 @@ -83,6 +83,7 @@ of the menu and a reference to the menu are given. @signal lexerAssociationsChanged() emitted after the lexer associations have been changed + @signal projectChanged() emitted to signal a change of the project """ dirty = pyqtSignal(int) projectLanguageAdded = pyqtSignal(str) @@ -116,6 +117,7 @@ reinitVCS = pyqtSignal() showMenu = pyqtSignal(str, QMenu) lexerAssociationsChanged = pyqtSignal() + projectChanged = pyqtSignal() keynames = [ "PROGLANGUAGE", "MIXEDLANGUAGE", "PROJECTTYPE", @@ -583,6 +585,8 @@ self.__dirty = b self.saveAct.setEnabled(b) self.dirty.emit(bool(b)) + if self.__dirty: + self.projectChanged.emit() def isDirty(self): """ @@ -2273,6 +2277,7 @@ self.vcs.startStatusMonitor(self) self.vcs.vcsStatusMonitorData.connect(self.__model.changeVCSStates) self.vcs.vcsStatusMonitorStatus.connect(self.__statusMonitorStatus) + self.vcs.vcsStatusChanged.connect(self.__vcsStatusChanged) self.reinitVCS.emit() if self.pudata["VCSSTATUSMONITORINTERVAL"]: @@ -2468,6 +2473,8 @@ self.__model.changeVCSStates) self.vcs.vcsStatusMonitorStatus.connect( self.__statusMonitorStatus) + self.vcs.vcsStatusChanged.connect( + self.__vcsStatusChanged) else: QApplication.restoreOverrideCursor() @@ -3953,6 +3960,12 @@ .getPluginDisplayStrings("version_control") return len(vcsSystemsDict) != 0 + def __vcsStatusChanged(self): + """ + Private slot to handle a change of the overall VCS status. + """ + self.projectChanged.emit() + ######################################################################### ## Below is the interface to the checker tools #########################################################################