From 314b69c7d80ac43eb372f9732deb3c701c4f0bed Mon Sep 17 00:00:00 2001 From: Megamouse Date: Mon, 1 Dec 2025 00:48:30 +0100 Subject: [PATCH] Qt: save spinbox values with fmt::format This prevents saving localized strings with different decimal characters --- rpcs3/rpcs3qt/emu_settings.cpp | 10 ++++------ rpcs3/rpcs3qt/memory_viewer_panel.cpp | 4 ++-- rpcs3/rpcs3qt/pad_motion_settings_dialog.cpp | 2 +- rpcs3/rpcs3qt/patch_manager_dialog.cpp | 4 ++-- rpcs3/rpcs3qt/raw_mouse_settings_dialog.cpp | 2 +- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/rpcs3/rpcs3qt/emu_settings.cpp b/rpcs3/rpcs3qt/emu_settings.cpp index bba3b0b235..e9aca513a7 100644 --- a/rpcs3/rpcs3qt/emu_settings.cpp +++ b/rpcs3/rpcs3qt/emu_settings.cpp @@ -668,10 +668,9 @@ void emu_settings::EnhanceSpinBox(QSpinBox* spinbox, emu_settings_type type, con spinbox->setRange(min, max); spinbox->setValue(val); - connect(spinbox, &QSpinBox::textChanged, this, [type, spinbox, this](const QString& /* text*/) + connect(spinbox, &QSpinBox::valueChanged, this, [type, this](int value) { - if (!spinbox) return; - SetSetting(type, spinbox->cleanText().toStdString()); + SetSetting(type, fmt::format("%d", value)); }); connect(this, &emu_settings::RestoreDefaultsSignal, spinbox, [def, spinbox]() @@ -724,10 +723,9 @@ void emu_settings::EnhanceDoubleSpinBox(QDoubleSpinBox* spinbox, emu_settings_ty spinbox->setRange(min, max); spinbox->setValue(val); - connect(spinbox, &QDoubleSpinBox::textChanged, this, [type, spinbox, this](const QString& /* text*/) + connect(spinbox, &QDoubleSpinBox::valueChanged, this, [type, this](double value) { - if (!spinbox) return; - SetSetting(type, spinbox->cleanText().toStdString()); + SetSetting(type, fmt::format("%f", value)); }); connect(this, &emu_settings::RestoreDefaultsSignal, spinbox, [def, spinbox]() diff --git a/rpcs3/rpcs3qt/memory_viewer_panel.cpp b/rpcs3/rpcs3qt/memory_viewer_panel.cpp index 951ff41087..2a8b6c29b1 100644 --- a/rpcs3/rpcs3qt/memory_viewer_panel.cpp +++ b/rpcs3/rpcs3qt/memory_viewer_panel.cpp @@ -432,9 +432,9 @@ memory_viewer_panel::memory_viewer_panel(QWidget* parent, std::shared_ptr(&QSpinBox::valueChanged), this, [=, this]() + connect(sb_words, &QSpinBox::valueChanged, this, [this](int value) { - m_colcount = 1 << sb_words->value(); + m_colcount = 1 << value; ShowMemory(); }); diff --git a/rpcs3/rpcs3qt/pad_motion_settings_dialog.cpp b/rpcs3/rpcs3qt/pad_motion_settings_dialog.cpp index 433f9adb5a..0899096c95 100644 --- a/rpcs3/rpcs3qt/pad_motion_settings_dialog.cpp +++ b/rpcs3/rpcs3qt/pad_motion_settings_dialog.cpp @@ -105,7 +105,7 @@ pad_motion_settings_dialog::pad_motion_settings_dialog(QDialog* parent, std::sha m_config_entries[i]->mirrored.set(state != Qt::Unchecked); }); - connect(m_shifts[i], QOverload::of(&QSpinBox::valueChanged), this, [this, i](int value) + connect(m_shifts[i], &QSpinBox::valueChanged, this, [this, i](int value) { std::lock_guard lock(m_config_mutex); m_config_entries[i]->shift.set(value); diff --git a/rpcs3/rpcs3qt/patch_manager_dialog.cpp b/rpcs3/rpcs3qt/patch_manager_dialog.cpp index a58c4b8662..0df58fb35e 100644 --- a/rpcs3/rpcs3qt/patch_manager_dialog.cpp +++ b/rpcs3/rpcs3qt/patch_manager_dialog.cpp @@ -123,8 +123,8 @@ patch_manager_dialog::patch_manager_dialog(std::shared_ptr gui_set handle_config_value_changed(ui->configurable_combo_box->itemData(index).toDouble()); } }); - connect(ui->configurable_spin_box, QOverload::of(&QSpinBox::valueChanged), this, &patch_manager_dialog::handle_config_value_changed); - connect(ui->configurable_double_spin_box, QOverload::of(&QDoubleSpinBox::valueChanged), this, &patch_manager_dialog::handle_config_value_changed); + connect(ui->configurable_spin_box, &QSpinBox::valueChanged, this, &patch_manager_dialog::handle_config_value_changed); + connect(ui->configurable_double_spin_box, &QDoubleSpinBox::valueChanged, this, &patch_manager_dialog::handle_config_value_changed); connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QWidget::close); connect(ui->buttonBox, &QDialogButtonBox::clicked, [this](QAbstractButton* button) { diff --git a/rpcs3/rpcs3qt/raw_mouse_settings_dialog.cpp b/rpcs3/rpcs3qt/raw_mouse_settings_dialog.cpp index eaacc9c524..57b4f70d02 100644 --- a/rpcs3/rpcs3qt/raw_mouse_settings_dialog.cpp +++ b/rpcs3/rpcs3qt/raw_mouse_settings_dialog.cpp @@ -281,7 +281,7 @@ void raw_mouse_settings_dialog::add_tabs(QTabWidget* tabs) m_accel_spin_boxes.push_back(mouse_acceleration_spin_box); mouse_acceleration_spin_box->setRange(0.1, 10.0); mouse_acceleration_spin_box->setValue(config->mouse_acceleration.get() / 100.0); - connect(mouse_acceleration_spin_box, QOverload::of(&QDoubleSpinBox::valueChanged), this, [player](double value) + connect(mouse_acceleration_spin_box, &QDoubleSpinBox::valueChanged, this, [player](double value) { auto& config = ::at32(g_cfg_raw_mouse.players, player)->mouse_acceleration; config.set(std::clamp(value * 100.0, config.min, config.max));