aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2011-09-17 23:39:50 +0000
committernils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2011-09-17 23:39:50 +0000
commitbcc1d3658efcb79d00863aa0351d94da273078c7 (patch)
tree4f8750c7d911ee526add9eb2fb8d80938d0ba0d0
parentadd import button for ever single missing key in verifydetailsdialog (diff)
downloadgpg4usb-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.cpp69
-rw-r--r--verifykeydetailbox.h31
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__
+