summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
index 09370a1f0b..40ccae24f7 100644
--- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
+++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
@@ -15,13 +15,16 @@
namespace ControllerEmu
{
-ControlGroup::ControlGroup(std::string name_, const GroupType type_)
- : name(name_), ui_name(std::move(name_)), type(type_)
+ControlGroup::ControlGroup(std::string name_, const GroupType type_, CanBeDisabled can_be_disabled_)
+ : name(name_), ui_name(std::move(name_)), type(type_),
+ can_be_disabled(can_be_disabled_ == CanBeDisabled::Yes)
{
}
-ControlGroup::ControlGroup(std::string name_, std::string ui_name_, const GroupType type_)
- : name(std::move(name_)), ui_name(std::move(ui_name_)), type(type_)
+ControlGroup::ControlGroup(std::string name_, std::string ui_name_, const GroupType type_,
+ CanBeDisabled can_be_disabled_)
+ : name(std::move(name_)), ui_name(std::move(ui_name_)), type(type_),
+ can_be_disabled(can_be_disabled_ == CanBeDisabled::Yes)
{
}
@@ -43,6 +46,10 @@ void ControlGroup::LoadConfig(IniFile::Section* sec, const std::string& defdev,
{
const std::string group(base + name + "/");
+ // enabled
+ if (can_be_disabled)
+ sec->Get(group + "Enabled", &enabled, true);
+
for (auto& setting : numeric_settings)
setting->LoadFromIni(*sec, group);
@@ -88,6 +95,9 @@ void ControlGroup::SaveConfig(IniFile::Section* sec, const std::string& defdev,
{
const std::string group(base + name + "/");
+ // enabled
+ sec->Set(group + "Enabled", enabled, true);
+
for (auto& setting : numeric_settings)
setting->SaveToIni(*sec, group);