summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTilka <tilkax@gmail.com>2025-08-23 12:44:17 +0100
committerGitHub <noreply@github.com>2025-08-23 12:44:17 +0100
commitab8a02566daaea1046fa272e2b7038790f3ba122 (patch)
treeb57532ed59015ceafdd73ba577ed58e19f764e23
parent50d3a5510cf0fcc7eced3cfb2fa184f4bdd3165a (diff)
parentd69056aab4702ce1656600b4d75bf56023022e6c (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.cpp13
-rw-r--r--Source/Core/DolphinQt/Settings/AudioPane.cpp1
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);