summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configuration_shared.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-07-28 11:36:42 -0700
committerGitHub <noreply@github.com>2021-07-28 11:36:42 -0700
commitd05e6003f049d7d478b763c6ec0e474f0f05a713 (patch)
tree977d98b8d4ac985d6f578615b574e7e6a929ca88 /src/yuzu/configuration/configuration_shared.h
parent5593a3716e918c36e9e9f4b0709f2f85e083b6bd (diff)
parent09d6cc99435322c5f480eaa2b0967e33f4966ba6 (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.h15
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);