diff options
-rw-r--r-- | context.cpp | 12 | ||||
-rw-r--r-- | keydetailsdialog.cpp | 99 | ||||
-rw-r--r-- | keydetailsdialog.h | 29 | ||||
-rwxr-xr-x | keymgmt.cpp | 1 |
4 files changed, 85 insertions, 56 deletions
diff --git a/context.cpp b/context.cpp index 6ca8b02..b6a781e 100644 --- a/context.cpp +++ b/context.cpp @@ -151,19 +151,9 @@ bool Context::exportKeys(QList<QString> *uidList, QByteArray *outBuffer) gpgme_key_t Context::getKeyDetails(QString uid) { -// gpgme_error_t err; gpgme_key_t key; - - /*gpgme_op_keylist_start (mCctx, uid.toAscii().constData(), 0); - gpgme_op_keylist_next (mCtx, &key); - qDebug() << key->subkeys->keyid); - if (key->uids && key->uids->name) - qDebug() << key->uids->name; - if (key->uids && key->uids->email) - qDebug() << key->uids->email; - gpgme_key_release (key);*/ - gpgme_get_key (mCtx, uid.toAscii().constData(), &key, 1); + gpgme_get_key (mCtx, uid.toAscii().constData(), &key, 0); return key; } diff --git a/keydetailsdialog.cpp b/keydetailsdialog.cpp index ef34097..ff0896c 100644 --- a/keydetailsdialog.cpp +++ b/keydetailsdialog.cpp @@ -20,21 +20,26 @@ */ #include "keydetailsdialog.h" -#include "QDebug" -#include "QDateTime" - +//#include "QDebug" + KeyDetailsDialog::KeyDetailsDialog(gpgme_key_t key) { setWindowTitle(tr("Key Properties")); resize(500, 200); setModal(true); - + + ownerBox = new QGroupBox(tr("Owner details")); + keyBox = new QGroupBox(tr("Key details")); + fingerprintBox = new QGroupBox(tr("Fingerprint")); + buttonBox = new QDialogButtonBox(QDialogButtonBox::Close); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(close())); + nameLabel = new QLabel(tr("Name:")); - emailLabel = new QLabel(tr("E-Mailaddress::")); + emailLabel = new QLabel(tr("E-Mailaddress:")); commentLabel = new QLabel(tr("Comment:")); keySizeLabel = new QLabel(tr("KeySize:")); expireLabel = new QLabel(tr("Expires on: ")); - fingerPrintLabel = new QLabel(tr("Fingerprint")); + createdLabel = new QLabel(tr("Created on: ")); algorithmLabel = new QLabel(tr("Algorithm")); nameVarLabel = new QLabel(key->uids->name); @@ -45,43 +50,53 @@ KeyDetailsDialog::KeyDetailsDialog(gpgme_key_t key) { if ( key->subkeys->expires == 0 ) { expireVarLabel = new QLabel(tr("Never")); } else { - expireVarLabel = new QLabel(QDateTime::fromTime_t(key->subkeys->expires).toString()); + expireVarLabel = new QLabel(QDateTime::fromTime_t(key->subkeys->expires).toString("dd. MMM. yyyy")); } - - fingerPrintVarLabel = new QLabel(key->subkeys->fpr); + createdVarLabel = new QLabel(QDateTime::fromTime_t(key->subkeys->timestamp).toString("dd. MMM. yyyy")); algorithmVarLabel = new QLabel(gpgme_pubkey_algo_name(key->subkeys->pubkey_algo)); + + mvbox = new QVBoxLayout(); + vboxKD = new QGridLayout(); + vboxOD = new QGridLayout(); - QGridLayout *vbox1 = new QGridLayout; - vbox1->addWidget(nameLabel, 0, 0); - vbox1->addWidget(emailLabel, 1, 0); - vbox1->addWidget(commentLabel, 2, 0); - vbox1->addWidget(keySizeLabel, 3, 0); - vbox1->addWidget(expireLabel, 4, 0); - vbox1->addWidget(fingerPrintLabel, 5, 0); - vbox1->addWidget(algorithmLabel, 6, 0); - vbox1->addWidget(nameVarLabel, 0, 1); - vbox1->addWidget(emailVarLabel, 1, 1); - vbox1->addWidget(commentVarLabel, 2, 1); - vbox1->addWidget(keySizeVarLabel, 3, 1); - vbox1->addWidget(expireVarLabel, 4, 1); - vbox1->addWidget(fingerPrintVarLabel, 5, 1); - vbox1->addWidget(algorithmVarLabel, 6, 1); + vboxOD->addWidget(nameLabel, 0, 0); + vboxOD->addWidget(emailLabel, 1, 0); + vboxOD->addWidget(commentLabel, 2, 0); + vboxOD->addWidget(nameVarLabel, 0, 1); + vboxOD->addWidget(emailVarLabel, 1, 1); + vboxOD->addWidget(commentVarLabel, 2, 1); -this->setLayout(vbox1); - -this->setWindowTitle(tr("Generate Key")); -this->show(); -/*if (key->uids) { qDebug() <<"UIds: ja";} + vboxKD->addWidget(keySizeLabel, 0, 0); + vboxKD->addWidget(expireLabel, 1, 0); + vboxKD->addWidget(algorithmLabel, 3, 0); + vboxKD->addWidget(createdLabel, 4, 0); + + vboxKD->addWidget(keySizeVarLabel, 0, 1); + vboxKD->addWidget(expireVarLabel, 1, 1); + vboxKD->addWidget(algorithmVarLabel, 3, 1); + vboxKD->addWidget(createdVarLabel, 4, 1); + + ownerBox->setLayout(vboxOD); + mvbox->addWidget(ownerBox); + + keyBox->setLayout(vboxKD); + mvbox->addWidget(keyBox); + + vboxFP = new QVBoxLayout(); + fingerPrintLabel = new QLabel(beautifyFingerprint(key->subkeys->fpr)); + fingerPrintLabel->setTextInteractionFlags(Qt::TextSelectableByMouse); + vboxFP->addWidget(fingerPrintLabel); + fingerprintBox->setLayout(vboxFP); + mvbox->addWidget(fingerprintBox); + + mvbox->addWidget(buttonBox); + + this->setLayout(mvbox); + this->setWindowTitle(tr("Generate Key")); + this->show(); + +/* qDebug() << "is secret: " << key ->secret; qDebug() << "can encrypt: " <<key ->can_encrypt; - - qDebug() << "Name:" << key->uids->name; - qDebug() << "E-Mail: " << key ->uids->email; - qDebug() << "Komentar: " << key ->uids->comment; - qDebug() << "Fingerprint:" << key ->subkeys->fpr; - qDebug() << "Key-Length:" << key ->subkeys->length <<" bit"; - qDebug() << "creation date timestamp: " << key->subkeys->timestamp; - qDebug() << "creation date timestamp: " << QDateTime::fromTime_t(key->subkeys->timestamp); - qDebug() << "is secret: " << key ->secret; qDebug() << "can sign: " <<key ->can_sign; qDebug() << "can encrypt: " <<key ->can_encrypt; qDebug() << "expires: " << key-> expired; @@ -91,3 +106,11 @@ this->show(); */ exec(); } + +QString KeyDetailsDialog::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/keydetailsdialog.h b/keydetailsdialog.h index 000f9a8..d93fade 100644 --- a/keydetailsdialog.h +++ b/keydetailsdialog.h @@ -19,9 +19,14 @@ * MA 02110-1301, USA. */ -#include <QDialog> -#include <QLabel> -#include <QGridLayout> +#include "QDateTime" +#include "QVBoxLayout" +#include "QDialogButtonBox" +#include "QDialog" +#include "QGroupBox" +#include "QLabel" +#include "QGridLayout" + #include <gpgme.h> class KeyDetailsDialog : public QDialog @@ -32,19 +37,31 @@ public: KeyDetailsDialog(gpgme_key_t key); private: + QGroupBox *ownerBox; + QGroupBox *keyBox; + QGroupBox *fingerprintBox; + QDialogButtonBox *buttonBox; + + QVBoxLayout *mvbox; + QGridLayout *vboxKD; + QGridLayout *vboxOD; + QVBoxLayout *vboxFP; + QLabel *nameLabel; QLabel *emailLabel; QLabel *commentLabel; QLabel *keySizeLabel; QLabel *expireLabel; - QLabel *fingerPrintLabel; + QLabel *createdLabel; QLabel *algorithmLabel; - + QLabel *fingerPrintLabel; + QLabel *nameVarLabel; QLabel *emailVarLabel; QLabel *commentVarLabel; QLabel *keySizeVarLabel; QLabel *expireVarLabel; - QLabel *fingerPrintVarLabel; + QLabel *createdVarLabel; QLabel *algorithmVarLabel; + QString beautifyFingerprint(QString fingerprint); }; diff --git a/keymgmt.cpp b/keymgmt.cpp index 2bdd52c..bce7d6e 100755 --- a/keymgmt.cpp +++ b/keymgmt.cpp @@ -156,7 +156,6 @@ void KeyMgmt::deleteCheckedKeys() void KeyMgmt::showKeyDetails() { - qDebug() << mKeyList->getSelected(); // TODO: first...? gpgme_key_t key = mCtx->getKeyDetails(mKeyList->getSelected()->first()); new KeyDetailsDialog(key); |