From 893d9f4e43da0e2792acb1f68b597a6de5967df1 Mon Sep 17 00:00:00 2001 From: mfreiholz Date: Fri, 12 Feb 2016 11:43:34 +0100 Subject: [PATCH] Refactoring: Renames saveGeometry to saveState.. same for restore. --- AdvancedDockingSystem/include/ads/API.h | 2 +- .../include/ads/ContainerWidget.h | 4 +- .../include/ads/SectionTitleWidget.h | 2 +- AdvancedDockingSystem/src/ContainerWidget.cpp | 4 +- AdvancedDockingSystemDemo/src/main.cpp | 4 +- AdvancedDockingSystemDemo/src/mainwindow.cpp | 47 ++++++++++--------- build.pro | 2 +- 7 files changed, 35 insertions(+), 30 deletions(-) diff --git a/AdvancedDockingSystem/include/ads/API.h b/AdvancedDockingSystem/include/ads/API.h index 24253ac..d473b09 100644 --- a/AdvancedDockingSystem/include/ads/API.h +++ b/AdvancedDockingSystem/include/ads/API.h @@ -12,7 +12,7 @@ class QSplitter; * Developed by Manuel Freiholz */ -#if 0 +#if 1 #define ADS_NAMESPACE_BEGIN namespace ads { #define ADS_NAMESPACE_END } #define ADS_NS ads diff --git a/AdvancedDockingSystem/include/ads/ContainerWidget.h b/AdvancedDockingSystem/include/ads/ContainerWidget.h index 8960961..be8a03c 100644 --- a/AdvancedDockingSystem/include/ads/ContainerWidget.h +++ b/AdvancedDockingSystem/include/ads/ContainerWidget.h @@ -47,8 +47,8 @@ public: QRect outerLeftDropRect() const; // Geometry and state serialization - QByteArray saveGeometry() const; - bool restoreGeometry(const QByteArray& data); + QByteArray saveState() const; + bool restoreState(const QByteArray& data); QMenu* createContextMenu() const; diff --git a/AdvancedDockingSystem/include/ads/SectionTitleWidget.h b/AdvancedDockingSystem/include/ads/SectionTitleWidget.h index d49ab31..77e03d9 100644 --- a/AdvancedDockingSystem/include/ads/SectionTitleWidget.h +++ b/AdvancedDockingSystem/include/ads/SectionTitleWidget.h @@ -15,7 +15,7 @@ class FloatingWidget; class SectionTitleWidget : public QFrame { Q_OBJECT - //Q_PROPERTY(bool activeTab MEMBER _activeTab NOTIFY activeTabChanged) + Q_PROPERTY(bool activeTab MEMBER _activeTab NOTIFY activeTabChanged) friend class SectionWidget; diff --git a/AdvancedDockingSystem/src/ContainerWidget.cpp b/AdvancedDockingSystem/src/ContainerWidget.cpp index 8b84aee..18f1c2c 100644 --- a/AdvancedDockingSystem/src/ContainerWidget.cpp +++ b/AdvancedDockingSystem/src/ContainerWidget.cpp @@ -290,7 +290,7 @@ QRect ContainerWidget::outerLeftDropRect() const return QRect(r.left(), r.top(), w, r.height()); } -QByteArray ContainerWidget::saveGeometry() const +QByteArray ContainerWidget::saveState() const { QByteArray ba; QDataStream out(&ba, QIODevice::WriteOnly); @@ -310,7 +310,7 @@ QByteArray ContainerWidget::saveGeometry() const return ba; } -bool ContainerWidget::restoreGeometry(const QByteArray& data) +bool ContainerWidget::restoreState(const QByteArray& data) { QDataStream in(data); in.setVersion(QDataStream::Qt_4_5); diff --git a/AdvancedDockingSystemDemo/src/main.cpp b/AdvancedDockingSystemDemo/src/main.cpp index 513ed2a..2af6db7 100644 --- a/AdvancedDockingSystemDemo/src/main.cpp +++ b/AdvancedDockingSystemDemo/src/main.cpp @@ -73,8 +73,8 @@ int main(int argc, char *argv[]) // ); MainWindow mw; - resizeWidgetPerCent(&mw, 60, 80); - centerWidget(&mw); +// resizeWidgetPerCent(&mw, 60, 80); +// centerWidget(&mw); mw.show(); return a.exec(); diff --git a/AdvancedDockingSystemDemo/src/mainwindow.cpp b/AdvancedDockingSystemDemo/src/mainwindow.cpp index ab76838..2842271 100644 --- a/AdvancedDockingSystemDemo/src/mainwindow.cpp +++ b/AdvancedDockingSystemDemo/src/mainwindow.cpp @@ -54,6 +54,28 @@ static ADS_NS::SectionContent::RefPtr createFileSystemTreeSC() return ADS_NS::SectionContent::newSectionContent(new IconTitleWidget(QIcon(), QString("Filesystem %1").arg(index)), w, QString("uname-%1").arg(index)); } +static void storeDataHelper(const QString& fname, const QByteArray& ba) +{ + QFile f(fname + QString(".dat")); + if (f.open(QFile::WriteOnly)) + { + f.write(ba); + f.close(); + } +} + +static QByteArray loadDataHelper(const QString& fname) +{ + QFile f(fname + QString(".dat")); + if (f.open(QFile::ReadOnly)) + { + QByteArray ba = f.readAll(); + f.close(); + return ba; + } + return QByteArray(); +} + /////////////////////////////////////////////////////////////////////// MainWindow::MainWindow(QWidget *parent) : @@ -92,17 +114,8 @@ MainWindow::MainWindow(QWidget *parent) : section->addContent(createCalendarSC()); _container->addSection(section); - if (true) - { - QByteArray ba; - QFile f("test.dat"); - if (f.open(QFile::ReadOnly)) - { - ba = f.readAll(); - f.close(); - } - _container->restoreGeometry(ba); - } + restoreGeometry(loadDataHelper("MainWindow")); + _container->restoreState(loadDataHelper("ContainerWidget")); } MainWindow::~MainWindow() @@ -134,14 +147,6 @@ void MainWindow::contextMenuEvent(QContextMenuEvent* e) void MainWindow::closeEvent(QCloseEvent* e) { Q_UNUSED(e); - if (true) - { - QByteArray ba = _container->saveGeometry(); - QFile f("test.dat"); - if (f.open(QFile::WriteOnly)) - { - f.write(ba); - f.close(); - } - } + storeDataHelper("MainWindow", saveGeometry()); + storeDataHelper("ContainerWidget", _container->saveState()); } diff --git a/build.pro b/build.pro index 1721223..63a2d87 100644 --- a/build.pro +++ b/build.pro @@ -2,4 +2,4 @@ TEMPLATE = subdirs SUBDIRS = \ AdvancedDockingSystem \ - AdvancedDockingSystemDemo + AdvancedDockingSystemDemo