qt: add value labels to sliders in pad settings

This commit is contained in:
Megamouse
2026-10-05 17:08:02 +02:00
parent ba4a4b561e
commit b444d6ad24
2 changed files with 171 additions and 24 deletions
+45 -4
View File
@@ -238,6 +238,18 @@ pad_settings_dialog::pad_settings_dialog(std::shared_ptr<gui_settings> 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]()
{
+126 -20
View File
@@ -863,6 +863,16 @@
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="pressure_intensity_deadzone_label">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@@ -915,36 +925,92 @@
<item>
<layout class="QVBoxLayout" name="gb_trigger_left">
<item>
<widget class="QSlider" name="slider_trigger_left">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
<layout class="QHBoxLayout" name="slider_trigger_left_layout">
<item>
<widget class="QSlider" name="slider_trigger_left">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="slider_trigger_left_label">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QSlider" name="preview_trigger_left">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
<layout class="QHBoxLayout" name="preview_trigger_left_layout">
<item>
<widget class="QSlider" name="preview_trigger_left">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="preview_trigger_left_label">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="gb_trigger_right">
<item>
<widget class="QSlider" name="slider_trigger_right">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
<layout class="QHBoxLayout" name="slider_trigger_right_layout">
<item>
<widget class="QSlider" name="slider_trigger_right">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="slider_trigger_right_label">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QSlider" name="preview_trigger_right">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
<layout class="QHBoxLayout" name="preview_trigger_right_layout">
<item>
<widget class="QSlider" name="preview_trigger_right">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="preview_trigger_right_label">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
@@ -2536,6 +2602,16 @@
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="slider_label_stick_left">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSlider" name="slider_stick_right">
<property name="orientation">
@@ -2543,6 +2619,16 @@
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="slider_label_stick_right">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@@ -2571,6 +2657,16 @@
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="anti_deadzone_slider_label_stick_left">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSlider" name="anti_deadzone_slider_stick_right">
<property name="orientation">
@@ -2578,6 +2674,16 @@
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="anti_deadzone_slider_label_stick_right">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>