From 65de6411134ca0a4a59be2b3d9922cbf93d2fe4a Mon Sep 17 00:00:00 2001 From: rainmakerv2 <30595646+rainmakerv3@users.noreply.github.com> Date: Sun, 8 Dec 2024 15:23:16 +0800 Subject: [PATCH] Added omitted functions for buttons --- src/qt_gui/settings_dialog.cpp | 12 ++++++++++-- src/qt_gui/settings_dialog.h | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/qt_gui/settings_dialog.cpp b/src/qt_gui/settings_dialog.cpp index 2273d9319..06dd694f6 100644 --- a/src/qt_gui/settings_dialog.cpp +++ b/src/qt_gui/settings_dialog.cpp @@ -99,12 +99,14 @@ SettingsDialog::SettingsDialog(std::span physical_devices, QWidge Config::save(config_dir / "config.toml"); QWidget::close(); } else if (button == ui->buttonBox->button(QDialogButtonBox::Apply)) { + UpdateSettings(); Config::save(config_dir / "config.toml"); } else if (button == ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)) { Config::setDefaultValues(); + Config::save(config_dir / "config.toml"); LoadValuesFromConfig(); } else if (button == ui->buttonBox->button(QDialogButtonBox::Close)) { - UpdateInstallFolders(); + ResetInstallFolders(); } if (Common::Log::IsActive()) { Common::Log::Filter filter; @@ -223,6 +225,12 @@ SettingsDialog::SettingsDialog(std::span physical_devices, QWidge void SettingsDialog::LoadValuesFromConfig() { std::filesystem::path userdir = Common::FS::GetUserPath(Common::FS::PathType::UserDir); + std::error_code error; + if (!std::filesystem::exists(userdir / "Config.toml", error)) { + Config::load(userdir / "Config.toml"); + return; + } + try { std::ifstream ifs; ifs.exceptions(std::ifstream::failbit | std::ifstream::badbit); @@ -516,7 +524,7 @@ void SettingsDialog::UpdateSettings() { UpdateInstallFolders(); } -void SettingsDialog::UpdateInstallFolders() { +void SettingsDialog::ResetInstallFolders() { std::filesystem::path userdir = Common::FS::GetUserPath(Common::FS::PathType::UserDir); const toml::value data = toml::parse(userdir / "Config.toml"); diff --git a/src/qt_gui/settings_dialog.h b/src/qt_gui/settings_dialog.h index 03e291c04..987b35d45 100644 --- a/src/qt_gui/settings_dialog.h +++ b/src/qt_gui/settings_dialog.h @@ -32,7 +32,7 @@ signals: private: void LoadValuesFromConfig(); void UpdateSettings(); - void UpdateInstallFolders(); + void ResetInstallFolders(); void InitializeEmulatorLanguages(); void OnLanguageChanged(int index); void OnCursorStateChanged(s16 index);