--- a/eric7/Project/Project.py Sun Jul 11 16:29:12 2021 +0200 +++ b/eric7/Project/Project.py Mon Jul 12 19:52:49 2021 +0200 @@ -90,7 +90,8 @@ @signal projectOpened() emitted after a project file was read @signal projectClosedHooks() emitted after a project file was closed but before the projectClosed() signal is sent - @signal projectClosed() emitted after a project was closed + @signal projectClosed(shutdown) emitted after a project was closed sending + a flag indicating the IDE shutdown operation @signal projectFileRenamed(str, str) emitted after a file of the project has been renamed @signal projectPropertiesChanged() emitted after the project properties @@ -142,7 +143,7 @@ projectOpenedHooks = pyqtSignal() projectOpened = pyqtSignal() projectClosedHooks = pyqtSignal() - projectClosed = pyqtSignal() + projectClosed = pyqtSignal(bool) projectFileRenamed = pyqtSignal(str, str) projectPropertiesChanged = pyqtSignal() directoryRemoved = pyqtSignal(str) @@ -2077,7 +2078,7 @@ self.pdata[key] = newPdata[key][:] # repopulate the model - self.__model.projectClosed() + self.__model.projectClosed(False) self.__model.projectOpened() def copyDirectory(self, olddn, newdn): @@ -3161,7 +3162,7 @@ self.sessActGrp.setEnabled(ok) self.menuSessionAct.setEnabled(ok) self.projectClosedHooks.emit() - self.projectClosed.emit() + self.projectClosed.emit(False) self.projectOpenedHooks.emit() self.projectOpened.emit() return ok @@ -3197,13 +3198,18 @@ self.loadedDiagram and self.loadedDiagram.close() @pyqtSlot() - def closeProject(self, reopen=False, noSave=False): + def closeProject(self, reopen=False, noSave=False, shutdown=False): """ Public slot to close the current project. - @param reopen flag indicating a reopening of the project (boolean) - @param noSave flag indicating to not perform save actions (boolean) - @return flag indicating success (boolean) + @param reopen flag indicating a reopening of the project + @type bool + @param noSave flag indicating to not perform save actions + @type bool + @param shutdown flag indicating the IDE shutdown + @type bool + @return flag indicating success + @rtype bool """ # save the list of recently opened projects self.__saveRecent() @@ -3296,7 +3302,7 @@ self.__model.projectClosed() self.projectClosedHooks.emit() - self.projectClosed.emit() + self.projectClosed.emit(shutdown) return True