From b37f197c5b3dad91d2679da7e75b34d1080999d6 Mon Sep 17 00:00:00 2001 From: KejPi Date: Thu, 1 Sep 2022 10:30:07 +0200 Subject: [PATCH] Window geometry restoring fix --- gui/mainwindow.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 31c8e4bc..855e5e67 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -1476,12 +1476,12 @@ void MainWindow::loadSettings() // load servicelist serviceList->load(*settings); + restoreGeometry(settings->value("windowGeometry").toByteArray()); expertMode = settings->value("ExpertMode").toBool(); setExpertMode(expertMode); #if (!defined HAVE_PORTAUDIO) || (AUDIOOUTPUT_PORTAUDIO_VOLUME_ENA) volumeSlider->setValue(settings->value("volume", 100).toInt()); #endif - restoreGeometry(settings->value("windowGeometry").toByteArray()); int inDevice = settings->value("inputDeviceId", int(InputDeviceId::RTLSDR)).toInt(); @@ -1795,13 +1795,18 @@ void MainWindow::showCatSLS() void MainWindow::setExpertMode(bool ena) { + bool doResize = false; if (ena) { switchModeAct->setText("Basic mode"); } else { - switchModeAct->setText("Expert mode"); + switchModeAct->setText("Expert mode"); + + // going to basic mode -> windows get resized if user did not resize before + // this always keeps minimum window size + doResize = (size() == minimumSizeHint()); } ui->channelFrame->setVisible(ena); ui->audioFrame->setVisible(ena); @@ -1819,7 +1824,10 @@ void MainWindow::setExpertMode(bool ena) emit expertModeChanged(ena); - QTimer::singleShot(10, this, [this](){ resize(minimumSizeHint()); } ); + if (doResize) + { + QTimer::singleShot(10, this, [this](){ resize(minimumSizeHint()); } ); + } } void MainWindow::bandScan()