diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2019-03-26 19:31:03 -0500 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2019-04-07 09:32:49 -0500 |
| commit | 5efb717873691fa42447ca0d9d9810b5ad501b42 (patch) | |
| tree | 4d3f306850c0a1f876489327d7de98ca1c0cba6a /Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp | |
| parent | 75e74315e69df1dc03bbda4373528e9e26274d7d (diff) | |
InputCommon: Clean up how numeric settings are handled. Add units of measure to UI. Eliminate hidden magic values of the IR cursor.
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp | 52 |
1 files changed, 17 insertions, 35 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp index 6e8e5cfb70..4e4d515077 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp @@ -11,7 +11,6 @@ #include "InputCommon/ControllerEmu/Control/Control.h" #include "InputCommon/ControllerEmu/ControlGroup/Attachments.h" #include "InputCommon/ControllerEmu/ControllerEmu.h" -#include "InputCommon/ControllerEmu/Setting/BooleanSetting.h" #include "InputCommon/ControllerEmu/Setting/NumericSetting.h" namespace ControllerEmu @@ -27,30 +26,26 @@ ControlGroup::ControlGroup(const std::string& name_, const std::string& ui_name_ { } +void ControlGroup::AddDeadzoneSetting(SettingValue<double>* value, double maximum_deadzone) +{ + AddSetting(value, + {_trans("Dead Zone"), + // i18n: The percent symbol. + _trans("%"), + // i18n: Refers to the dead-zone setting of gamepad inputs. + _trans("Input strength to ignore.")}, + 0, 0, maximum_deadzone); +} + ControlGroup::~ControlGroup() = default; void ControlGroup::LoadConfig(IniFile::Section* sec, const std::string& defdev, const std::string& base) { - std::string group(base + name + "/"); + const std::string group(base + name + "/"); - // settings - for (auto& s : numeric_settings) - { - if (s->m_type == SettingType::VIRTUAL) - continue; - - sec->Get(group + s->m_name, &s->m_value, s->m_default_value * 100); - s->m_value /= 100; - } - - for (auto& s : boolean_settings) - { - if (s->m_type == SettingType::VIRTUAL) - continue; - - sec->Get(group + s->m_name, &s->m_value, s->m_default_value); - } + for (auto& setting : numeric_settings) + setting->LoadFromIni(*sec, group); for (auto& c : controls) { @@ -92,23 +87,10 @@ void ControlGroup::LoadConfig(IniFile::Section* sec, const std::string& defdev, void ControlGroup::SaveConfig(IniFile::Section* sec, const std::string& defdev, const std::string& base) { - std::string group(base + name + "/"); - - for (auto& s : numeric_settings) - { - if (s->m_type == SettingType::VIRTUAL) - continue; - - sec->Set(group + s->m_name, s->m_value * 100.0, s->m_default_value * 100.0); - } - - for (auto& s : boolean_settings) - { - if (s->m_type == SettingType::VIRTUAL) - continue; + const std::string group(base + name + "/"); - sec->Set(group + s->m_name, s->m_value, s->m_default_value); - } + for (auto& setting : numeric_settings) + setting->SaveToIni(*sec, group); for (auto& c : controls) { |
