summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp
index a05cfc1147..1112f3b5e2 100644
--- a/Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp
+++ b/Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp
@@ -10,23 +10,20 @@
#include "InputCommon/ControllerEmu/Setting/BooleanSetting.h"
#include "InputCommon/ControllerInterface/ControllerInterface.h"
-MappingBool::MappingBool(MappingWidget* widget, ControllerEmu::BooleanSetting* setting)
- : QCheckBox(tr(setting->m_ui_name.c_str())), m_parent(widget), m_setting(setting)
+MappingBool::MappingBool(MappingWidget* parent, ControllerEmu::BooleanSetting* setting)
+ : QCheckBox(tr(setting->m_ui_name.c_str())), m_setting(*setting)
{
- Update();
- Connect();
-}
-
-void MappingBool::Connect()
-{
- connect(this, &QCheckBox::stateChanged, this, [this](int value) {
- m_setting->SetValue(value);
- m_parent->SaveSettings();
- m_parent->GetController()->UpdateReferences(g_controller_interface);
+ connect(this, &QCheckBox::stateChanged, this, [this, parent](int value) {
+ m_setting.SetValue(value);
+ parent->SaveSettings();
});
+
+ connect(parent, &MappingWidget::ConfigChanged, this, &MappingBool::ConfigChanged);
}
-void MappingBool::Update()
+void MappingBool::ConfigChanged()
{
- setChecked(m_setting->GetValue());
+ const bool old_state = blockSignals(true);
+ setChecked(m_setting.GetValue());
+ blockSignals(old_state);
}