From b444d6ad247a5a544e1345b454a0f5887f2d6043 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Mon, 5 Oct 2026 16:43:19 +0200 Subject: [PATCH] qt: add value labels to sliders in pad settings --- rpcs3/rpcs3qt/pad_settings_dialog.cpp | 49 ++++++++- rpcs3/rpcs3qt/pad_settings_dialog.ui | 146 ++++++++++++++++++++++---- 2 files changed, 171 insertions(+), 24 deletions(-) diff --git a/rpcs3/rpcs3qt/pad_settings_dialog.cpp b/rpcs3/rpcs3qt/pad_settings_dialog.cpp index 24804d250a..f20c290291 100644 --- a/rpcs3/rpcs3qt/pad_settings_dialog.cpp +++ b/rpcs3/rpcs3qt/pad_settings_dialog.cpp @@ -238,6 +238,18 @@ pad_settings_dialog::pad_settings_dialog(std::shared_ptr gui_setti ui->left_stack->setCurrentIndex(0); ui->right_stack->setCurrentIndex(0); + // Set slider label width + const int slider_label_width = gui::utils::get_label_width(QStringLiteral("100")); + ui->slider_label_stick_left->setFixedWidth(slider_label_width); + ui->slider_label_stick_right->setFixedWidth(slider_label_width); + ui->anti_deadzone_slider_label_stick_left->setFixedWidth(slider_label_width); + ui->anti_deadzone_slider_label_stick_right->setFixedWidth(slider_label_width); + ui->pressure_intensity_deadzone_label->setFixedWidth(slider_label_width); + ui->slider_trigger_left_label->setFixedWidth(slider_label_width); + ui->slider_trigger_right_label->setFixedWidth(slider_label_width); + ui->preview_trigger_left_label->setFixedWidth(slider_label_width); + ui->preview_trigger_right_label->setFixedWidth(slider_label_width); + // Set up first tab OnTabChanged(0); ChangeConfig(ui->chooseConfig->currentText()); @@ -410,26 +422,55 @@ void pad_settings_dialog::InitButtons() }); }); - connect(ui->slider_stick_left, &QSlider::valueChanged, this, [&](int value) + connect(ui->slider_stick_left, &QSlider::valueChanged, this, [this](int value) { + ui->slider_label_stick_left->setText(QString::number(std::round((value * 100.0f) / ui->slider_stick_left->maximum()))); RepaintPreviewLabel(ui->preview_stick_left, value, ui->anti_deadzone_slider_stick_left->value(), ui->slider_stick_left->size().width(), m_lx, m_ly, ui->squircle_left->value(), ui->stick_multi_left->value()); }); - connect(ui->slider_stick_right, &QSlider::valueChanged, this, [&](int value) + connect(ui->slider_stick_right, &QSlider::valueChanged, this, [this](int value) { + ui->slider_label_stick_right->setText(QString::number(std::round((value * 100.0f) / ui->slider_stick_right->maximum()))); RepaintPreviewLabel(ui->preview_stick_right, value, ui->anti_deadzone_slider_stick_right->value(), ui->slider_stick_right->size().width(), m_rx, m_ry, ui->squircle_right->value(), ui->stick_multi_right->value()); }); - connect(ui->anti_deadzone_slider_stick_left, &QSlider::valueChanged, this, [&](int value) + connect(ui->anti_deadzone_slider_stick_left, &QSlider::valueChanged, this, [this](int value) { + ui->anti_deadzone_slider_label_stick_left->setText(QString::number(std::round((value * 100.0f) / ui->anti_deadzone_slider_stick_left->maximum()))); RepaintPreviewLabel(ui->preview_stick_left, ui->slider_stick_left->value(), value, ui->slider_stick_left->size().width(), m_lx, m_ly, ui->squircle_left->value(), ui->stick_multi_left->value()); }); - connect(ui->anti_deadzone_slider_stick_right, &QSlider::valueChanged, this, [&](int value) + connect(ui->anti_deadzone_slider_stick_right, &QSlider::valueChanged, this, [this](int value) { + ui->anti_deadzone_slider_label_stick_right->setText(QString::number(std::round((value * 100.0f) / ui->anti_deadzone_slider_stick_right->maximum()))); RepaintPreviewLabel(ui->preview_stick_right, ui->slider_stick_right->value(), value, ui->slider_stick_right->size().width(), m_rx, m_ry, ui->squircle_right->value(), ui->stick_multi_right->value()); }); + connect(ui->pressure_intensity_deadzone, &QSlider::valueChanged, this, [this](int value) + { + ui->pressure_intensity_deadzone_label->setText(QString::number(std::round((value * 100.0f) / ui->pressure_intensity_deadzone->maximum()))); + }); + + connect(ui->slider_trigger_left, &QSlider::valueChanged, this, [this](int value) + { + ui->slider_trigger_left_label->setText(QString::number(std::round((value * 100.0f) / ui->slider_trigger_left->maximum()))); + }); + + connect(ui->slider_trigger_right, &QSlider::valueChanged, this, [this](int value) + { + ui->slider_trigger_right_label->setText(QString::number(std::round((value * 100.0f) / ui->slider_trigger_right->maximum()))); + }); + + connect(ui->preview_trigger_left, &QSlider::valueChanged, this, [this](int value) + { + ui->preview_trigger_left_label->setText(QString::number(std::round((value * 100.0f) / ui->preview_trigger_left->maximum()))); + }); + + connect(ui->preview_trigger_right, &QSlider::valueChanged, this, [this](int value) + { + ui->preview_trigger_right_label->setText(QString::number(std::round((value * 100.0f) / ui->preview_trigger_right->maximum()))); + }); + // Open LED settings connect(ui->b_led_settings, &QPushButton::clicked, this, [this]() { diff --git a/rpcs3/rpcs3qt/pad_settings_dialog.ui b/rpcs3/rpcs3qt/pad_settings_dialog.ui index 24590c1766..ef82a80fb0 100644 --- a/rpcs3/rpcs3qt/pad_settings_dialog.ui +++ b/rpcs3/rpcs3qt/pad_settings_dialog.ui @@ -863,6 +863,16 @@ + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + @@ -915,36 +925,92 @@ - - - Qt::Orientation::Horizontal - - + + + + + Qt::Orientation::Horizontal + + + + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + + - - - Qt::Orientation::Horizontal - - + + + + + Qt::Orientation::Horizontal + + + + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + + - - - Qt::Orientation::Horizontal - - + + + + + Qt::Orientation::Horizontal + + + + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + + - - - Qt::Orientation::Horizontal - - + + + + + Qt::Orientation::Horizontal + + + + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + + @@ -2536,6 +2602,16 @@ + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + @@ -2543,6 +2619,16 @@ + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + @@ -2571,6 +2657,16 @@ + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + @@ -2578,6 +2674,16 @@ + + + + 0 + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + +