mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-29 03:09:14 -05:00
Massive UI revamping (v7): make correction to sub windows sizes and placement at the top when loading a configuration
This commit is contained in:
parent
9be0776d32
commit
69a66adf88
@ -107,11 +107,6 @@ bool Configuration::deserialize(const QByteArray& data)
|
||||
}
|
||||
}
|
||||
|
||||
int Configuration::getNumberOfWorkspaces() const
|
||||
{
|
||||
return m_workspaceGeometries.size();
|
||||
}
|
||||
|
||||
void Configuration::clearData()
|
||||
{
|
||||
m_deviceSetPresets.clear();
|
||||
|
@ -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<QByteArray>& getWorkspaceGeometries() { return m_workspaceGeometries; }
|
||||
const QList<QByteArray>& getWorkspaceGeometries() const { return m_workspaceGeometries; }
|
||||
FeatureSetPreset& getFeatureSetPreset() { return m_featureSetPreset; }
|
||||
|
@ -25,6 +25,10 @@
|
||||
#include <QFrame>
|
||||
|
||||
#include "gui/samplingdevicedialog.h"
|
||||
#include "device/devicegui.h"
|
||||
#include "channel/channelgui.h"
|
||||
#include "mainspectrum/mainspectrumgui.h"
|
||||
#include "feature/featuregui.h"
|
||||
#include "workspace.h"
|
||||
|
||||
Workspace::Workspace(int index, QWidget *parent, Qt::WindowFlags flags) :
|
||||
@ -313,3 +317,23 @@ void Workspace::restoreMdiGeometry(const QByteArray& blob)
|
||||
{
|
||||
m_mdi->restoreGeometry(qUncompress(blob));
|
||||
}
|
||||
|
||||
void Workspace::adjustSubWindowsAfterRestore()
|
||||
{
|
||||
QList<QMdiSubWindow *> 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<ChannelGUI*>(subWindow)) {
|
||||
subWindow->resize(subWindow->width(), subWindow->height() - 22);
|
||||
}
|
||||
|
||||
if (qobject_cast<FeatureGUI*>(subWindow)) {
|
||||
subWindow->resize(subWindow->width(), subWindow->height() - 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -49,6 +49,7 @@ public:
|
||||
QByteArray saveMdiGeometry();
|
||||
void restoreMdiGeometry(const QByteArray& blob);
|
||||
QList<QMdiSubWindow *> getSubWindowList() const;
|
||||
void adjustSubWindowsAfterRestore();
|
||||
|
||||
private:
|
||||
int m_index;
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user