summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/QtSingleWindow.cpp')
-rw-r--r--Swift/QtUI/QtSingleWindow.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/Swift/QtUI/QtSingleWindow.cpp b/Swift/QtUI/QtSingleWindow.cpp
index 6a87825..2a19dd4 100644
--- a/Swift/QtUI/QtSingleWindow.cpp
+++ b/Swift/QtUI/QtSingleWindow.cpp
@@ -6,9 +6,19 @@
#include <Swift/QtUI/QtSingleWindow.h>
+#include <Swift/QtUI/QtSettingsProvider.h>
+
namespace Swift {
-QtSingleWindow::QtSingleWindow() : QSplitter() {
+static const QString SINGLE_WINDOW_GEOMETRY = QString("SINGLE_WINDOW_GEOMETRY");
+
+QtSingleWindow::QtSingleWindow(QtSettingsProvider* settings) : QSplitter() {
+ settings_ = settings;
+ QVariant geometryVariant = settings_->getQSettings()->value(SINGLE_WINDOW_GEOMETRY);
+ if (geometryVariant.isValid()) {
+ restoreGeometry(geometryVariant.toByteArray());
+ }
+
}
@@ -16,4 +26,17 @@ QtSingleWindow::~QtSingleWindow() {
}
+void QtSingleWindow::handleGeometryChanged() {
+ settings_->getQSettings()->setValue(SINGLE_WINDOW_GEOMETRY, saveGeometry());
+
+}
+
+void QtSingleWindow::resizeEvent(QResizeEvent*) {
+ handleGeometryChanged();
+}
+
+void QtSingleWindow::moveEvent(QMoveEvent*) {
+ handleGeometryChanged();
+}
+
}