From 80d9e79cf1f56101f47e528ed390243e7fe790bf Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Thu, 19 May 2022 22:33:15 -0500 Subject: ControllerEmu: Allow settings to be categorized as "advanced". Make "Virtual Notches" and "Gate Size" categorized as such. --- .../InputCommon/ControllerEmu/Setting/NumericSetting.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h') diff --git a/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h b/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h index 467e55f039..34321d0ebc 100644 --- a/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h +++ b/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h @@ -20,13 +20,20 @@ enum class SettingType Bool, }; +enum class SettingVisibility +{ + Normal, + Advanced, +}; + struct NumericSettingDetails { NumericSettingDetails(const char* const _ini_name, const char* const _ui_suffix = nullptr, const char* const _ui_description = nullptr, - const char* const _ui_name = nullptr) + const char* const _ui_name = nullptr, + SettingVisibility _visibility = SettingVisibility::Normal) : ini_name(_ini_name), ui_suffix(_ui_suffix), ui_description(_ui_description), - ui_name(_ui_name ? _ui_name : _ini_name) + ui_name(_ui_name ? _ui_name : _ini_name), visibility(_visibility) { } @@ -41,6 +48,9 @@ struct NumericSettingDetails // The name used in the UI (if different from ini file). const char* const ui_name; + + // Advanced settings should be harder to change in the UI. They might confuse users. + const SettingVisibility visibility; }; class NumericSettingBase -- cgit v1.2.3 From 4c409411edb2957a0f6505aaf6c93e5c6c71f896 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Thu, 19 May 2022 22:47:30 -0500 Subject: DolphinQt: Don't show the advanced input settings on the main dialog. --- Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h') diff --git a/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h b/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h index 34321d0ebc..8b36ab117e 100644 --- a/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h +++ b/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h @@ -76,9 +76,12 @@ public: virtual SettingType GetType() const = 0; + virtual void SetToDefault() = 0; + const char* GetUIName() const; const char* GetUISuffix() const; const char* GetUIDescription() const; + SettingVisibility GetVisibility() const; protected: NumericSettingDetails m_details; @@ -102,9 +105,11 @@ public: : NumericSettingBase(details), m_value(*value), m_default_value(default_value), m_min_value(min_value), m_max_value(max_value) { - m_value.SetValue(m_default_value); + SetToDefault(); } + void SetToDefault() override { m_value.SetValue(m_default_value); } + void LoadFromIni(const IniFile::Section& section, const std::string& group_name) override { std::string str_value; -- cgit v1.2.3