diff options
author | Anne Jan Brouwer <annejan@noprotocol.com> | 2015-07-08 21:31:26 +0200 |
---|---|---|
committer | Anne Jan Brouwer <annejan@noprotocol.com> | 2015-07-08 21:31:26 +0200 |
commit | ab1fb087b042163b7904a3f815888586e4444d9e (patch) | |
tree | cb0b8a246f81c79357b190292f6e73d622229491 /mainwindow.cpp | |
parent | f5438fd182b17976c40a786d2312890305de5c66 (diff) |
save size and stuff
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r-- | mainwindow.cpp | 28 |
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(); } } |