From 417d860635bd9ee3309471c7c287747dcf63358b Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 24 Apr 2022 01:24:22 +0200 Subject: [PATCH] Massive UI revamping (v7): AM, DSD, NFM, SSB, WFM demods: improved resizing and rollup collapse/expand handling. Part of #1209 --- plugins/channelrx/demodam/amdemodgui.cpp | 2 +- plugins/channelrx/demoddsd/dsddemodgui.cpp | 19 +++++++++++++---- plugins/channelrx/demoddsd/dsddemodgui.h | 3 +++ plugins/channelrx/demoddsd/dsddemodgui.ui | 24 ++++++++++++++-------- plugins/channelrx/demodnfm/nfmdemodgui.cpp | 2 +- plugins/channelrx/demodssb/ssbdemodgui.cpp | 2 +- plugins/channelrx/demodwfm/wfmdemodgui.cpp | 2 +- 7 files changed, 37 insertions(+), 17 deletions(-) diff --git a/plugins/channelrx/demodam/amdemodgui.cpp b/plugins/channelrx/demodam/amdemodgui.cpp index e4922f10d..3718d1fcf 100644 --- a/plugins/channelrx/demodam/amdemodgui.cpp +++ b/plugins/channelrx/demodam/amdemodgui.cpp @@ -76,7 +76,7 @@ bool AMDemodGUI::deserialize(const QByteArray& data) void AMDemodGUI::resizeEvent(QResizeEvent* size) { int maxWidth = getRollupContents()->maximumWidth(); - int minHeight = getRollupContents()->minimumHeight() + getRollupContents()->getAdditionalHeiht() + getAdditionalHeight(); + int minHeight = getRollupContents()->minimumHeight() + getAdditionalHeight(); resize(width() < maxWidth ? width() : maxWidth, minHeight); size->accept(); } diff --git a/plugins/channelrx/demoddsd/dsddemodgui.cpp b/plugins/channelrx/demoddsd/dsddemodgui.cpp index 3b0ee3fae..5f5d30829 100644 --- a/plugins/channelrx/demoddsd/dsddemodgui.cpp +++ b/plugins/channelrx/demoddsd/dsddemodgui.cpp @@ -82,6 +82,14 @@ bool DSDDemodGUI::deserialize(const QByteArray& data) } } +void DSDDemodGUI::resizeEvent(QResizeEvent* size) +{ + int maxWidth = getRollupContents()->maximumWidth(); + int minHeight = getRollupContents()->minimumHeight() + getAdditionalHeight(); + resize(width() < maxWidth ? width() : maxWidth, minHeight); + size->accept(); +} + bool DSDDemodGUI::handleMessage(const Message& message) { if (DSDDemod::MsgConfigureDSDDemod::match(message)) @@ -336,14 +344,17 @@ DSDDemodGUI::DSDDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseban m_tickCount(0), m_dsdStatusTextDialog(0) { - ui->setupUi(getRollupContents()); - getRollupContents()->arrangeRollups(); + setAttribute(Qt::WA_DeleteOnClose, true); m_helpURL = "plugins/channelrx/demoddsd/readme.md"; + RollupContents *rollupContents = getRollupContents(); + ui->setupUi(rollupContents); + setSizePolicy(rollupContents->sizePolicy()); + rollupContents->arrangeRollups(); + connect(rollupContents, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); + ui->screenTV->setColor(true); ui->screenTV->resizeTVScreen(200,200); - setAttribute(Qt::WA_DeleteOnClose, true); - connect(getRollupContents(), SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &))); connect(getInputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages())); diff --git a/plugins/channelrx/demoddsd/dsddemodgui.h b/plugins/channelrx/demoddsd/dsddemodgui.h index 27589f019..e5de1b302 100644 --- a/plugins/channelrx/demoddsd/dsddemodgui.h +++ b/plugins/channelrx/demoddsd/dsddemodgui.h @@ -68,6 +68,9 @@ public slots: void channelMarkerChangedByCursor(); void channelMarkerHighlightedByCursor(); +protected: + void resizeEvent(QResizeEvent* size); + private: // typedef enum // { diff --git a/plugins/channelrx/demoddsd/dsddemodgui.ui b/plugins/channelrx/demoddsd/dsddemodgui.ui index 295059813..781d39d68 100644 --- a/plugins/channelrx/demoddsd/dsddemodgui.ui +++ b/plugins/channelrx/demoddsd/dsddemodgui.ui @@ -11,7 +11,7 @@ - + 0 0 @@ -19,7 +19,13 @@ 650 - 0 + 392 + + + + + 750 + 392 @@ -1238,9 +1244,10 @@ 1 - ButtonSwitch - QToolButton -
gui/buttonswitch.h
+ ValueDialZ + QWidget +
gui/valuedialz.h
+ 1
LevelMeterSignalDB @@ -1249,10 +1256,9 @@ 1 - ValueDialZ - QWidget -
gui/valuedialz.h
- 1 + ButtonSwitch + QToolButton +
gui/buttonswitch.h
TVScreen diff --git a/plugins/channelrx/demodnfm/nfmdemodgui.cpp b/plugins/channelrx/demodnfm/nfmdemodgui.cpp index 43b36027e..ae06b8e1b 100644 --- a/plugins/channelrx/demodnfm/nfmdemodgui.cpp +++ b/plugins/channelrx/demodnfm/nfmdemodgui.cpp @@ -58,7 +58,7 @@ bool NFMDemodGUI::deserialize(const QByteArray& data) void NFMDemodGUI::resizeEvent(QResizeEvent* size) { int maxWidth = getRollupContents()->maximumWidth(); - int minHeight = getRollupContents()->minimumHeight() + getRollupContents()->getAdditionalHeiht() + getAdditionalHeight(); + int minHeight = getRollupContents()->minimumHeight() + getAdditionalHeight(); resize(width() < maxWidth ? width() : maxWidth, minHeight); size->accept(); } diff --git a/plugins/channelrx/demodssb/ssbdemodgui.cpp b/plugins/channelrx/demodssb/ssbdemodgui.cpp index f6dd5d02d..ad1e1c61b 100644 --- a/plugins/channelrx/demodssb/ssbdemodgui.cpp +++ b/plugins/channelrx/demodssb/ssbdemodgui.cpp @@ -301,7 +301,7 @@ void SSBDemodGUI::onWidgetRolled(QWidget* widget, bool rollDown) setSizePolicy(sizePolicy().horizontalPolicy(), QSizePolicy::Fixed); } - int h = rollupContents->height() + rollupContents->getAdditionalHeiht() + getAdditionalHeight(); + int h = rollupContents->height() + getAdditionalHeight(); resize(width(), h); rollupContents->saveState(m_rollupState); diff --git a/plugins/channelrx/demodwfm/wfmdemodgui.cpp b/plugins/channelrx/demodwfm/wfmdemodgui.cpp index 2e8f17130..a191a7601 100644 --- a/plugins/channelrx/demodwfm/wfmdemodgui.cpp +++ b/plugins/channelrx/demodwfm/wfmdemodgui.cpp @@ -58,7 +58,7 @@ bool WFMDemodGUI::deserialize(const QByteArray& data) void WFMDemodGUI::resizeEvent(QResizeEvent* size) { int maxWidth = getRollupContents()->maximumWidth(); - int minHeight = getRollupContents()->minimumHeight() + getRollupContents()->getAdditionalHeiht() + getAdditionalHeight(); + int minHeight = getRollupContents()->minimumHeight() + getAdditionalHeight(); resize(width() < maxWidth ? width() : maxWidth, minHeight); size->accept(); }