diff options
Diffstat (limited to 'shemov.cpp')
-rw-r--r-- | shemov.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -24,6 +24,7 @@ #include <QFont> #include <QFontMetrics> #include <QLocale> +#include <QCloseEvent> #include <sys/vfs.h> #include "shemov.h" @@ -101,10 +102,18 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla QWidget *centralWidget = new QWidget; centralWidget->setLayout(mainLayout); setCentralWidget(centralWidget); - showMaximized(); + readSettings(); + mFSWidget->readSettings(); + show(); mFSWidget->fileView()->setFocus(Qt::ActiveWindowFocusReason); } +void SheMov::closeEvent(QCloseEvent *event){ + mFSWidget->writeSettings(); + writeSettings(); + event->accept(); +} + void SheMov::updateSelectionCount(const QItemSelection & /* sel */, const QItemSelection & /* prev */){ QLocale l; switch (mTab->currentIndex()) { @@ -444,3 +453,22 @@ void SheMov::createExtractMenu(){ } } +void SheMov::writeSettings(){ + QSettings s; + s.setValue("windows/mainpos", pos()); + s.setValue("windows/mainsize", size()); + bool winState = windowState() & Qt::WindowMaximized; + s.setValue("windows/maximized", winState); +} + +void SheMov::readSettings(){ + QSettings s; + QPoint winPos = s.value("windwos/mainpos").toPoint(); + QSize winSize = s.value("windows/mainsize").toSize(); + bool winState = s.value("windows/maximized", false).toBool(); + resize(winSize); + move(winPos); + if(winState){ + setWindowState(Qt::WindowMaximized); + } +} |