diff options
author | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-10-17 20:59:26 +0000 |
---|---|---|
committer | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-10-17 20:59:26 +0000 |
commit | 88e8f0dfc2a14458d4ede27b1c011d059a342f26 (patch) | |
tree | d33f20d9e060987c460fd6e28526ef04ae341801 | |
parent | updated german translation (diff) | |
download | gpg4usb-88e8f0dfc2a14458d4ede27b1c011d059a342f26.tar.gz gpg4usb-88e8f0dfc2a14458d4ede27b1c011d059a342f26.zip |
also export public key on private key export, but error handling still needs to be made
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@555 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rw-r--r-- | TODO | 4 | ||||
-rw-r--r-- | context.cpp | 8 | ||||
-rw-r--r-- | gpgwin.cpp | 14 | ||||
-rw-r--r-- | keyserverimportdialog.cpp | 31 |
4 files changed, 36 insertions, 21 deletions
@@ -18,8 +18,8 @@ Release 0.3.1 - dont hide verifynotification [DONE] - refresh verify after import of keys [DONE] - show, if message is partially verified(how)? [DONE] -- replace hardcoded urls in keyserverimport (setting default keyserverlist still missing, set default in importfromkeyserverdialog) -- export public key on export of private key too +- replace hardcoded urls in keyserverimport (setting default keyserverlist still missing, set default in importfromkeyserverdialog) [DONE] +- export public key on export of private key too [DONE] - beautify icons for verify and sign - set gpgme error language to chosen language (context.cpp:49) - stealth mode for windows (http://www.portablefreeware.com/forums/viewtopic.php?f=4&t=3713) diff --git a/context.cpp b/context.cpp index 812c529..e3ee119 100644 --- a/context.cpp +++ b/context.cpp @@ -472,10 +472,18 @@ int Context::checkErr(gpgme_error_t err) const void Context::exportSecretKey(QString uid, QByteArray *outBuffer) { + // export private key to outBuffer QStringList arguments; arguments << "--armor" << "--export-secret-key" << uid; QByteArray *err = new QByteArray(); executeGpgCommand(arguments, outBuffer, err); + + // append public key to outBuffer + QByteArray *pubKey = new QByteArray(); + QStringList keyList; + keyList.append(uid); + exportKeys(&keyList,pubKey); + outBuffer->append(*pubKey); } /** return type should be gpgme_error_t*/ @@ -93,6 +93,20 @@ void GpgWin::restoreSettings() QSize iconSize = settings.value("toolbar/iconsize", QSize(32, 32)).toSize(); this->setIconSize(iconSize); + // set list of keyserver if not defined + QStringList *keyServerDefaultList; + keyServerDefaultList = new QStringList("http://gpg-keyserver.de"); + keyServerDefaultList->append("http://pgp.mit.edu"); + keyServerDefaultList->append("http://pool.sks-keyservers.net"); + keyServerDefaultList->append("http://subkeys.pgp.net"); + + QStringList keyServerList = settings.value("keyserver/keyServerList", *keyServerDefaultList).toStringList(); + settings.setValue("keyserver/keyServerList", keyServerList); + + // set default keyserver, if it's not set + QString defaultKeyServer = settings.value("keyserver/defaultKeyServer", QString("http://pgp.mit.edu")).toString(); + settings.setValue("keyserver/defaultKeyServer", defaultKeyServer); + // Iconstyle Qt::ToolButtonStyle buttonStyle = static_cast<Qt::ToolButtonStyle>(settings.value("toolbar/iconstyle", Qt::ToolButtonTextUnderIcon).toUInt()); this->setToolButtonStyle(buttonStyle); diff --git a/keyserverimportdialog.cpp b/keyserverimportdialog.cpp index af416e0..61a16cd 100644 --- a/keyserverimportdialog.cpp +++ b/keyserverimportdialog.cpp @@ -57,7 +57,6 @@ KeyServerImportDialog::KeyServerImportDialog(GpgME::Context *ctx, QWidget *paren buttonsLayout->addWidget(importButton); buttonsLayout->addWidget(closeButton); - // QGridLayout *mainLayout = new QGridLayout; mainLayout->addWidget(searchLabel, 1, 0); mainLayout->addWidget(searchLineEdit, 1, 1); @@ -67,11 +66,11 @@ KeyServerImportDialog::KeyServerImportDialog(GpgME::Context *ctx, QWidget *paren mainLayout->addWidget(keysTable, 3, 0, 1, 3); mainLayout->addLayout(messageLayout, 4, 0, 1, 3); mainLayout->addLayout(buttonsLayout, 5, 0, 1, 3); - setLayout(mainLayout); - setWindowTitle(tr("Import Keys from Keyserver")); - resize(700, 300); - setModal(true); + this->setLayout(mainLayout); + this->setWindowTitle(tr("Import Keys from Keyserver")); + this->resize(700, 300); + this->setModal(true); } QPushButton *KeyServerImportDialog::createButton(const QString &text, const char *member) @@ -84,19 +83,17 @@ QPushButton *KeyServerImportDialog::createButton(const QString &text, const char QComboBox *KeyServerImportDialog::createComboBox() { QComboBox *comboBox = new QComboBox; - comboBox->setEditable(true); comboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); // Read keylist from ini-file and fill it into combobox QSettings settings; comboBox->addItems(settings.value("keyserver/keyServerList").toStringList()); - return comboBox; -} -static void updateComboBox(QComboBox *comboBox) -{ - if (comboBox->findText(comboBox->currentText()) == -1) - comboBox->addItem(comboBox->currentText()); + // set default keyserver in combobox + QString keyserver = settings.value("keyserver/defaultKeyServer").toString(); + comboBox->setCurrentIndex(comboBox->findText(keyserver)); + + return comboBox; } void KeyServerImportDialog::createKeysTable() @@ -207,13 +204,8 @@ void KeyServerImportDialog::searchFinished() void KeyServerImportDialog::import() { if ( keysTable->currentRow() > -1 ) { - - //TODO: just updateCombobox, when import is successful - updateComboBox(keyServerComboBox); QString keyid = keysTable->item(keysTable->currentRow(),2)->text(); - // TODO: use string from combobox - //QUrl url = keyServerComboBox->currentText()+":11371/pks/lookup?op=get&search=0x"+keyid+"&options=mr"; QUrl url = keyServerComboBox->currentText(); import(QStringList(keyid), url); } @@ -221,8 +213,9 @@ void KeyServerImportDialog::import() void KeyServerImportDialog::import(QStringList keyIds) { - // TODO: read default keyserver from settings - QUrl url("http://pgp.mit.edu"); + QSettings settings; + QString keyserver=settings.value("keyserver/defaultKeyServer").toString(); + QUrl url(keyserver); import(keyIds, url); } |