diff options
author | bunnei <bunneidev@gmail.com> | 2021-07-28 11:36:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-28 11:36:42 -0700 |
commit | d05e6003f049d7d478b763c6ec0e474f0f05a713 (patch) | |
tree | 977d98b8d4ac985d6f578615b574e7e6a929ca88 /src/yuzu/configuration/configuration_shared.h | |
parent | 5593a3716e918c36e9e9f4b0709f2f85e083b6bd (diff) | |
parent | 09d6cc99435322c5f480eaa2b0967e33f4966ba6 (diff) |
Merge pull request #6700 from lat9nq/fullscreen-enum
general: Implement FullscreenMode enumeration
Diffstat (limited to 'src/yuzu/configuration/configuration_shared.h')
-rw-r--r-- | src/yuzu/configuration/configuration_shared.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/yuzu/configuration/configuration_shared.h b/src/yuzu/configuration/configuration_shared.h index 1e0ef01ca..5423dbc92 100644 --- a/src/yuzu/configuration/configuration_shared.h +++ b/src/yuzu/configuration/configuration_shared.h @@ -28,7 +28,20 @@ enum class CheckState { // ApplyPerGameSetting, given a Settings::Setting and a Qt UI element, properly applies a Setting void ApplyPerGameSetting(Settings::Setting<bool>* setting, const QCheckBox* checkbox, const CheckState& tracker); -void ApplyPerGameSetting(Settings::Setting<int>* setting, const QComboBox* combobox); +template <typename Type> +void ApplyPerGameSetting(Settings::Setting<Type>* setting, const QComboBox* combobox) { + if (Settings::IsConfiguringGlobal() && setting->UsingGlobal()) { + setting->SetValue(static_cast<Type>(combobox->currentIndex())); + } else if (!Settings::IsConfiguringGlobal()) { + if (combobox->currentIndex() == ConfigurationShared::USE_GLOBAL_INDEX) { + setting->SetGlobal(true); + } else { + setting->SetGlobal(false); + setting->SetValue(static_cast<Type>(combobox->currentIndex() - + ConfigurationShared::USE_GLOBAL_OFFSET)); + } + } +} // Sets a Qt UI element given a Settings::Setting void SetPerGameSetting(QCheckBox* checkbox, const Settings::Setting<bool>* setting); |