diff --git a/sdrbase/settings/configuration.cpp b/sdrbase/settings/configuration.cpp index d2ef6ebcd..4d194c07f 100644 --- a/sdrbase/settings/configuration.cpp +++ b/sdrbase/settings/configuration.cpp @@ -107,11 +107,6 @@ bool Configuration::deserialize(const QByteArray& data) } } -int Configuration::getNumberOfWorkspaces() const -{ - return m_workspaceGeometries.size(); -} - void Configuration::clearData() { m_deviceSetPresets.clear(); diff --git a/sdrbase/settings/configuration.h b/sdrbase/settings/configuration.h index f99e6ed44..296db22c3 100644 --- a/sdrbase/settings/configuration.h +++ b/sdrbase/settings/configuration.h @@ -47,7 +47,7 @@ public: void setDescription(const QString& description) { m_description = description; } const QString& getDescription() const { return m_description; } - int getNumberOfWorkspaces() const; + int getNumberOfWorkspaceGeometries() const { return m_workspaceGeometries.size(); } QList& getWorkspaceGeometries() { return m_workspaceGeometries; } const QList& getWorkspaceGeometries() const { return m_workspaceGeometries; } FeatureSetPreset& getFeatureSetPreset() { return m_featureSetPreset; } diff --git a/sdrgui/device/devicegui.cpp b/sdrgui/device/devicegui.cpp index eefa2355b..19f4a8e15 100644 --- a/sdrgui/device/devicegui.cpp +++ b/sdrgui/device/devicegui.cpp @@ -54,6 +54,7 @@ DeviceGUI::DeviceGUI(QWidget *parent) : m_indexLabel->setToolTip("Device type and set index"); m_settingsButton = new QPushButton(); + m_settingsButton->setFixedSize(20, 20); QIcon settingsIcon(":/gear.png"); m_settingsButton->setIcon(settingsIcon); m_settingsButton->setToolTip("Common settings"); diff --git a/sdrgui/device/devicegui.h b/sdrgui/device/devicegui.h index 78993d887..a615e2643 100644 --- a/sdrgui/device/devicegui.h +++ b/sdrgui/device/devicegui.h @@ -83,7 +83,7 @@ protected: void mouseReleaseEvent(QMouseEvent* event) override; void mouseMoveEvent(QMouseEvent* event) override; void resetContextMenuType() { m_contextMenuType = ContextMenuNone; } - int getAdditionalHeight() const { return 26 + 22; } // height of top and bottom bars + int getAdditionalHeight() const { return 22 + 22; } DeviceType m_deviceType; int m_deviceSetIndex; diff --git a/sdrgui/gui/workspace.cpp b/sdrgui/gui/workspace.cpp index 5c28578ea..143dde748 100644 --- a/sdrgui/gui/workspace.cpp +++ b/sdrgui/gui/workspace.cpp @@ -685,3 +685,23 @@ void Workspace::restoreMdiGeometry(const QByteArray& blob) { m_mdi->restoreGeometry(qUncompress(blob)); } + +void Workspace::adjustSubWindowsAfterRestore() +{ + QList subWindowList = m_mdi->subWindowList(); + + for (auto& subWindow : subWindowList) + { + if ((subWindow->y() >= 20) && (subWindow->y() < 40)) { + subWindow->move(subWindow->x(), subWindow->y() - 20); + } + + if (qobject_cast(subWindow)) { + subWindow->resize(subWindow->width(), subWindow->height() - 22); + } + + if (qobject_cast(subWindow)) { + subWindow->resize(subWindow->width(), subWindow->height() - 8); + } + } +} diff --git a/sdrgui/gui/workspace.h b/sdrgui/gui/workspace.h index 339c83252..a12762253 100644 --- a/sdrgui/gui/workspace.h +++ b/sdrgui/gui/workspace.h @@ -57,6 +57,7 @@ public: void orderByIndex(QList &list); void orderByIndex(QList &list); void orderByIndex(QList &list); + void adjustSubWindowsAfterRestore(); private: int m_index; diff --git a/sdrgui/mainspectrum/mainspectrumgui.cpp b/sdrgui/mainspectrum/mainspectrumgui.cpp index dfc44d99e..55de3a1f0 100644 --- a/sdrgui/mainspectrum/mainspectrumgui.cpp +++ b/sdrgui/mainspectrum/mainspectrumgui.cpp @@ -97,7 +97,7 @@ MainSpectrumGUI::MainSpectrumGUI(GLSpectrum *spectrum, GLSpectrumGUI *spectrumGU // m_statusLabel->setToolTip("Spectrum status"); m_layouts = new QVBoxLayout(); - m_layouts->setContentsMargins(m_resizer.m_gripSize, 4, m_resizer.m_gripSize, 4); + m_layouts->setContentsMargins(m_resizer.m_gripSize, m_resizer.m_gripSize, m_resizer.m_gripSize, m_resizer.m_gripSize); m_layouts->setSpacing(0); m_topLayout = new QHBoxLayout(); diff --git a/sdrgui/mainwindow.cpp b/sdrgui/mainwindow.cpp index 338c08567..d1a7faac9 100644 --- a/sdrgui/mainwindow.cpp +++ b/sdrgui/mainwindow.cpp @@ -1173,7 +1173,7 @@ void MainWindow::loadConfiguration(const Configuration *configuration, bool from qDebug("MainWindow::loadConfiguration: configuration [%s | %s] %d workspace(s) - %d device set(s) - %d feature(s)", qPrintable(configuration->getGroup()), qPrintable(configuration->getDescription()), - configuration->getNumberOfWorkspaces(), + configuration->getNumberOfWorkspaceGeometries(), configuration->getDeviceSetPresets().size(), configuration->getFeatureSetPreset().getFeatureCount() ); @@ -1210,7 +1210,7 @@ void MainWindow::loadConfiguration(const Configuration *configuration, bool from // Reconstruct // Workspaces - for (int i = 0; i < configuration->getNumberOfWorkspaces(); i++) { + for (int i = 0; i < configuration->getNumberOfWorkspaceGeometries(); i++) { addWorkspace(); } @@ -1321,8 +1321,10 @@ void MainWindow::loadConfiguration(const Configuration *configuration, bool from waitBox->setInformativeText("Finalizing..."); } - for (int i = 0; i < configuration->getNumberOfWorkspaces(); i++) { + for (int i = 0; i < configuration->getNumberOfWorkspaceGeometries(); i++) + { m_workspaces[i]->restoreGeometry(configuration->getWorkspaceGeometries()[i]); + m_workspaces[i]->adjustSubWindowsAfterRestore(); } if (waitBox)