diff options
Diffstat (limited to 'Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/Config/Mapping/MappingBool.cpp | 25 |
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); } |
