aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2010-04-07 23:45:10 +0000
committernils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2010-04-07 23:45:10 +0000
commitfde5c86ac077622d2f1a13e8b8ef896ba98eb7ff (patch)
treea6a27cc2876a152a4a90acf46f110145e175ff0e
parentadded french translation (partially) (diff)
downloadgpg4usb-fde5c86ac077622d2f1a13e8b8ef896ba98eb7ff.tar.gz
gpg4usb-fde5c86ac077622d2f1a13e8b8ef896ba98eb7ff.zip
added window size save on exit in settings
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@291 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rw-r--r--gpgwin.cpp35
-rwxr-xr-xsettingsdialog.cpp33
-rwxr-xr-xsettingsdialog.h5
3 files changed, 48 insertions, 25 deletions
diff --git a/gpgwin.cpp b/gpgwin.cpp
index 477f566..2962e7b 100644
--- a/gpgwin.cpp
+++ b/gpgwin.cpp
@@ -63,29 +63,33 @@ GpgWin::GpgWin()
void GpgWin::restoreSettings()
{
- // Restore window size & location
- // TODO: is this a good idea for a portable app? screen size & resolution may vary
QSettings settings;
//restoreGeometry(settings.value("window/geometry").toByteArray());
- QPoint pos = settings.value("window/pos", QPoint(100, 100)).toPoint();
- QSize size = settings.value("window/size", QSize(800, 450)).toSize();
+
+ // Restore window size & location
+ Qt::CheckState windowSave = static_cast<Qt::CheckState>(settings.value("window/windowSave", Qt::Unchecked).toUInt());
+ if (windowSave == Qt::Checked) {
+ QPoint pos = settings.value("window/pos", QPoint(100, 100)).toPoint();
+ QSize size = settings.value("window/size", QSize(800, 450)).toSize();
+ this->resize(size);
+ this->move(pos);
+ } else {
+ this->resize(QSize(800,450));
+ this->move(QPoint(100, 100));
+ }
+
+ // Iconsize
QSize iconSize = settings.value("toolbar/iconsize", QSize(32, 32)).toSize();
- Qt::ToolButtonStyle buttonStyle = static_cast<Qt::ToolButtonStyle>(settings.value("toolbar/iconstyle", Qt::ToolButtonTextUnderIcon).toUInt());
-
- this->resize(size);
- this->move(pos);
this->setIconSize(iconSize);
+
+ // Iconstyle
+ Qt::ToolButtonStyle buttonStyle = static_cast<Qt::ToolButtonStyle>(settings.value("toolbar/iconstyle", Qt::ToolButtonTextUnderIcon).toUInt());
this->setToolButtonStyle(buttonStyle);
// state sets pos & size of dock-widgets
this->restoreState(settings.value("window/windowState").toByteArray());
}
-/* void GpgWin::dropEvent(QDropEvent *event)
- {
- edit->setPlainText(event->mimeData()->text());
- event->acceptProposedAction();
- }
-*/
+
void GpgWin::createActions()
{
/** Main Menu
@@ -147,8 +151,7 @@ void GpgWin::restoreSettings()
selectallAct->setToolTip(tr("Select the whole text"));
connect(selectallAct, SIGNAL(triggered()), edit, SLOT(selectAll()));
- openSettingsAct = new QAction(tr("Settings"), this);
-// openSettingsAct->setIcon(QIcon(iconPath + "fileencrytion.png"));
+ openSettingsAct = new QAction(tr("Se&ttings"), this);
openSettingsAct->setToolTip(tr("Open settings dialog"));
connect(openSettingsAct, SIGNAL(triggered()), this, SLOT(openSettingsDialog()));
diff --git a/settingsdialog.cpp b/settingsdialog.cpp
index 2301a45..6c9c8c6 100755
--- a/settingsdialog.cpp
+++ b/settingsdialog.cpp
@@ -41,17 +41,11 @@ SettingsDialog::SettingsDialog()
resize(500, 200);
setModal(true);
- buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
- connect(buttonBox, SIGNAL(accepted()), this, SLOT(applySettings()));
- connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
-
- iconStyleBox = new QGroupBox(tr("Iconstyle"));
- iconSizeBox = new QGroupBox(tr("Iconsize"));
-
-
+
/*****************************************
* Icon-Size-Box
*****************************************/
+ iconSizeBox = new QGroupBox(tr("Iconsize"));
iconSizeGroup = new QButtonGroup();
iconSizeSmall = new QRadioButton(tr("small"));
iconSizeMedium =new QRadioButton(tr("medium"));
@@ -71,6 +65,7 @@ SettingsDialog::SettingsDialog()
/*****************************************
* Icon-Style-Box
*****************************************/
+ iconStyleBox = new QGroupBox(tr("Iconstyle"));
iconStyleGroup = new QButtonGroup();
iconTextButton = new QRadioButton(tr("just text"));
iconIconsButton =new QRadioButton(tr("just icons"));
@@ -87,7 +82,15 @@ SettingsDialog::SettingsDialog()
iconStyleBox->setLayout(iconStyleBoxLayout);
-
+ /*****************************************
+ * Window-Size-Box
+ *****************************************/
+ windowSizeBox = new QGroupBox(tr("Windowstate"));
+ windowSizeBoxLayout = new QHBoxLayout();
+ windowSizeCheckBox =new QCheckBox(tr("save window size and position on exit"),this);
+ windowSizeBoxLayout->addWidget(windowSizeCheckBox);
+ windowSizeBox->setLayout(windowSizeBoxLayout);
+
/*****************************************
* Language Select Box
*****************************************/
@@ -106,11 +109,19 @@ SettingsDialog::SettingsDialog()
langBox->setLayout(hbox2);
/*****************************************
+ * Button-Box
+ *****************************************/
+ buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
+ connect(buttonBox, SIGNAL(accepted()), this, SLOT(applySettings()));
+ connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+
+ /*****************************************
* Main V-Box
*****************************************/
vbox = new QVBoxLayout();
vbox->addWidget(iconSizeBox);
vbox->addWidget(iconStyleBox);
+ vbox->addWidget(windowSizeBox);
vbox->addWidget(langBox);
vbox->addWidget(buttonBox);
setLayout(vbox);
@@ -152,6 +163,8 @@ void SettingsDialog::setSettings()
break;
}
+ Qt::CheckState windowSave = static_cast<Qt::CheckState>(settings.value("window/windowSave", Qt::Unchecked).toUInt());
+ windowSizeCheckBox->setCheckState(windowSave);
}
/***********************************
@@ -180,6 +193,8 @@ void SettingsDialog::applySettings()
case 3:settings.setValue("toolbar/iconstyle", Qt::ToolButtonTextUnderIcon);
break;
}
+
+ settings.setValue("window/windowSave", windowSizeCheckBox->checkState());
accept();
}
diff --git a/settingsdialog.h b/settingsdialog.h
index 86bb05e..429637c 100755
--- a/settingsdialog.h
+++ b/settingsdialog.h
@@ -27,6 +27,8 @@
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QComboBox>
+#include <QCheckBox>
+
class SettingsDialog : public QDialog
{
@@ -38,6 +40,7 @@ public:
private:
QGroupBox *iconSizeBox;
QGroupBox *iconStyleBox;
+ QGroupBox *windowSizeBox;
QDialogButtonBox *buttonBox;
QButtonGroup *iconSizeGroup;
@@ -49,9 +52,11 @@ private:
QRadioButton *iconTextButton;
QRadioButton *iconIconsButton;
QRadioButton *iconAllButton;
+ QCheckBox *windowSizeCheckBox;
QHBoxLayout *iconSizeBoxLayout;
QHBoxLayout *iconStyleBoxLayout;
+ QHBoxLayout *windowSizeBoxLayout;
QVBoxLayout *vbox;
void setSettings();