diff options
| author | Tilka <tilkax@gmail.com> | 2025-08-23 12:44:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-23 12:44:17 +0100 |
| commit | ab8a02566daaea1046fa272e2b7038790f3ba122 (patch) | |
| tree | b57532ed59015ceafdd73ba577ed58e19f764e23 | |
| parent | 50d3a5510cf0fcc7eced3cfb2fa184f4bdd3165a (diff) | |
| parent | d69056aab4702ce1656600b4d75bf56023022e6c (diff) | |
Merge pull request #13893 from TryTwo/PR_Slider_Fixes
Qt: Prevent QSlider's QLabels from resizing.
| -rw-r--r-- | Source/Core/DolphinQt/Settings/AdvancedPane.cpp | 13 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Settings/AudioPane.cpp | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Settings/AdvancedPane.cpp b/Source/Core/DolphinQt/Settings/AdvancedPane.cpp index d53884f37e..f970169982 100644 --- a/Source/Core/DolphinQt/Settings/AdvancedPane.cpp +++ b/Source/Core/DolphinQt/Settings/AdvancedPane.cpp @@ -6,6 +6,7 @@ #include <QCheckBox> #include <QComboBox> #include <QDateTimeEdit> +#include <QFontMetrics> #include <QFormLayout> #include <QGroupBox> #include <QHBoxLayout> @@ -102,6 +103,10 @@ void AdvancedPane::CreateLayout() "<br><br><dolphin_emphasis>If unsure, leave this unchecked.</dolphin_emphasis>")); timing_group_layout->addWidget(correct_time_drift); + // Make all labels the same width, so that the sliders are aligned. + const QFontMetrics font_metrics{font()}; + const int label_width = font_metrics.boundingRect(QStringLiteral(" 500% (000.00 VPS)")).width(); + auto* clock_override = new QGroupBox(tr("Clock Override")); auto* clock_override_layout = new QVBoxLayout(); clock_override->setLayout(clock_override_layout); @@ -120,6 +125,8 @@ void AdvancedPane::CreateLayout() cpu_clock_override_slider_layout->addWidget(m_cpu_clock_override_slider); m_cpu_label = new QLabel(); + m_cpu_label->setFixedWidth(label_width); + m_cpu_label->setAlignment(Qt::AlignRight | Qt::AlignVCenter); cpu_clock_override_slider_layout->addWidget(m_cpu_label); std::function<void()> cpu_text = [this]() { @@ -163,6 +170,8 @@ void AdvancedPane::CreateLayout() vi_rate_override_slider_layout->addWidget(m_vi_rate_override_slider); m_vi_label = new QLabel(); + m_vi_label->setFixedWidth(label_width); + m_vi_label->setAlignment(Qt::AlignRight | Qt::AlignVCenter); vi_rate_override_slider_layout->addWidget(m_vi_label); std::function<void()> vi_text = [this]() { const int percent = @@ -208,6 +217,8 @@ void AdvancedPane::CreateLayout() m_mem1_label = new QLabel(tr("%1 MB (MEM1)").arg(QString::number(m_mem1_override_slider->value()))); + m_mem1_label->setFixedWidth(label_width); + m_mem1_label->setAlignment(Qt::AlignRight | Qt::AlignVCenter); mem1_override_slider_layout->addWidget(m_mem1_label); connect(m_mem1_override_slider, &QSlider::valueChanged, this, [this](int value) { m_mem1_label->setText(tr("%1 MB (MEM1)").arg(QString::number(value))); @@ -222,6 +233,8 @@ void AdvancedPane::CreateLayout() m_mem2_label = new QLabel(tr("%1 MB (MEM2)").arg(QString::number(m_mem2_override_slider->value()))); + m_mem2_label->setFixedWidth(label_width); + m_mem2_label->setAlignment(Qt::AlignRight | Qt::AlignVCenter); mem2_override_slider_layout->addWidget(m_mem2_label); connect(m_mem2_override_slider, &QSlider::valueChanged, this, [this](int value) { m_mem2_label->setText(tr("%1 MB (MEM2)").arg(QString::number(value))); diff --git a/Source/Core/DolphinQt/Settings/AudioPane.cpp b/Source/Core/DolphinQt/Settings/AudioPane.cpp index 4d3ee8ba85..8384a74dc7 100644 --- a/Source/Core/DolphinQt/Settings/AudioPane.cpp +++ b/Source/Core/DolphinQt/Settings/AudioPane.cpp @@ -180,6 +180,7 @@ void AudioPane::CreateWidgets() // Set initial value display audio_buffer_size_label->setText(tr("%1 ms").arg(audio_buffer_size->value())); + audio_buffer_size_label->setFixedWidth(QFontMetrics(font()).boundingRect(tr(" 000 ms")).width()); m_audio_fill_gaps = new ConfigBool(tr("Fill Audio Gaps"), Config::MAIN_AUDIO_FILL_GAPS); |
