From 0f89be0a53ebb4c42036e037fd908cd1f0e413ea Mon Sep 17 00:00:00 2001 From: Timothy Schoen Date: Thu, 16 Nov 2023 18:02:31 +0100 Subject: [PATCH] Dialog last path fixes --- Source/Dialogs/Dialogs.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Dialogs/Dialogs.cpp b/Source/Dialogs/Dialogs.cpp index f3a36bd92..35e16ec53 100644 --- a/Source/Dialogs/Dialogs.cpp +++ b/Source/Dialogs/Dialogs.cpp @@ -630,7 +630,8 @@ void Dialogs::showOpenDialog(std::function callback, bool canSelect fileChooser->launchAsync(openChooserFlags, [callback, lastFileId](FileChooser const& fileChooser) { auto result = fileChooser.getResult(); - SettingsFile::getInstance()->setLastBrowserPathForId(lastFileId, result); + auto lastDir = result.isDirectory() ? result : result.getParentDirectory(); + SettingsFile::getInstance()->setLastBrowserPathForId(lastFileId, lastDir); callback(result); }); } @@ -661,7 +662,7 @@ void Dialogs::showSaveDialog(std::function callback, const String& auto parentDirectory = result.getParentDirectory(); if(parentDirectory.exists()) { SettingsFile::getInstance()->setLastBrowserPathForId(lastFileId, parentDirectory); + callback(result); } - callback(result); }); }