summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp24
1 files changed, 11 insertions, 13 deletions
diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp
index e5fb3a4548..0de807d68c 100644
--- a/Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp
+++ b/Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp
@@ -10,25 +10,23 @@
#include "InputCommon/ControllerEmu/Setting/NumericSetting.h"
#include "InputCommon/ControllerInterface/ControllerInterface.h"
-MappingNumeric::MappingNumeric(MappingWidget* widget, ControllerEmu::NumericSetting* setting)
- : m_parent(widget), m_setting(setting)
+MappingNumeric::MappingNumeric(MappingWidget* parent, ControllerEmu::NumericSetting* setting)
+ : m_setting(*setting)
{
setRange(setting->m_low, setting->m_high);
- Update();
- Connect();
-}
-void MappingNumeric::Connect()
-{
connect(this, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,
- [this](int value) {
- m_setting->SetValue(static_cast<double>(value) / 100);
- m_parent->SaveSettings();
- m_parent->GetController()->UpdateReferences(g_controller_interface);
+ [this, parent](int value) {
+ m_setting.SetValue(static_cast<double>(value) / 100);
+ parent->SaveSettings();
});
+
+ connect(parent, &MappingWidget::ConfigChanged, this, &MappingNumeric::ConfigChanged);
}
-void MappingNumeric::Update()
+void MappingNumeric::ConfigChanged()
{
- setValue(m_setting->GetValue() * 100);
+ const bool old_state = blockSignals(true);
+ setValue(m_setting.GetValue() * 100);
+ blockSignals(old_state);
}