From 0d7490a423169424eb8d6183a6189ba580eddf30 Mon Sep 17 00:00:00 2001 From: Collin Kidder Date: Wed, 2 Dec 2015 20:12:54 -0500 Subject: [PATCH] Added ability to save/restore scripting window size and location --- scriptingwindow.cpp | 34 ++++++++++++++++++++++++++++++++++ scriptingwindow.h | 6 +++++- scriptingwindow.ui | 4 ++-- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/scriptingwindow.cpp b/scriptingwindow.cpp index 224fcbd..d515b12 100644 --- a/scriptingwindow.cpp +++ b/scriptingwindow.cpp @@ -12,6 +12,8 @@ ScriptingWindow::ScriptingWindow(const QVector *frames, QWidget *paren { ui->setupUi(this); + readSettings(); + modelFrames = frames; connect(ui->btnLoadScript, &QAbstractButton::pressed, this, &ScriptingWindow::loadNewScript); @@ -48,6 +50,38 @@ void ScriptingWindow::updatedFrames(int numFrames) } } +void ScriptingWindow::closeEvent(QCloseEvent *event) +{ + Q_UNUSED(event); + writeSettings(); +} + +void ScriptingWindow::readSettings() +{ + QSettings settings; + if (settings.value("Main/SaveRestorePositions", false).toBool()) + { + resize(settings.value("ScriptingWindow/WindowSize", QSize(860, 650)).toSize()); + move(settings.value("ScriptingWindow/WindowPos", QPoint(100, 100)).toPoint()); + } +} + +void ScriptingWindow::writeSettings() +{ + QSettings settings; + + if (settings.value("Main/SaveRestorePositions", false).toBool()) + { + settings.setValue("ScriptingWindow/WindowSize", size()); + settings.setValue("ScriptingWindow/WindowPos", pos()); + } +} + +void ScriptingWindow::showEvent(QShowEvent* event) +{ + QDialog::showEvent(event); +} + void ScriptingWindow::loadNewScript() { QString filename; diff --git a/scriptingwindow.h b/scriptingwindow.h index 0320c19..d27620b 100644 --- a/scriptingwindow.h +++ b/scriptingwindow.h @@ -17,6 +17,7 @@ class ScriptingWindow : public QDialog public: explicit ScriptingWindow(const QVector *frames, QWidget *parent = 0); + void showEvent(QShowEvent*); ~ScriptingWindow(); private slots: @@ -35,8 +36,11 @@ signals: void sendCANFrame(const CANFrame *, int); private: - Ui::ScriptingWindow *ui; + void closeEvent(QCloseEvent *event); + void readSettings(); + void writeSettings(); + Ui::ScriptingWindow *ui; QList scripts; ScriptContainer *currentScript; const QVector *modelFrames; diff --git a/scriptingwindow.ui b/scriptingwindow.ui index 8b8b92a..a5bafb0 100644 --- a/scriptingwindow.ui +++ b/scriptingwindow.ui @@ -6,8 +6,8 @@ 0 0 - 994 - 858 + 862 + 651