From f9fec5f9a5e075c61bd4211d1af44607215eee20 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 22 Sep 2023 23:39:07 +0300 Subject: [PATCH] plasma: add spacer to the mixer applet when visualizer is disabled Signed-off-by: Ivailo Monev --- plasma/applets/mixer/mixer.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/plasma/applets/mixer/mixer.cpp b/plasma/applets/mixer/mixer.cpp index 0a42289f..0d082950 100644 --- a/plasma/applets/mixer/mixer.cpp +++ b/plasma/applets/mixer/mixer.cpp @@ -207,6 +207,14 @@ static QColor kDefaultVisualizerColor() return Plasma::Theme::defaultTheme()->color(Plasma::Theme::TextColor); } +static QGraphicsWidget* kMakeSpacer(QGraphicsWidget *parent) +{ + QGraphicsWidget* result = new QGraphicsWidget(parent); + result->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + result->setMinimumSize(1, 1); + return result; +} + int k_alsa_element_callback(snd_mixer_elem_t *alsaelement, unsigned int alsamask); class MixerTabWidget : public QGraphicsWidget @@ -411,9 +419,7 @@ bool MixerTabWidget::setup(const QByteArray &alsacardname) m_mainelement = alsaelementnames.first(); } kDebug() << "Main element is" << m_mainelement; - m_spacer = new QGraphicsWidget(this); - m_spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - m_spacer->setMinimumSize(1, 1); + m_spacer = kMakeSpacer(this); m_layout->addItem(m_spacer); if (hasvalidelement) { @@ -453,6 +459,8 @@ void MixerTabWidget::showVisualizer(const bool show, const uint scale, const QCo m_timer->setInterval(s_alsapollinterval); m_timer->start(); } + m_spacer = kMakeSpacer(this); + m_layout->addItem(m_spacer); return; } @@ -520,9 +528,7 @@ void MixerTabWidget::showVisualizer(const bool show, const uint scale, const QCo plotterframelayout->addItem(m_signalplotter); m_layout->addItem(m_plotterframe); } else { - m_spacer = new QGraphicsWidget(this); - m_spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - m_spacer->setMinimumSize(1, 1); + m_spacer = kMakeSpacer(this); m_layout->addItem(m_spacer); }