From 593ae8531c17da0a0dde198be1ef3ac575381572 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Tue, 7 Aug 2018 10:52:51 +0200 Subject: [PATCH] read/save window geometry (position + size) --- src/gui/mainwindow.cpp | 28 ++++++++++++++++++++++++++++ src/gui/mainwindow.h | 6 ++++++ 2 files changed, 34 insertions(+) diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 22e6566..da2bad6 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -76,6 +76,8 @@ MainWindow::MainWindow() &MainWindow::onExportSalesJsonActionTriggered); connect(ui_.importSalesJsonAction, &QAction::triggered, this, &MainWindow::onImportSalesJsonActionTriggered); + + readGeometry(); } void MainWindow::onActionEditSellerTriggered() @@ -353,3 +355,29 @@ void MainWindow::onImportSalesJsonActionTriggered() } setSaleModel(); } + +void MainWindow::writeGeometry() +{ + QSettings settings; + + settings.beginGroup("mainwindow"); + settings.setValue("size", size()); + settings.setValue("pos", pos()); + settings.endGroup(); +} + +void MainWindow::readGeometry() +{ + QSettings settings; + + settings.beginGroup("mainwindow"); + resize(settings.value("size", QSize(800, 600)).toSize()); + move(settings.value("pos", QPoint(200, 200)).toPoint()); + settings.endGroup(); +} + +void MainWindow::closeEvent(QCloseEvent* event) +{ + writeGeometry(); + event->accept(); +} \ No newline at end of file diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index 685d57c..ee99fd7 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -6,6 +6,7 @@ #include #include +#include #include @@ -29,6 +30,9 @@ class MainWindow : public QMainWindow void onAboutQt(); void onAbout(); + protected: + virtual void closeEvent(QCloseEvent* event) override; + private: void onActionEditSellerTriggered(); void onSellerNoEditCheckSellerNo(); @@ -39,6 +43,8 @@ class MainWindow : public QMainWindow void onExportSalesJsonActionTriggered(); void onImportSalesJsonActionTriggered(); void setSaleModel(); + void writeGeometry(); + void readGeometry(); Ui::MainWindow ui_; std::unique_ptr marketplace_;