summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorlat9nq <22451773+lat9nq@users.noreply.github.com>2023-08-21 22:03:30 +0200
committerlat9nq <22451773+lat9nq@users.noreply.github.com>2023-08-22 22:07:52 +0200
commit387ede76d2e1e427f6722cbe19a018c95d762748 (patch)
tree49f5a327eac0238c0e5197550f4753da592212b7 /src/common
parentshared_widget: Implement radio groups (diff)
downloadyuzu-387ede76d2e1e427f6722cbe19a018c95d762748.tar
yuzu-387ede76d2e1e427f6722cbe19a018c95d762748.tar.gz
yuzu-387ede76d2e1e427f6722cbe19a018c95d762748.tar.bz2
yuzu-387ede76d2e1e427f6722cbe19a018c95d762748.tar.lz
yuzu-387ede76d2e1e427f6722cbe19a018c95d762748.tar.xz
yuzu-387ede76d2e1e427f6722cbe19a018c95d762748.tar.zst
yuzu-387ede76d2e1e427f6722cbe19a018c95d762748.zip
Diffstat (limited to 'src/common')
-rw-r--r--src/common/settings.h8
-rw-r--r--src/common/settings_common.h1
-rw-r--r--src/common/settings_enums.h2
3 files changed, 10 insertions, 1 deletions
diff --git a/src/common/settings.h b/src/common/settings.h
index 4407c1e6d..6d44fc626 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -379,7 +379,13 @@ struct Values {
Setting<s32> current_user{linkage, 0, "current_user", Category::System};
- SwitchableSetting<bool> use_docked_mode{linkage, true, "use_docked_mode", Category::System};
+ SwitchableSetting<ConsoleMode> use_docked_mode{linkage,
+ ConsoleMode::Docked,
+ "use_docked_mode",
+ Category::System,
+ Specialization::Radio,
+ true,
+ true};
// Controls
InputSetting<std::array<PlayerInput, 10>> players;
diff --git a/src/common/settings_common.h b/src/common/settings_common.h
index 2efb329b0..3082e0ce1 100644
--- a/src/common/settings_common.h
+++ b/src/common/settings_common.h
@@ -56,6 +56,7 @@ enum Specialization : u8 {
Scalar = 5, // Values are continuous
Countable = 6, // Can be stepped through
Paired = 7, // Another setting is associated with this setting
+ Radio = 8, // Setting should be presented in a radio group
Percentage = (1 << SpecializationAttributeOffset), // Should be represented as a percentage
};
diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h
index e7cb59ea5..815cafe15 100644
--- a/src/common/settings_enums.h
+++ b/src/common/settings_enums.h
@@ -146,6 +146,8 @@ ENUM(AntiAliasing, None, Fxaa, Smaa, MaxEnum);
ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, Stretch);
+ENUM(ConsoleMode, Handheld, Docked);
+
template <typename Type>
inline std::string CanonicalizeEnum(Type id) {
const auto group = EnumMetadata<Type>::Canonicalizations();