Project/Project.py

changeset 2853
0866c3aac79f
parent 2798
c349fa5fe7c0
child 2888
e96fd56843d3
child 2911
ce77f0b1ee67
equal deleted inserted replaced
2848:15c84f1f745a 2853:0866c3aac79f
81 @signal reinitVCS() emitted after the VCS has been reinitialized 81 @signal reinitVCS() emitted after the VCS has been reinitialized
82 @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name 82 @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name
83 of the menu and a reference to the menu are given. 83 of the menu and a reference to the menu are given.
84 @signal lexerAssociationsChanged() emitted after the lexer associations have been 84 @signal lexerAssociationsChanged() emitted after the lexer associations have been
85 changed 85 changed
86 @signal projectChanged() emitted to signal a change of the project
86 """ 87 """
87 dirty = pyqtSignal(int) 88 dirty = pyqtSignal(int)
88 projectLanguageAdded = pyqtSignal(str) 89 projectLanguageAdded = pyqtSignal(str)
89 projectLanguageAddedByCode = pyqtSignal(str) 90 projectLanguageAddedByCode = pyqtSignal(str)
90 projectLanguageRemoved = pyqtSignal(str) 91 projectLanguageRemoved = pyqtSignal(str)
114 completeRepopulateItem = pyqtSignal(str) 115 completeRepopulateItem = pyqtSignal(str)
115 vcsStatusMonitorStatus = pyqtSignal(str, str) 116 vcsStatusMonitorStatus = pyqtSignal(str, str)
116 reinitVCS = pyqtSignal() 117 reinitVCS = pyqtSignal()
117 showMenu = pyqtSignal(str, QMenu) 118 showMenu = pyqtSignal(str, QMenu)
118 lexerAssociationsChanged = pyqtSignal() 119 lexerAssociationsChanged = pyqtSignal()
120 projectChanged = pyqtSignal()
119 121
120 keynames = [ 122 keynames = [
121 "PROGLANGUAGE", "MIXEDLANGUAGE", "PROJECTTYPE", 123 "PROGLANGUAGE", "MIXEDLANGUAGE", "PROJECTTYPE",
122 "SPELLLANGUAGE", "SPELLWORDS", "SPELLEXCLUDES", 124 "SPELLLANGUAGE", "SPELLWORDS", "SPELLEXCLUDES",
123 "DESCRIPTION", "VERSION", "HASH", 125 "DESCRIPTION", "VERSION", "HASH",
581 @param b dirty state (boolean) 583 @param b dirty state (boolean)
582 """ 584 """
583 self.__dirty = b 585 self.__dirty = b
584 self.saveAct.setEnabled(b) 586 self.saveAct.setEnabled(b)
585 self.dirty.emit(bool(b)) 587 self.dirty.emit(bool(b))
588 if self.__dirty:
589 self.projectChanged.emit()
586 590
587 def isDirty(self): 591 def isDirty(self):
588 """ 592 """
589 Public method to return the dirty state. 593 Public method to return the dirty state.
590 594
2271 # start the VCS monitor thread 2275 # start the VCS monitor thread
2272 if self.vcs is not None: 2276 if self.vcs is not None:
2273 self.vcs.startStatusMonitor(self) 2277 self.vcs.startStatusMonitor(self)
2274 self.vcs.vcsStatusMonitorData.connect(self.__model.changeVCSStates) 2278 self.vcs.vcsStatusMonitorData.connect(self.__model.changeVCSStates)
2275 self.vcs.vcsStatusMonitorStatus.connect(self.__statusMonitorStatus) 2279 self.vcs.vcsStatusMonitorStatus.connect(self.__statusMonitorStatus)
2280 self.vcs.vcsStatusChanged.connect(self.__vcsStatusChanged)
2276 self.reinitVCS.emit() 2281 self.reinitVCS.emit()
2277 2282
2278 if self.pudata["VCSSTATUSMONITORINTERVAL"]: 2283 if self.pudata["VCSSTATUSMONITORINTERVAL"]:
2279 self.setStatusMonitorInterval( 2284 self.setStatusMonitorInterval(
2280 self.pudata["VCSSTATUSMONITORINTERVAL"][0]) 2285 self.pudata["VCSSTATUSMONITORINTERVAL"][0])
2466 self.vcs.startStatusMonitor(self) 2471 self.vcs.startStatusMonitor(self)
2467 self.vcs.vcsStatusMonitorData.connect( 2472 self.vcs.vcsStatusMonitorData.connect(
2468 self.__model.changeVCSStates) 2473 self.__model.changeVCSStates)
2469 self.vcs.vcsStatusMonitorStatus.connect( 2474 self.vcs.vcsStatusMonitorStatus.connect(
2470 self.__statusMonitorStatus) 2475 self.__statusMonitorStatus)
2476 self.vcs.vcsStatusChanged.connect(
2477 self.__vcsStatusChanged)
2471 else: 2478 else:
2472 QApplication.restoreOverrideCursor() 2479 QApplication.restoreOverrideCursor()
2473 2480
2474 def reopenProject(self): 2481 def reopenProject(self):
2475 """ 2482 """
3951 """ 3958 """
3952 vcsSystemsDict = e5App().getObject("PluginManager")\ 3959 vcsSystemsDict = e5App().getObject("PluginManager")\
3953 .getPluginDisplayStrings("version_control") 3960 .getPluginDisplayStrings("version_control")
3954 return len(vcsSystemsDict) != 0 3961 return len(vcsSystemsDict) != 0
3955 3962
3963 def __vcsStatusChanged(self):
3964 """
3965 Private slot to handle a change of the overall VCS status.
3966 """
3967 self.projectChanged.emit()
3968
3956 ######################################################################### 3969 #########################################################################
3957 ## Below is the interface to the checker tools 3970 ## Below is the interface to the checker tools
3958 ######################################################################### 3971 #########################################################################
3959 3972
3960 def __showContextMenuChecks(self): 3973 def __showContextMenuChecks(self):

eric ide

mercurial