summaryrefslogtreecommitdiffstats
path: root/mainwindow.cpp
diff options
context:
space:
mode:
authorAnne Jan Brouwer <annejan@noprotocol.com>2015-07-08 21:31:26 +0200
committerAnne Jan Brouwer <annejan@noprotocol.com>2015-07-08 21:31:26 +0200
commitab1fb087b042163b7904a3f815888586e4444d9e (patch)
treecb0b8a246f81c79357b190292f6e73d622229491 /mainwindow.cpp
parentf5438fd182b17976c40a786d2312890305de5c66 (diff)
save size and stuff
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r--mainwindow.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp
index c0991381..39da92a4 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -134,6 +134,23 @@ bool MainWindow::checkConfig() {
QSettings &settings(getSettings());
+ if (firstRun) {
+ settings.beginGroup( "mainwindow" );
+ restoreGeometry(settings.value( "geometry", saveGeometry() ).toByteArray());
+ restoreState(settings.value( "savestate", saveState() ).toByteArray());
+ move(settings.value( "pos", pos() ).toPoint());
+ resize(settings.value( "size", size() ).toSize());
+ QList<int> splitter = ui->splitter->sizes();
+ int left = settings.value("splitterLeft", splitter[0]).toInt();
+ int right= settings.value("splitterRight", splitter[1]).toInt();
+ splitter[0] = left != 0 ? left : splitter[0];
+ splitter[1] = right != 0 ? right : splitter[1];
+ ui->splitter->setSizes(splitter);
+ if ( settings.value( "maximized", isMaximized() ).toBool() )
+ showMaximized();
+ settings.endGroup();
+ }
+
usePass = (settings.value("usePass") == "true");
useClipboard = (settings.value("useClipboard") == "true");
@@ -1276,6 +1293,17 @@ void MainWindow::closeEvent(QCloseEvent *event)
this->hide();
event->ignore();
} else {
+ settings->beginGroup( "mainwindow" );
+ settings->setValue( "geometry", saveGeometry() );
+ settings->setValue( "savestate", saveState() );
+ settings->setValue( "maximized", isMaximized() );
+ if ( !isMaximized() ) {
+ settings->setValue( "pos", pos() );
+ settings->setValue( "size", size() );
+ }
+ settings->setValue("splitterLeft", ui->splitter->sizes()[0]);
+ settings->setValue("splitterRight", ui->splitter->sizes()[1]);
+ settings->endGroup();
event->accept();
}
}