aboutsummaryrefslogtreecommitdiffstats
path: root/verifydetailsdialog.cpp
blob: 02090fc0438d6358705b20bd57bcd0eba2173d61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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;

}