diff options
| author | Mai <mai.iam2048@gmail.com> | 2024-02-07 14:03:12 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-07 14:03:12 -0500 |
| commit | ca81d8b8a635b58636b3e68b9ce7d7add49cccdf (patch) | |
| tree | aa8d5823c0fdc4f78188f9e90c882b8c110ada64 /Source/Core | |
| parent | a50ab40a5fbf4acb179a4c17da5f68a6e7cbf09e (diff) | |
| parent | 1ed7b35710ed9184dbda84214e196d6d8c5bf38e (diff) | |
Merge pull request #12565 from LillyJadeKatrin/retroachievements-bugfix
Retain Save State Folder
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/Config/UISettings.cpp | 1 | ||||
| -rw-r--r-- | Source/Core/Core/Config/UISettings.h | 1 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/MainWindow.cpp | 19 |
3 files changed, 15 insertions, 6 deletions
diff --git a/Source/Core/Core/Config/UISettings.cpp b/Source/Core/Core/Config/UISettings.cpp index 881868433c..c15b19a601 100644 --- a/Source/Core/Core/Config/UISettings.cpp +++ b/Source/Core/Core/Config/UISettings.cpp @@ -15,5 +15,6 @@ const Info<bool> MAIN_USE_GAME_COVERS{{System::Main, "General", "UseGameCovers"} #endif const Info<bool> MAIN_FOCUSED_HOTKEYS{{System::Main, "General", "HotkeysRequireFocus"}, true}; const Info<bool> MAIN_RECURSIVE_ISO_PATHS{{System::Main, "General", "RecursiveISOPaths"}, false}; +const Info<std::string> MAIN_CURRENT_STATE_PATH{{System::Main, "General", "CurrentStatePath"}, ""}; } // namespace Config diff --git a/Source/Core/Core/Config/UISettings.h b/Source/Core/Core/Config/UISettings.h index 4bcc0a0d71..79aec6ffda 100644 --- a/Source/Core/Core/Config/UISettings.h +++ b/Source/Core/Core/Config/UISettings.h @@ -19,5 +19,6 @@ extern const Info<bool> MAIN_USE_DISCORD_PRESENCE; extern const Info<bool> MAIN_USE_GAME_COVERS; extern const Info<bool> MAIN_FOCUSED_HOTKEYS; extern const Info<bool> MAIN_RECURSIVE_ISO_PATHS; +extern const Info<std::string> MAIN_CURRENT_STATE_PATH; } // namespace Config diff --git a/Source/Core/DolphinQt/MainWindow.cpp b/Source/Core/DolphinQt/MainWindow.cpp index 72b075f12b..ff028f5d37 100644 --- a/Source/Core/DolphinQt/MainWindow.cpp +++ b/Source/Core/DolphinQt/MainWindow.cpp @@ -45,6 +45,7 @@ #include "Core/Config/AchievementSettings.h" #include "Core/Config/MainSettings.h" #include "Core/Config/NetplaySettings.h" +#include "Core/Config/UISettings.h" #include "Core/Config/WiimoteSettings.h" #include "Core/Core.h" #include "Core/FreeLookManager.h" @@ -1404,18 +1405,24 @@ void MainWindow::ShowInfinityBase() void MainWindow::StateLoad() { - QString path = - DolphinFileDialog::getOpenFileName(this, tr("Select a File"), QDir::currentPath(), - tr("All Save States (*.sav *.s##);; All Files (*)")); + QString dialog_path = (Config::Get(Config::MAIN_CURRENT_STATE_PATH).empty()) ? + QDir::currentPath() : + QString::fromStdString(Config::Get(Config::MAIN_CURRENT_STATE_PATH)); + QString path = DolphinFileDialog::getOpenFileName( + this, tr("Select a File"), dialog_path, tr("All Save States (*.sav *.s##);; All Files (*)")); + Config::SetBase(Config::MAIN_CURRENT_STATE_PATH, QFileInfo(path).dir().path().toStdString()); if (!path.isEmpty()) State::LoadAs(path.toStdString()); } void MainWindow::StateSave() { - QString path = - DolphinFileDialog::getSaveFileName(this, tr("Select a File"), QDir::currentPath(), - tr("All Save States (*.sav *.s##);; All Files (*)")); + QString dialog_path = (Config::Get(Config::MAIN_CURRENT_STATE_PATH).empty()) ? + QDir::currentPath() : + QString::fromStdString(Config::Get(Config::MAIN_CURRENT_STATE_PATH)); + QString path = DolphinFileDialog::getSaveFileName( + this, tr("Select a File"), dialog_path, tr("All Save States (*.sav *.s##);; All Files (*)")); + Config::SetBase(Config::MAIN_CURRENT_STATE_PATH, QFileInfo(path).dir().path().toStdString()); if (!path.isEmpty()) State::SaveAs(path.toStdString()); } |
