From a0b51452baaae811fbd3143f1e6f4ec9642a33c6 Mon Sep 17 00:00:00 2001 From: nils Date: Mon, 21 Nov 2011 20:15:30 +0000 Subject: added files for import information git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@646 34ebc366-c3a9-4b3c-9f84-69acf7962910 --- TODO | 5 ++- importdetaildialog.cpp | 113 +++++++++++++++++++++++++++++++++++++++++++++++++ importdetaildialog.h | 55 ++++++++++++++++++++++++ 3 files changed, 171 insertions(+), 2 deletions(-) create mode 100644 importdetaildialog.cpp create mode 100644 importdetaildialog.h diff --git a/TODO b/TODO index dbde041..ed46ef1 100644 --- a/TODO +++ b/TODO @@ -19,10 +19,11 @@ Release 0.3.2 - investigate in adding a offline help system - strike out revoked keys in keylist and add warning to keydetails - keyimport dialog should show reason for strike out -- key import should be more verbose: - - show message, which keys are imported +- key import should be more verbose: [DONE] + - show message, which keys are imported [DONE] - if import failed, because no key was found - if key is already in keyring + - for now done just for import from file and clipboard - show message, when key export is successful (statusbar) - dropdown from menubar instead of dialog for file-cryption (files->encrypt,decrypt) - encrypt and sign, decrypt and verify (?) diff --git a/importdetaildialog.cpp b/importdetaildialog.cpp new file mode 100644 index 0000000..4b30887 --- /dev/null +++ b/importdetaildialog.cpp @@ -0,0 +1,113 @@ +/* + * importdetailsdialog.cpp + * + * Copyright 2008 gpg4usb-team + * + * This file is part of gpg4usb. + * + * Gpg4usb is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Gpg4usb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with gpg4usb. If not, see + */ + +#include "importdetaildialog.h" + +ImportDetailDialog::ImportDetailDialog(GpgME::GpgContext* ctx, KeyList* keyList, gpgme_import_result_t result, QWidget *parent) + : QDialog(parent) +{ + mCtx = ctx; + mKeyList = keyList; + mResult = result; + + mvbox = new QVBoxLayout(); + + this->createGeneralInfoBox(); + this->createKeyInfoBox(); + + // Create ButtonBox for OK-Button + okButtonBox = new QDialogButtonBox(QDialogButtonBox::Close); + connect(okButtonBox, SIGNAL(rejected()), this, SLOT(close())); + mvbox->addWidget(okButtonBox); + + this->setLayout(mvbox); + this->setWindowTitle(tr("Key import details")); + this->setModal(true); + this->exec(); +} + +void ImportDetailDialog::createGeneralInfoBox() +{ + // GridBox for general import information + generalInfoBox = new QGroupBox(tr("Genral key import info")); + generalInfoBoxLayout = new QGridLayout(generalInfoBox); + + generalInfoBoxLayout->addWidget(new QLabel(tr("Considered:")),1,0); + generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult->considered)),1,1); + int row=2; + if (mResult->unchanged){ + generalInfoBoxLayout->addWidget(new QLabel(tr("Unchanged:")),row,0); + generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult->unchanged)),row,1); + row++; + } + if (mResult->imported){ + generalInfoBoxLayout->addWidget(new QLabel(tr("Imported:")),row,0); + generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult->imported)),row,1); + row++; + } + if (mResult->not_imported){ + generalInfoBoxLayout->addWidget(new QLabel(tr("Not imported:")),row,0); + generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult->not_imported)),row,1); + row++; + } + if (mResult->secret_read){ + generalInfoBoxLayout->addWidget(new QLabel(tr("Secret read:")),row,0); + generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult->secret_read)),row,1); + row++; + } + if (mResult->secret_imported){ + generalInfoBoxLayout->addWidget(new QLabel(tr("Secret imported:")),row,0); + generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult->secret_imported)),row,1); + row++; + } + if (mResult->secret_unchanged){ + generalInfoBoxLayout->addWidget(new QLabel(tr("Secret unchanged:")),row,0); + generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult->secret_unchanged)),row,1); + row++; + } + mvbox->addWidget(generalInfoBox); +} + +void ImportDetailDialog::createKeyInfoBox() +{ + // get details for the imported keys; + gpgme_import_status_t status = mResult->imports; + + keyInfoBox = new QGroupBox(tr("Detailed key import info")); + keyInfoBoxLayout = new QGridLayout(keyInfoBox); + + int keyrow=1; + + // process the whole list of keys + while (status != NULL) { + GpgKey key = mKeyList->getKeyByFpr(status->fpr); + keyInfoBoxLayout->addWidget(new QLabel(key.name),keyrow,2); + keyInfoBoxLayout->addWidget(new QLabel(key.email),keyrow,3); + keyInfoBoxLayout->addWidget(new QLabel(key.id),keyrow,4); + + status=status->next; + keyrow++; + } + + // Add the boxes to mainwidget + mvbox->addWidget(keyInfoBox); +} + diff --git a/importdetaildialog.h b/importdetaildialog.h new file mode 100644 index 0000000..f4d05de --- /dev/null +++ b/importdetaildialog.h @@ -0,0 +1,55 @@ +/* + * importdetailsdialog.h + * + * Copyright 2008 gpg4usb-team + * + * This file is part of gpg4usb. + * + * Gpg4usb is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Gpg4usb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with gpg4usb. If not, see + */ + +#ifndef __IMPORTDETAILSDIALOG_H__ +#define __IMPORTDETAILSDIALOG_H__ + +#include "keylist.h" +#include + +QT_BEGIN_NAMESPACE +class QGridLayout; +class QDialogButtonBox; +QT_END_NAMESPACE + +class ImportDetailDialog : public QDialog +{ + Q_OBJECT + +public: + ImportDetailDialog(GpgME::GpgContext* ctx, KeyList* keyList, gpgme_import_result_t result, QWidget *parent = 0); + +private: + void createGeneralInfoBox(); + void createKeyInfoBox(); + + GpgME::GpgContext *mCtx; + KeyList *mKeyList; + QGroupBox *generalInfoBox; + QGroupBox *keyInfoBox; + QDialogButtonBox *okButtonBox; + QVBoxLayout *mvbox; + QGridLayout *generalInfoBoxLayout; + QGridLayout *keyInfoBoxLayout; + gpgme_import_result_t mResult; +}; + +#endif // __IMPORTDETAILSDIALOG_H__ -- cgit v1.2.3