From fde8b057540796eeab121c0d2c4958afe763fdd4 Mon Sep 17 00:00:00 2001 From: rogo Date: Sun, 18 Nov 2018 00:34:50 +0100 Subject: [PATCH] saving window positioning --- mainwindow.cpp | 15 +++++++++++++-- mainwindow.h | 9 ++++++--- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 520d111..ebb1bfd 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -16,7 +16,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi setWindowFlags(windowFlags() | Qt::MSWindowsFixedSizeDialogHint); #endif - ui->txt_address->setText(mSettings.value("av_address", "").toString()); + mSettings = new QSettings(QSettings::IniFormat, QSettings::UserScope, "RogoSoftware", "yremote"); + + restoreGeometry(mSettings->value("geometry", saveGeometry()).toByteArray()); + move(mSettings->value("pos", pos()).toPoint()); + + ui->txt_address->setText(mSettings->value("av_address", "").toString()); mAddress = ui->txt_address->text(); // setup volume value collection @@ -139,7 +144,7 @@ void MainWindow::setPowerState() void MainWindow::on_txt_address_textEdited(const QString &arg1) { mAddress = arg1; - mSettings.setValue("av_address", mAddress); + mSettings->setValue("av_address", mAddress); mTimerUpdateAddress.start(TIME_UPDATE_ADDRESS); } @@ -178,6 +183,12 @@ void MainWindow::sendVolume() + "1dB"); } +void MainWindow::moveEvent(QMoveEvent *) +{ + mSettings->setValue("geometry", geometry()); + mSettings->setValue("pos", pos()); +} + void MainWindow::updateAVState() { sendCommand("GetParam"); diff --git a/mainwindow.h b/mainwindow.h index ecc8f97..46ead7b 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -18,10 +18,9 @@ class MainWindow : public QMainWindow public: explicit MainWindow(QWidget *parent = nullptr); - ~MainWindow(); + ~MainWindow() override; void setPowerState(); - void updateAVState(); private slots: @@ -41,7 +40,7 @@ private: Ui::MainWindow *ui; QString mAddress; - QSettings mSettings; + QSettings* mSettings; QTimer mTimerValCollect; QTimer mTimerUpdateState; QTimer mTimerUpdateAddress; @@ -58,6 +57,10 @@ private: void updateUi(); void setActiveButton(QString prop); void sendVolume(); + + // QWidget interface +protected: + void moveEvent(QMoveEvent *) override; }; }