diff options
| author | Leo Lam <leolino.lam@gmail.com> | 2017-11-11 12:11:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-11 12:11:26 +0100 |
| commit | 41c2618b1067dfac0c65fe3afeb4cf11dd8323db (patch) | |
| tree | 5172db2327c6bd29f413a963aaf87b4786cd8951 /Source | |
| parent | e5d1e2a914e038c94c1898125b24b893c12f5c22 (diff) | |
| parent | 14f22ad829f7beac65756e5fea75a8e02a0ba20f (diff) | |
Merge pull request #6175 from ligfx/qtinputupdateclear
Qt Mapping*: make logic around setting/loading settings more consistent
Diffstat (limited to 'Source')
4 files changed, 12 insertions, 15 deletions
diff --git a/Source/Core/DolphinQt2/Config/Mapping/MappingBool.cpp b/Source/Core/DolphinQt2/Config/Mapping/MappingBool.cpp index 363a41e4ba..1c35a53910 100644 --- a/Source/Core/DolphinQt2/Config/Mapping/MappingBool.cpp +++ b/Source/Core/DolphinQt2/Config/Mapping/MappingBool.cpp @@ -10,7 +10,7 @@ MappingBool::MappingBool(MappingWidget* widget, ControllerEmu::BooleanSetting* setting) : QCheckBox(QString::fromStdString(setting->m_ui_name)), m_parent(widget), m_setting(setting) { - setChecked(setting->GetValue()); + Update(); Connect(); } @@ -18,18 +18,18 @@ void MappingBool::Connect() { connect(this, &QCheckBox::stateChanged, this, [this](int value) { m_setting->SetValue(value); - Update(); + m_parent->SaveSettings(); }); } void MappingBool::Clear() { - setChecked(false); + m_setting->SetValue(false); + m_parent->SaveSettings(); Update(); } void MappingBool::Update() { setChecked(m_setting->GetValue()); - m_parent->SaveSettings(); } diff --git a/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp b/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp index d30be53ec5..dd3254ac26 100644 --- a/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp +++ b/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp @@ -83,9 +83,8 @@ void MappingButton::OnButtonTimeout() void MappingButton::Clear() { - m_parent->Update(); m_reference->SetExpression(""); - Update(); + m_parent->SaveSettings(); } void MappingButton::Update() @@ -93,7 +92,6 @@ void MappingButton::Update() const auto lock = ControllerEmu::EmulatedController::GetStateLock(); m_reference->UpdateReference(g_controller_interface, m_parent->GetParent()->GetDeviceQualifier()); setText(EscapeAmpersand(QString::fromStdString(m_reference->GetExpression()))); - m_parent->SaveSettings(); } void MappingButton::mouseReleaseEvent(QMouseEvent* event) diff --git a/Source/Core/DolphinQt2/Config/Mapping/MappingNumeric.cpp b/Source/Core/DolphinQt2/Config/Mapping/MappingNumeric.cpp index a13d17fa5c..cb59c232c9 100644 --- a/Source/Core/DolphinQt2/Config/Mapping/MappingNumeric.cpp +++ b/Source/Core/DolphinQt2/Config/Mapping/MappingNumeric.cpp @@ -11,7 +11,7 @@ MappingNumeric::MappingNumeric(MappingWidget* widget, ControllerEmu::NumericSett : m_parent(widget), m_setting(setting), m_range(setting->m_high - setting->m_low) { setRange(setting->m_low, setting->m_high); - setValue(setting->m_low + setting->GetValue() * m_range); + Update(); Connect(); } @@ -20,18 +20,18 @@ void MappingNumeric::Connect() connect(this, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, [this](int value) { m_setting->SetValue(static_cast<double>(value - m_setting->m_low) / m_range); - Update(); + m_parent->SaveSettings(); }); } void MappingNumeric::Clear() { - setValue(m_setting->m_low + (m_setting->m_low + m_setting->m_high) / 2); + m_setting->SetValue(m_setting->m_low + (m_setting->m_low + m_setting->m_high) / 2); + m_parent->SaveSettings(); Update(); } void MappingNumeric::Update() { setValue(m_setting->m_low + m_setting->GetValue() * m_range); - m_parent->SaveSettings(); } diff --git a/Source/Core/DolphinQt2/Config/Mapping/MappingWidget.cpp b/Source/Core/DolphinQt2/Config/Mapping/MappingWidget.cpp index bde2f6bcfb..883d329473 100644 --- a/Source/Core/DolphinQt2/Config/Mapping/MappingWidget.cpp +++ b/Source/Core/DolphinQt2/Config/Mapping/MappingWidget.cpp @@ -57,14 +57,15 @@ QGroupBox* MappingWidget::CreateGroupBox(const QString& name, ControllerEmu::Con auto* control_ref = control->control_ref.get(); - connect(button, &MappingButton::AdvancedPressed, [this, control_ref] { + connect(button, &MappingButton::AdvancedPressed, [this, button, control_ref] { if (m_parent->GetDevice() == nullptr) return; IOWindow io(this, m_parent->GetController(), control_ref, control_ref->IsInput() ? IOWindow::Type::Input : IOWindow::Type::Output); io.exec(); - Update(); + SaveSettings(); + button->Update(); }); m_buttons.push_back(button); @@ -111,8 +112,6 @@ void MappingWidget::Update() for (auto* checkbox : m_bools) checkbox->Update(); - - LoadSettings(); } ControllerEmu::EmulatedController* MappingWidget::GetController() const |
