Remember new project folder last used path (#1930)
This commit is contained in:
@@ -919,15 +919,15 @@ class RecentPaths:
|
||||
def loadCache(self) -> bool:
|
||||
"""Load the cache file for recent projects."""
|
||||
self._data = {}
|
||||
|
||||
cacheFile = self._conf.dataPath(nwFiles.RECENT_PATH)
|
||||
if cacheFile.is_file():
|
||||
try:
|
||||
with open(cacheFile, mode="r", encoding="utf-8") as inFile:
|
||||
data = json.load(inFile)
|
||||
for key, path in data.items():
|
||||
if isinstance(path, str) and key in self.KEYS:
|
||||
data[key] = path
|
||||
if isinstance(data, dict):
|
||||
for key, path in data.items():
|
||||
if key in self.KEYS and isinstance(path, str):
|
||||
self._data[key] = path
|
||||
except Exception:
|
||||
logger.error("Could not load recent paths cache")
|
||||
logException()
|
||||
|
||||
@@ -221,7 +221,6 @@ class GuiWelcome(NDialog):
|
||||
def _browseForProject(self) -> None:
|
||||
"""Browse for a project to open."""
|
||||
if path := SHARED.getProjectPath(self, path=CONFIG.lastPath("project"), allowZip=False):
|
||||
CONFIG.setLastPath("project", path)
|
||||
self._openProjectPath(path)
|
||||
return
|
||||
|
||||
@@ -550,7 +549,7 @@ class _NewProjectForm(QWidget):
|
||||
def __init__(self, parent: QWidget) -> None:
|
||||
super().__init__(parent=parent)
|
||||
|
||||
self._basePath = CONFIG.homePath()
|
||||
self._basePath = CONFIG.lastPath("project")
|
||||
self._fillMode = self.FILL_BLANK
|
||||
self._copyPath = None
|
||||
|
||||
@@ -726,12 +725,13 @@ class _NewProjectForm(QWidget):
|
||||
@pyqtSlot()
|
||||
def _doBrowse(self) -> None:
|
||||
"""Select a project folder."""
|
||||
if projDir := QFileDialog.getExistingDirectory(
|
||||
if path := QFileDialog.getExistingDirectory(
|
||||
self, self.tr("Select Project Folder"),
|
||||
str(self._basePath), options=QFileDialog.Option.ShowDirsOnly
|
||||
):
|
||||
self._basePath = Path(projDir)
|
||||
self._basePath = Path(path)
|
||||
self._updateProjPath()
|
||||
CONFIG.setLastPath("project", path)
|
||||
return
|
||||
|
||||
@pyqtSlot()
|
||||
|
||||
Reference in New Issue
Block a user