diff options
author | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-09-17 23:39:50 +0000 |
---|---|---|
committer | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-09-17 23:39:50 +0000 |
commit | bcc1d3658efcb79d00863aa0351d94da273078c7 (patch) | |
tree | 4f8750c7d911ee526add9eb2fb8d80938d0ba0d0 | |
parent | add import button for ever single missing key in verifydetailsdialog (diff) | |
download | gpg4usb-bcc1d3658efcb79d00863aa0351d94da273078c7.tar.gz gpg4usb-bcc1d3658efcb79d00863aa0351d94da273078c7.zip |
added two missing verifykeydetail files
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@535 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rw-r--r-- | verifykeydetailbox.cpp | 69 | ||||
-rw-r--r-- | verifykeydetailbox.h | 31 |
2 files changed, 100 insertions, 0 deletions
diff --git a/verifykeydetailbox.cpp b/verifykeydetailbox.cpp new file mode 100644 index 0000000..3a758ed --- /dev/null +++ b/verifykeydetailbox.cpp @@ -0,0 +1,69 @@ +#include "verifykeydetailbox.h" + +VerifyKeyDetailBox::VerifyKeyDetailBox(QWidget *parent, GpgME::Context* ctx, KeyList* keyList, gpgme_signature_t signature) : + QGroupBox(parent) +{ + this->mCtx = ctx; + this->mKeyList = keyList; + + QGridLayout *grid = new QGridLayout(); + fpr=signature->fpr; + switch (gpg_err_code(signature->status)) + { + case GPG_ERR_NO_PUBKEY: + { + QPushButton *importButton = new QPushButton("Import from keyserver"); + connect(importButton, SIGNAL(clicked()), this, SLOT(importFormKeyserver())); + + grid->addWidget(new QLabel(tr("Status:")), 0, 0); + grid->addWidget(new QLabel(tr("Fingerprint:")), 1, 0); + grid->addWidget(new QLabel("Key not present in keylist"), 0, 1); + grid->addWidget(new QLabel(signature->fpr), 1, 1); + grid->addWidget(importButton, 2,0,2,1); + break; + } + case GPG_ERR_NO_ERROR: + { + grid->addWidget(new QLabel(tr("Name:")), 0, 0); + grid->addWidget(new QLabel(tr("EMail:")), 1, 0); + grid->addWidget(new QLabel(tr("Fingerprint:")), 2, 0); + grid->addWidget(new QLabel(tr("Status:")), 3, 0); + + grid->addWidget(new QLabel(mKeyList->getKeyNameByFpr(signature->fpr)), 0, 1); + grid->addWidget(new QLabel(mKeyList->getKeyEmailByFpr(signature->fpr)), 1, 1); + grid->addWidget(new QLabel(beautifyFingerprint(signature->fpr)), 2, 1); + grid->addWidget(new QLabel("OK"), 3, 1); + + break; + } + default: + { + grid->addWidget(new QLabel(tr("Status:")), 0, 0); + grid->addWidget(new QLabel(tr("Fingerprint:")), 1, 0); + + grid->addWidget(new QLabel(gpg_strerror(signature->status)), 0, 1); + grid->addWidget(new QLabel(beautifyFingerprint(signature->fpr)), 1, 1); + + break; + } + } + + this->setLayout(grid); +} + +void VerifyKeyDetailBox::importFormKeyserver() { + qDebug() << "clicked"; + KeyServerImportDialog *importDialog =new KeyServerImportDialog(mCtx,this); + importDialog->import(fpr); +} + +QString VerifyKeyDetailBox::beautifyFingerprint(QString fingerprint) +{ + uint len = fingerprint.length(); + if ((len > 0) && (len % 4 == 0)) + for (uint n = 0; 4 *(n + 1) < len; ++n) + fingerprint.insert(5 * n + 4, ' '); + return fingerprint; +} + + diff --git a/verifykeydetailbox.h b/verifykeydetailbox.h new file mode 100644 index 0000000..7388332 --- /dev/null +++ b/verifykeydetailbox.h @@ -0,0 +1,31 @@ +#ifndef __VERIFYKEYDETAILBOX_H__ +#define __VERIFYKEYDETAILBOX_H__ + +#include "context.h" +#include "keylist.h" +#include "keyserverimportdialog.h" +#include <QDialog> +#include <QGroupBox> + +class VerifyKeyDetailBox: public QGroupBox +{ + Q_OBJECT +public: + explicit VerifyKeyDetailBox(QWidget *parent, GpgME::Context* ctx, KeyList* mKeyList, gpgme_signature_t signature); + +signals: + void clicked(const QString &text); + +private slots: + void importFormKeyserver(); + +private: + GpgME::Context* mCtx; + KeyList* mKeyList; + QString beautifyFingerprint(QString fingerprint); + QVBoxLayout* mVbox; + QString fpr; +}; + +#endif // __VERIFYKEYDETAILBOX_H__ + |