Project/Project.py

changeset 2853
0866c3aac79f
parent 2798
c349fa5fe7c0
child 2888
e96fd56843d3
child 2911
ce77f0b1ee67
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
     #########################################################################

eric ide

mercurial