From abe55f8d1925a27c3a3d8edd0dfb2df270423c17 Mon Sep 17 00:00:00 2001 From: srcejon Date: Wed, 13 Mar 2024 22:42:36 +0000 Subject: [PATCH] Fix display when setValueRange is called and newValue differs from value. --- sdrgui/gui/valuedial.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/sdrgui/gui/valuedial.cpp b/sdrgui/gui/valuedial.cpp index a046f7235..770fb824d 100644 --- a/sdrgui/gui/valuedial.cpp +++ b/sdrgui/gui/valuedial.cpp @@ -150,12 +150,25 @@ void ValueDial::setValueRange(uint numDigits, quint64 min, quint64 max) m_valueMin = min; m_valueMax = max; - m_text = formatText(m_value); + if (m_animationTimer.isActive()) + { + m_textNew = formatText(m_valueNew); - if (m_value < min) { - setValue(min); - } else if (m_value > max) { - setValue(max); + if (m_valueNew < min) { + setValue(min); + } else if (m_valueNew > max) { + setValue(max); + } + } + else + { + m_text = formatText(m_value); + + if (m_value < min) { + setValue(min); + } else if (m_value > max) { + setValue(max); + } } setFixedWidth((m_numDigits + m_numDecimalPoints) * m_digitWidth + 2);