diff options
Diffstat (limited to 'verifydetailsdialog.cpp')
-rw-r--r-- | verifydetailsdialog.cpp | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/verifydetailsdialog.cpp b/verifydetailsdialog.cpp new file mode 100644 index 0000000..02090fc --- /dev/null +++ b/verifydetailsdialog.cpp @@ -0,0 +1,88 @@ +#include "verifydetailsdialog.h" + +VerifyDetailsDialog::VerifyDetailsDialog(QWidget *parent, GpgME::Context* ctx, KeyList* keyList, gpgme_signature_t signature) : + QDialog(parent) +{ + this->mCtx = ctx; + this->mKeyList = keyList; + + QVBoxLayout* mVbox = new QVBoxLayout(); + + QDateTime timestamp; + timestamp.setTime_t(signature->timestamp); + + mVbox->addWidget(new QLabel(tr("Text was completly signed on %1 by:\n").arg(timestamp.toString(Qt::SystemLocaleShortDate)))); + + while (signature) { + QGroupBox* sbox = addDetailBox(signature); + signature = signature->next; + mVbox->addWidget(sbox); + } + + QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Close); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(close())); + + mVbox->addWidget(buttonBox); + + this->setLayout(mVbox); + this->setWindowTitle(tr("Signaturedetails")); + this->show(); + + exec(); +} + +QGroupBox* VerifyDetailsDialog::addDetailBox( gpgme_signature_t signature ) { + + QGridLayout *grid = new QGridLayout(); + + switch (gpg_err_code(signature->status)) + { + case GPG_ERR_NO_PUBKEY: + { + //verifyStatus=VERIFY_ERROR_WARN; + //vn->addVerifyDetailLabel(tr("Key not present in keylist: ")+QString(signature->fpr),VERIFY_ERROR_WARN, false); + 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); + + break; + } + case GPG_ERR_NO_ERROR: + { + /*QString name = mKeyList->getKeyNameByFpr(signature->fpr); + QString email =mKeyList->getKeyEmailByFpr(signature->fpr); + vn->addVerifyDetailLabel(tr("Name: ")+name+"\n"+tr("EMail: ")+email+"\n"+tr("Fingerprint: ")+QString(signature->fpr),VERIFY_ERROR_OK, false); + break;*/ + + 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(signature->fpr), 2, 1); + grid->addWidget(new QLabel("OK"), 3, 1); + + + } + default: + { + //verifyStatus=VERIFY_ERROR_WARN; + /*vn->addVerifyDetailLabel(tr("Key with Fingerprint: ")+ + QString(signature->fpr)+"\n"+tr("Signature status: ")+gpg_strerror(signature->status)+"\n" + +tr("Signature validity reason: ")+QString(gpgme_strerror(signature->validity_reason)), + VERIFY_ERROR_WARN, false); + */ + break; + } + } + + + + QGroupBox *sbox = new QGroupBox(tr("Key")); + sbox->setLayout(grid); + return sbox; + +} |