Project/Project.py

branch
Py2 comp.
changeset 2911
ce77f0b1ee67
parent 2847
1843ef6e2656
parent 2853
0866c3aac79f
child 3056
9986ec0e559a
equal deleted inserted replaced
2847:1843ef6e2656 2911:ce77f0b1ee67
87 @signal reinitVCS() emitted after the VCS has been reinitialized 87 @signal reinitVCS() emitted after the VCS has been reinitialized
88 @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name 88 @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name
89 of the menu and a reference to the menu are given. 89 of the menu and a reference to the menu are given.
90 @signal lexerAssociationsChanged() emitted after the lexer associations have been 90 @signal lexerAssociationsChanged() emitted after the lexer associations have been
91 changed 91 changed
92 @signal projectChanged() emitted to signal a change of the project
92 """ 93 """
93 dirty = pyqtSignal(int) 94 dirty = pyqtSignal(int)
94 projectLanguageAdded = pyqtSignal(str) 95 projectLanguageAdded = pyqtSignal(str)
95 projectLanguageAddedByCode = pyqtSignal(str) 96 projectLanguageAddedByCode = pyqtSignal(str)
96 projectLanguageRemoved = pyqtSignal(str) 97 projectLanguageRemoved = pyqtSignal(str)
120 completeRepopulateItem = pyqtSignal(str) 121 completeRepopulateItem = pyqtSignal(str)
121 vcsStatusMonitorStatus = pyqtSignal(str, str) 122 vcsStatusMonitorStatus = pyqtSignal(str, str)
122 reinitVCS = pyqtSignal() 123 reinitVCS = pyqtSignal()
123 showMenu = pyqtSignal(str, QMenu) 124 showMenu = pyqtSignal(str, QMenu)
124 lexerAssociationsChanged = pyqtSignal() 125 lexerAssociationsChanged = pyqtSignal()
126 projectChanged = pyqtSignal()
125 127
126 keynames = [ 128 keynames = [
127 "PROGLANGUAGE", "MIXEDLANGUAGE", "PROJECTTYPE", 129 "PROGLANGUAGE", "MIXEDLANGUAGE", "PROJECTTYPE",
128 "SPELLLANGUAGE", "SPELLWORDS", "SPELLEXCLUDES", 130 "SPELLLANGUAGE", "SPELLWORDS", "SPELLEXCLUDES",
129 "DESCRIPTION", "VERSION", "HASH", 131 "DESCRIPTION", "VERSION", "HASH",
587 @param b dirty state (boolean) 589 @param b dirty state (boolean)
588 """ 590 """
589 self.__dirty = b 591 self.__dirty = b
590 self.saveAct.setEnabled(b) 592 self.saveAct.setEnabled(b)
591 self.dirty.emit(bool(b)) 593 self.dirty.emit(bool(b))
594 if self.__dirty:
595 self.projectChanged.emit()
592 596
593 def isDirty(self): 597 def isDirty(self):
594 """ 598 """
595 Public method to return the dirty state. 599 Public method to return the dirty state.
596 600
2277 # start the VCS monitor thread 2281 # start the VCS monitor thread
2278 if self.vcs is not None: 2282 if self.vcs is not None:
2279 self.vcs.startStatusMonitor(self) 2283 self.vcs.startStatusMonitor(self)
2280 self.vcs.vcsStatusMonitorData.connect(self.__model.changeVCSStates) 2284 self.vcs.vcsStatusMonitorData.connect(self.__model.changeVCSStates)
2281 self.vcs.vcsStatusMonitorStatus.connect(self.__statusMonitorStatus) 2285 self.vcs.vcsStatusMonitorStatus.connect(self.__statusMonitorStatus)
2286 self.vcs.vcsStatusChanged.connect(self.__vcsStatusChanged)
2282 self.reinitVCS.emit() 2287 self.reinitVCS.emit()
2283 2288
2284 if self.pudata["VCSSTATUSMONITORINTERVAL"]: 2289 if self.pudata["VCSSTATUSMONITORINTERVAL"]:
2285 self.setStatusMonitorInterval( 2290 self.setStatusMonitorInterval(
2286 self.pudata["VCSSTATUSMONITORINTERVAL"][0]) 2291 self.pudata["VCSSTATUSMONITORINTERVAL"][0])
2472 self.vcs.startStatusMonitor(self) 2477 self.vcs.startStatusMonitor(self)
2473 self.vcs.vcsStatusMonitorData.connect( 2478 self.vcs.vcsStatusMonitorData.connect(
2474 self.__model.changeVCSStates) 2479 self.__model.changeVCSStates)
2475 self.vcs.vcsStatusMonitorStatus.connect( 2480 self.vcs.vcsStatusMonitorStatus.connect(
2476 self.__statusMonitorStatus) 2481 self.__statusMonitorStatus)
2482 self.vcs.vcsStatusChanged.connect(
2483 self.__vcsStatusChanged)
2477 else: 2484 else:
2478 QApplication.restoreOverrideCursor() 2485 QApplication.restoreOverrideCursor()
2479 2486
2480 def reopenProject(self): 2487 def reopenProject(self):
2481 """ 2488 """
3957 """ 3964 """
3958 vcsSystemsDict = e5App().getObject("PluginManager")\ 3965 vcsSystemsDict = e5App().getObject("PluginManager")\
3959 .getPluginDisplayStrings("version_control") 3966 .getPluginDisplayStrings("version_control")
3960 return len(vcsSystemsDict) != 0 3967 return len(vcsSystemsDict) != 0
3961 3968
3969 def __vcsStatusChanged(self):
3970 """
3971 Private slot to handle a change of the overall VCS status.
3972 """
3973 self.projectChanged.emit()
3974
3962 ######################################################################### 3975 #########################################################################
3963 ## Below is the interface to the checker tools 3976 ## Below is the interface to the checker tools
3964 ######################################################################### 3977 #########################################################################
3965 3978
3966 def __showContextMenuChecks(self): 3979 def __showContextMenuChecks(self):

eric ide

mercurial