From e9bb889a0f1cb488453fc0e67e00041fd144b18c Mon Sep 17 00:00:00 2001 From: ubbo Date: Mon, 7 Jun 2010 19:28:52 +0000 Subject: fix behaviour on close if canceled git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@345 34ebc366-c3a9-4b3c-9f84-69acf7962910 --- gpgwin.cpp | 44 +++++++++++++++++++++----------------------- gpgwin.h | 1 + 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/gpgwin.cpp b/gpgwin.cpp index e485d3a..d5b3af4 100644 --- a/gpgwin.cpp +++ b/gpgwin.cpp @@ -98,6 +98,26 @@ void GpgWin::restoreSettings() } } +void GpgWin::saveSettings() +{ + // window position and size + settings.setValue("window/windowState", saveState()); + settings.setValue("window/pos", pos()); + settings.setValue("window/size", size()); + + // keyid-list of private checked keys + if (settings.value("keys/keySave").toBool()) { + QStringList *keyIds = mKeyList->getPrivateChecked(); + if (!keyIds->isEmpty()) { + settings.setValue("keys/keyList", *keyIds); + } else { + settings.setValue("keys/keyList", ""); + } + } else { + settings.remove("keys/keyList"); + } +} + void GpgWin::createActions() { /** Main Menu @@ -327,34 +347,12 @@ void GpgWin::closeEvent(QCloseEvent *event) /** ask to save changes, if text modified */ if (maybeSave()) { + saveSettings(); event->accept(); } else { event->ignore(); } - /** Save the settings - */ - // window position and size - settings.setValue("window/windowState", saveState()); - settings.setValue("window/pos", pos()); - settings.setValue("window/size", size()); - - // keyid-list of private checked keys - if (settings.value("keys/keySave").toBool()) { - QStringList *keyIds = mKeyList->getPrivateChecked(); - if (!keyIds->isEmpty()) { - settings.setValue("keys/keyList", *keyIds); - } else { - settings.setValue("keys/keyList", ""); - } - } else { - settings.remove("keys/keyList"); - } - - /******************** - * Quit programm - * ******************/ - QMainWindow::closeEvent(event); } void GpgWin::open() diff --git a/gpgwin.h b/gpgwin.h index ce91926..920bc44 100644 --- a/gpgwin.h +++ b/gpgwin.h @@ -93,6 +93,7 @@ private: void setCurrentFile(const QString &fileName); bool maybeSave(); void restoreSettings(); + void saveSettings(); void preventNoDataErr(QByteArray *in); void parseMime(QByteArray *message); QString strippedName(const QString &fullFileName); -- cgit v1.2.3