# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2016-09-02 00:40:07 # Node ID f25223973c5585e6d952c5bc17deb185afcda9d2 # Parent 30ed6e632f67dc3edc4d1772ff3e6d2a72ba676b save window geometry diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -181,10 +181,18 @@ MainWindow::MainWindow(QWidget *parent) QObject::connect(ui->actionDemoMode, &QAction::toggled, plotMan, &PlotManager::showDemoIndicator); + + // load default settings + QSettings settings("serialplot", "serialplot"); + loadSettings(&settings); } MainWindow::~MainWindow() { + // save settings + QSettings settings("serialplot", "serialplot"); + saveSettings(&settings); + if (serialPort.isOpen()) { serialPort.close(); @@ -402,3 +410,21 @@ void MainWindow::messageHandler(QtMsgTyp ui->statusBar->showMessage(msg, 5000); } } + +void MainWindow::saveSettings(QSettings* settings) +{ + // save window geometry + settings->beginGroup("MainWindow"); + settings->setValue("size", size()); + settings->setValue("pos", pos()); + settings->endGroup(); +} + +void MainWindow::loadSettings(QSettings* settings) +{ + // load window geometry + settings->beginGroup("MainWindow"); + resize(settings->value("size", size()).toSize()); + move(settings->value("pos", pos()).toPoint()); + settings->endGroup(); +} diff --git a/src/mainwindow.h b/src/mainwindow.h --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -31,6 +31,7 @@ #include #include #include +#include #include #include "portcontrol.h" @@ -80,6 +81,10 @@ private: PlotControlPanel plotControlPanel; bool isDemoRunning(); + /// Stores main window settings into a `QSettings` + void saveSettings(QSettings* settings); + /// Loads main window settings from a `QSettings` + void loadSettings(QSettings* settings); private slots: void onPortToggled(bool open); @@ -90,11 +95,8 @@ private slots: void onChannelNameChanged(unsigned channel, QString name); void clearPlot(); - void onSpsChanged(unsigned sps); - void enableDemo(bool enabled); - void onExportCsv(); };