Always save project when closing
This commit is contained in:
@@ -74,7 +74,6 @@ class NWProject(QObject):
|
|||||||
# Project Status
|
# Project Status
|
||||||
self._projOpened = 0 # The time stamp of when the project file was opened
|
self._projOpened = 0 # The time stamp of when the project file was opened
|
||||||
self._projChanged = False # The project has unsaved changes
|
self._projChanged = False # The project has unsaved changes
|
||||||
self._projAltered = False # The project has been altered this session
|
|
||||||
self._lockedBy = None # Data on which computer has the project open
|
self._lockedBy = None # Data on which computer has the project open
|
||||||
self._projFiles = [] # A list of all files in the content folder on load
|
self._projFiles = [] # A list of all files in the content folder on load
|
||||||
|
|
||||||
@@ -118,10 +117,6 @@ class NWProject(QObject):
|
|||||||
def projChanged(self):
|
def projChanged(self):
|
||||||
return self._projChanged
|
return self._projChanged
|
||||||
|
|
||||||
@property
|
|
||||||
def projAltered(self):
|
|
||||||
return self._projAltered
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def projFiles(self):
|
def projFiles(self):
|
||||||
return self._projFiles
|
return self._projFiles
|
||||||
@@ -236,7 +231,6 @@ class NWProject(QObject):
|
|||||||
# Project Status
|
# Project Status
|
||||||
self._projOpened = 0
|
self._projOpened = 0
|
||||||
self._projChanged = False
|
self._projChanged = False
|
||||||
self._projAltered = False
|
|
||||||
|
|
||||||
# Project Tree
|
# Project Tree
|
||||||
self._storage.clear()
|
self._storage.clear()
|
||||||
@@ -375,7 +369,6 @@ class NWProject(QObject):
|
|||||||
|
|
||||||
self.updateWordCounts()
|
self.updateWordCounts()
|
||||||
self._projOpened = time()
|
self._projOpened = time()
|
||||||
self._projAltered = False
|
|
||||||
|
|
||||||
self._storage.writeLockFile()
|
self._storage.writeLockFile()
|
||||||
self.setProjectChanged(False)
|
self.setProjectChanged(False)
|
||||||
@@ -559,9 +552,6 @@ class NWProject(QObject):
|
|||||||
if isinstance(value, bool):
|
if isinstance(value, bool):
|
||||||
self._projChanged = value
|
self._projChanged = value
|
||||||
self.projectStatusChanged.emit(self._projChanged)
|
self.projectStatusChanged.emit(self._projChanged)
|
||||||
if value:
|
|
||||||
# If we've changed the project at all, this should be True
|
|
||||||
self._projAltered = True
|
|
||||||
return self._projChanged
|
return self._projChanged
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|||||||
+14
-16
@@ -404,22 +404,20 @@ class GuiMain(QMainWindow):
|
|||||||
if self.docEditor.docChanged():
|
if self.docEditor.docChanged():
|
||||||
self.saveDocument()
|
self.saveDocument()
|
||||||
|
|
||||||
if self.theProject.projAltered:
|
saveOK = self.saveProject()
|
||||||
saveOK = self.saveProject()
|
doBackup = False
|
||||||
doBackup = False
|
if self.theProject.data.doBackup and self.mainConf.backupOnClose:
|
||||||
if self.theProject.data.doBackup and self.mainConf.backupOnClose:
|
doBackup = True
|
||||||
doBackup = True
|
if self.mainConf.askBeforeBackup:
|
||||||
if self.mainConf.askBeforeBackup:
|
msgYes = self.askQuestion(
|
||||||
msgYes = self.askQuestion(
|
self.tr("Backup Project"),
|
||||||
self.tr("Backup Project"),
|
self.tr("Backup the current project?")
|
||||||
self.tr("Backup the current project?")
|
)
|
||||||
)
|
if not msgYes:
|
||||||
if not msgYes:
|
doBackup = False
|
||||||
doBackup = False
|
|
||||||
if doBackup:
|
if doBackup:
|
||||||
self.theProject.backupProject(False)
|
self.theProject.backupProject(False)
|
||||||
else:
|
|
||||||
saveOK = True
|
|
||||||
|
|
||||||
if saveOK:
|
if saveOK:
|
||||||
self.closeDocument()
|
self.closeDocument()
|
||||||
|
|||||||
@@ -516,11 +516,9 @@ def testCoreProject_Methods(monkeypatch, mockGUI, fncPath, mockRnd):
|
|||||||
|
|
||||||
# Spell check
|
# Spell check
|
||||||
theProject.setProjectChanged(False)
|
theProject.setProjectChanged(False)
|
||||||
theProject._projAltered = False
|
|
||||||
theProject.data.setSpellCheck(True)
|
theProject.data.setSpellCheck(True)
|
||||||
theProject.data.setSpellCheck(False)
|
theProject.data.setSpellCheck(False)
|
||||||
assert theProject.projChanged is True
|
assert theProject.projChanged is True
|
||||||
assert theProject.projAltered is True
|
|
||||||
assert theProject.projOpened > 0
|
assert theProject.projOpened > 0
|
||||||
|
|
||||||
# Spell language
|
# Spell language
|
||||||
|
|||||||
Reference in New Issue
Block a user