diff --git a/novelwriter/core/project.py b/novelwriter/core/project.py index 64c0b148..a9b22312 100644 --- a/novelwriter/core/project.py +++ b/novelwriter/core/project.py @@ -251,6 +251,9 @@ class NWProject(QObject): """ self.clearProject() if not self._storage.openProjectInPlace(projPath): + self.mainGui.makeAlert(self.tr( + "Could not open project with path: {0}" + ).format(projPath), nwAlert.ERROR) return False logger.info("Opening project: %s", projPath) diff --git a/novelwriter/core/storage.py b/novelwriter/core/storage.py index 9d0746c4..3d23efbc 100644 --- a/novelwriter/core/storage.py +++ b/novelwriter/core/storage.py @@ -102,6 +102,10 @@ class NWStorage: # but it can point to a folder containing files inPath = inPath.parent + if not (inPath.is_dir() or newProject): + # If the project is not new, the folder must already exist. + return False + self._storagePath = inPath self._runtimePath = inPath self._lockFilePath = inPath / nwFiles.PROJ_LOCK @@ -114,7 +118,9 @@ class NWStorage: return True def openProjectArchive(self, path): # pragma: no cover - pass + """Placeholder for later implementation. See #977. + """ + return False def runPostSaveTasks(self, autoSave=False): # pragma: no cover """Run tasks after the project has been saved.