Ensure that all folders exist when a new project has been created, but also check that the project folder was empty

This commit is contained in:
Veronica K. B. Olsen
2020-05-30 14:56:47 +02:00
parent 25aedc398b
commit f3f61c43f0
2 changed files with 21 additions and 7 deletions
+13 -1
View File
@@ -179,6 +179,7 @@ class NWProject():
hScene = self.newFile("New Scene", nwItemClass.NOVEL, hChapt)
self.projOpened = time()
self.setProjectChanged(True)
self.saveProject(autoSave=True)
return True
def clearProject(self):
@@ -674,7 +675,7 @@ class NWProject():
# Setters
##
def setProjectPath(self, projPath):
def setProjectPath(self, projPath, newProject=False):
"""Set the project storage path, and also expand ~ to the user
directory using the path library.
"""
@@ -684,7 +685,18 @@ class NWProject():
if projPath.startswith("~"):
projPath = path.expanduser(projPath)
self.projPath = path.abspath(projPath)
if newProject and self.mainConf.showGUI:
if listdir(self.projPath):
self.theParent.makeAlert((
"New project folder is not empty. "
"Each project requires a dedicated project folder."
), nwAlert.ERROR)
return False
self.ensureFolderStructure()
self.setProjectChanged(True)
return True
def setProjectName(self, projName):
+8 -6
View File
@@ -294,12 +294,14 @@ class GuiMain(QMainWindow):
return False
logger.info("Creating new project")
self.theProject.newProject()
self.theProject.setProjectPath(projPath)
self.rebuildTree()
self.saveProject()
self.hasProject = True
self.statusBar.setRefTime(self.theProject.projOpened)
if self.theProject.setProjectPath(projPath, newProject=True):
self.theProject.newProject()
self.rebuildTree()
self.saveProject()
self.hasProject = True
self.statusBar.setRefTime(self.theProject.projOpened)
else:
return False
return True