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;
};
}