diff options
author | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2010-05-07 16:14:31 +0000 |
---|---|---|
committer | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2010-05-07 16:14:31 +0000 |
commit | 91f676e4f04230e720a89a0304e297c5e661b11b (patch) | |
tree | ce8a885af9f8822d0165311638fb01ad5b0b96ee | |
parent | finished spanish translation (diff) | |
download | gpg4usb-91f676e4f04230e720a89a0304e297c5e661b11b.tar.gz gpg4usb-91f676e4f04230e720a89a0304e297c5e661b11b.zip |
added save and restore checked keys
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@315 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rw-r--r-- | gpgwin.cpp | 32 | ||||
-rw-r--r-- | keylist.cpp | 25 | ||||
-rw-r--r-- | keylist.h | 2 | ||||
-rwxr-xr-x | settingsdialog.cpp | 29 | ||||
-rwxr-xr-x | settingsdialog.h | 3 |
5 files changed, 80 insertions, 11 deletions
@@ -63,7 +63,6 @@ GpgWin::GpgWin() void GpgWin::restoreSettings() { QSettings settings; - //restoreGeometry(settings.value("window/geometry").toByteArray()); // state sets pos & size of dock-widgets this->restoreState(settings.value("window/windowState").toByteArray()); @@ -87,6 +86,14 @@ void GpgWin::restoreSettings() // Iconstyle Qt::ToolButtonStyle buttonStyle = static_cast<Qt::ToolButtonStyle>(settings.value("toolbar/iconstyle", Qt::ToolButtonTextUnderIcon).toUInt()); this->setToolButtonStyle(buttonStyle); + + // Checked Keys + Qt::CheckState keySave = static_cast<Qt::CheckState>(settings.value("keys/keySave", Qt::Unchecked).toUInt()); + if (keySave == Qt::Checked) { + QStringList keyIds = settings.value("keys/keyList").toStringList(); + mKeyList->setChecked(&keyIds); + + } } void GpgWin::createActions() @@ -278,6 +285,8 @@ void GpgWin::createStatusBar() void GpgWin::createDockWindows() { + /** KeyList-Dockwindow + */ dock = new QDockWidget(tr("Encrypt for:"), this); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); addDockWidget(Qt::RightDockWidgetArea, dock); @@ -292,18 +301,37 @@ void GpgWin::createDockWindows() void GpgWin::closeEvent(QCloseEvent *event) { + /** ask to save changes, if text modified + */ if (maybeSave()) { event->accept(); } else { event->ignore(); } + /** Save the settings + */ QSettings settings; - //settings.setValue("geometry", saveGeometry()); + + // 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 + Qt::CheckState keySave = static_cast<Qt::CheckState>(settings.value("keys/keySave", Qt::Unchecked).toUInt()); + if ( keySave == Qt::Checked ) { + QStringList *keyIds = mKeyList->getChecked(); + if (!keyIds->isEmpty()){ + settings.setValue("keys/keyList", *keyIds); + } else { + settings.setValue("keys/keyList",""); + } + } + + /******************** + * Quit programm + * ******************/ QMainWindow::closeEvent(event); } diff --git a/keylist.cpp b/keylist.cpp index 76e9291..7a0b12e 100644 --- a/keylist.cpp +++ b/keylist.cpp @@ -35,6 +35,7 @@ KeyList::KeyList(GpgME::Context *ctx, QString iconpath, QWidget *parent) mKeyList->setColumnWidth(1, 20); mKeyList->sortByColumn(2, Qt::AscendingOrder); mKeyList->setSelectionBehavior(QAbstractItemView::SelectRows); + // id of key mKeyList->setColumnHidden(4, true); // tableitems not editable mKeyList->setEditTriggers(QAbstractItemView::NoEditTriggers); @@ -108,6 +109,30 @@ QStringList *KeyList::getChecked() return ret; } +void KeyList::setChecked(QStringList *keyIds) +{ + if (!keyIds->isEmpty()){ + if (keyIds->at(0) != "" ){ + for (int i = 0; i < mKeyList->rowCount(); i++) { + if (keyIds->contains(mKeyList->item(i, 4)->text())) { + mKeyList->item(i, 0)->setCheckState(Qt::Checked); + } + } + } + } +} + +/*QStringList *KeyList::getPrivateChecked() +{ + QStringList *ret = new QStringList(); + for (int i = 0; i < mKeyList->rowCount(); i++) { + if ((mKeyList->item(i, 0)->checkState() == Qt::Checked) && (mKeyList->item(i, 4))) { + *ret << mKeyList->item(i, 4)->text(); + } + } + return ret; +} +*/ QStringList *KeyList::getSelected() { QStringList *ret = new QStringList(); @@ -44,6 +44,8 @@ public: KeyList(GpgME::Context *ctx, QString iconpath, QWidget *parent = 0); QStringList *getChecked(); + void setChecked(QStringList *keyIds); + //QStringList *getPrivateChecked(); QStringList *getSelected(); public slots: diff --git a/settingsdialog.cpp b/settingsdialog.cpp index aed2c26..4685cad 100755 --- a/settingsdialog.cpp +++ b/settingsdialog.cpp @@ -91,6 +91,15 @@ SettingsDialog::SettingsDialog(QWidget *parent) windowSizeBoxLayout->addWidget(windowSizeCheckBox); windowSizeBox->setLayout(windowSizeBoxLayout); + /***************************************** + * Save-Checked-Keys-Box + *****************************************/ + saveCheckedKeysBox = new QGroupBox(tr("Save Checked Keys")); + saveCheckedKeysBoxLayout = new QHBoxLayout(); + saveCheckedKeysCheckBox =new QCheckBox(tr("Save checked private keys on exit"),this); + saveCheckedKeysBoxLayout->addWidget(saveCheckedKeysCheckBox); + saveCheckedKeysBox->setLayout(saveCheckedKeysBoxLayout); + /***************************************** * Language Select Box *****************************************/ @@ -122,6 +131,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) vbox->addWidget(iconSizeBox); vbox->addWidget(iconStyleBox); vbox->addWidget(windowSizeBox); + vbox->addWidget(saveCheckedKeysBox); vbox->addWidget(langBox); vbox->addWidget(buttonBox); setLayout(vbox); @@ -163,12 +173,17 @@ void SettingsDialog::setSettings() break; } + // Window Save and Position Qt::CheckState windowSave = static_cast<Qt::CheckState>(settings.value("window/windowSave", Qt::Unchecked).toUInt()); windowSizeCheckBox->setCheckState(windowSave); - //static_cast<Qt::QString> + + // Keysaving + Qt::CheckState keySave = static_cast<Qt::CheckState>(settings.value("keys/keySave", Qt::Unchecked).toUInt()); + saveCheckedKeysCheckBox->setCheckState(keySave); + + //Language setting QString langKey = settings.value("int/lang").toString(); QString langValue = lang.value(langKey); - langSelectBox->setCurrentIndex(langSelectBox->findText(langValue)); } @@ -200,6 +215,7 @@ void SettingsDialog::applySettings() } settings.setValue("window/windowSave", windowSizeCheckBox->checkState()); + settings.setValue("keys/keySave", saveCheckedKeysCheckBox->checkState()); //qDebug() << "lang:" << langSelectBox->currentText() << " : " << lang.key(langSelectBox->currentText()); settings.setValue("int/lang", lang.key(langSelectBox->currentText())); @@ -208,13 +224,8 @@ void SettingsDialog::applySettings() } // http://www.informit.com/articles/article.aspx?p=1405555&seqNum=3 -QHash<QString, QString> SettingsDialog::listLanguages() { - - // translate this String to language used, the language list gets - // filled from this -// QString locaLangName = tr("English", "Insert local name of language here. This is used for the language menu of the settingsdialog"); - - //QStringList languages; +QHash<QString, QString> SettingsDialog::listLanguages() +{ QHash<QString, QString> languages; languages.insert("", tr("System Default")); diff --git a/settingsdialog.h b/settingsdialog.h index 88dd424..7a87e19 100755 --- a/settingsdialog.h +++ b/settingsdialog.h @@ -45,6 +45,7 @@ private: QGroupBox *iconSizeBox; QGroupBox *iconStyleBox; QGroupBox *windowSizeBox; + QGroupBox *saveCheckedKeysBox; QDialogButtonBox *buttonBox; QButtonGroup *iconSizeGroup; @@ -57,12 +58,14 @@ private: QRadioButton *iconIconsButton; QRadioButton *iconAllButton; QCheckBox *windowSizeCheckBox; + QCheckBox *saveCheckedKeysCheckBox; QComboBox *langSelectBox; QHash<QString, QString> lang; QHBoxLayout *iconSizeBoxLayout; QHBoxLayout *iconStyleBoxLayout; QHBoxLayout *windowSizeBoxLayout; + QHBoxLayout *saveCheckedKeysBoxLayout; QVBoxLayout *vbox; void setSettings(); |