Autosaving works, and document and project tracks whether they have been changed or not.
This commit is contained in:
+15
-7
@@ -33,6 +33,7 @@ class NWProject():
|
||||
# Internal
|
||||
self.mainConf = nw.CONFIG
|
||||
self.theParent = theParent
|
||||
self.projChanged = False
|
||||
|
||||
# Project Settings
|
||||
self.projTree = None
|
||||
@@ -111,6 +112,8 @@ class NWProject():
|
||||
|
||||
def clearProject(self):
|
||||
|
||||
self.projChanged = False
|
||||
|
||||
# Project Settings
|
||||
self.projTree = {}
|
||||
self.treeOrder = []
|
||||
@@ -197,6 +200,7 @@ class NWProject():
|
||||
self.theParent.statusBar.setStatus("Opened Project: %s" % self.projName)
|
||||
|
||||
self._scanProjectFolder()
|
||||
self.projChanged = False
|
||||
|
||||
return True
|
||||
|
||||
@@ -255,6 +259,7 @@ class NWProject():
|
||||
|
||||
self.mainConf.setRecent(self.projPath)
|
||||
self.theParent.statusBar.setStatus("Saved Project: %s" % self.projName)
|
||||
self.projChanged = False
|
||||
|
||||
return True
|
||||
|
||||
@@ -264,14 +269,17 @@ class NWProject():
|
||||
|
||||
def setProjectPath(self, projPath):
|
||||
self.projPath = projPath
|
||||
self.projChanged = True
|
||||
return True
|
||||
|
||||
def setProjectName(self, projName):
|
||||
self.projName = projName.strip()
|
||||
self.projChanged = True
|
||||
return True
|
||||
|
||||
def setBookTitle(self, bookTitle):
|
||||
self.bookTitle = bookTitle.strip()
|
||||
self.projChanged = True
|
||||
return True
|
||||
|
||||
def setBookAuthors(self, bookAuthors):
|
||||
@@ -281,18 +289,16 @@ class NWProject():
|
||||
if bookAuthor == "":
|
||||
continue
|
||||
self.bookAuthors.append(bookAuthor)
|
||||
self.projChanged = True
|
||||
return True
|
||||
|
||||
def setTreeOrder(self, newOrder):
|
||||
if len(self.treeOrder) != len(newOrder):
|
||||
logger.warning("Size of new and old tree order does not match")
|
||||
self.treeOrder = newOrder
|
||||
self.projChanged = True
|
||||
return True
|
||||
|
||||
def setItemName(self, tHandle, theName):
|
||||
self.projTree[tHandle].setName(theName)
|
||||
return
|
||||
|
||||
##
|
||||
# Get Functions
|
||||
##
|
||||
@@ -349,16 +355,16 @@ class NWProject():
|
||||
continue
|
||||
fHandle = fileItem[5]+fileItem[7:19]
|
||||
if fHandle in self.treeOrder:
|
||||
logger.verbose("Checking file %s, handle %s: OK" % (fileItem,fHandle))
|
||||
logger.debug("Checking file %s, handle %s: OK" % (fileItem,fHandle))
|
||||
else:
|
||||
logger.verbose("Checking file %s, handle %s: Orphaned" % (fileItem,fHandle))
|
||||
logger.debug("Checking file %s, handle %s: Orphaned" % (fileItem,fHandle))
|
||||
orphanFiles.append(fHandle)
|
||||
|
||||
# Report status
|
||||
if len(orphanFiles) > 0:
|
||||
self.theParent.makeAlert("Found %d orphaned file(s) in project folder!" % len(orphanFiles),1)
|
||||
else:
|
||||
logger.verbose("File check OK")
|
||||
logger.debug("File check OK")
|
||||
return
|
||||
|
||||
# Handle orphans
|
||||
@@ -396,6 +402,8 @@ class NWProject():
|
||||
else:
|
||||
logger.error("Only one trash folder allowed")
|
||||
|
||||
self.projChanged = True
|
||||
|
||||
return
|
||||
|
||||
def _makeStatusIcons(self):
|
||||
|
||||
Reference in New Issue
Block a user