diff options
author | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-11-27 20:18:21 +0000 |
---|---|---|
committer | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-11-27 20:18:21 +0000 |
commit | 0fe4790459f56c1fd3b207e67e81a5d0a52f5c55 (patch) | |
tree | 8714c0288fd2b004b47b9cd7b00d61d19b6097b2 /keyimportdetaildialog.cpp | |
parent | show dialog if no key is found for import (diff) | |
download | gpg4usb-0fe4790459f56c1fd3b207e67e81a5d0a52f5c55.tar.gz gpg4usb-0fe4790459f56c1fd3b207e67e81a5d0a52f5c55.zip |
minor beautifying on keyimportdetaildialog
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@650 34ebc366-c3a9-4b3c-9f84-69acf7962910
Diffstat (limited to 'keyimportdetaildialog.cpp')
-rw-r--r-- | keyimportdetaildialog.cpp | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/keyimportdetaildialog.cpp b/keyimportdetaildialog.cpp new file mode 100644 index 0000000..4834852 --- /dev/null +++ b/keyimportdetaildialog.cpp @@ -0,0 +1,128 @@ +/* + * keyimportdetailsdialog.cpp + * + * Copyright 2008 gpg4usb-team <[email protected]> + * + * 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 <http://www.gnu.org/licenses/> + */ + +#include "keyimportdetaildialog.h" + +KeyImportDetailDialog::KeyImportDetailDialog(GpgME::GpgContext* ctx, KeyList* keyList, gpgme_import_result_t result, QWidget *parent) + : QDialog(parent) +{ + mCtx = ctx; + mKeyList = keyList; + mResult = result; + + // If no key for import found, just ahow a message + if (mResult->considered == 0) { + QMessageBox::information(0, tr("Key import details"), tr("No keys found to import")); + return; + } + + mvbox = new QVBoxLayout(); + + this->createGeneralInfoBox(); + this->createKeysTable(); + this->createButtonBox(); + + this->setLayout(mvbox); + this->setWindowTitle(tr("Key import details")); + this->setModal(true); + this->show(); +} + +void KeyImportDetailDialog::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 KeyImportDetailDialog::createKeysTable() +{ + // get details for the imported keys; + gpgme_import_status_t status = mResult->imports; + + keysTable = new QTableWidget(this); + keysTable->setRowCount(0); + keysTable->setColumnCount(4); + keysTable->setEditTriggers(QAbstractItemView::NoEditTriggers); + // Nothing is selectable + keysTable->setSelectionMode(QAbstractItemView::NoSelection); + + QStringList headerLabels; + headerLabels << tr("Name") << tr("Email") << tr("KeyID") << tr("Status"); + keysTable->horizontalHeader()->setResizeMode(0, QHeaderView::ResizeToContents); + keysTable->verticalHeader()->hide(); + keysTable->setHorizontalHeaderLabels(headerLabels); + int row = 0; + while (status != NULL) { + keysTable->setRowCount(row+1); + GpgKey key = mKeyList->getKeyByFpr(status->fpr); + keysTable->setItem(row, 0, new QTableWidgetItem(key.name)); + keysTable->setItem(row, 1, new QTableWidgetItem(key.email)); + keysTable->setItem(row, 2, new QTableWidgetItem(key.id)); + keysTable->setItem(row, 3, new QTableWidgetItem(QString::number(status->status))); + + status=status->next; + row++; + } + mvbox->addWidget(keysTable); +} + +void KeyImportDetailDialog::createButtonBox() +{ + buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(close())); + mvbox->addWidget(buttonBox); +} |