diff options
Diffstat (limited to 'src/ui/KeyImportDetailDialog.cpp')
-rw-r--r-- | src/ui/KeyImportDetailDialog.cpp | 264 |
1 files changed, 148 insertions, 116 deletions
diff --git a/src/ui/KeyImportDetailDialog.cpp b/src/ui/KeyImportDetailDialog.cpp index 8d303886..48d1e9ee 100644 --- a/src/ui/KeyImportDetailDialog.cpp +++ b/src/ui/KeyImportDetailDialog.cpp @@ -1,7 +1,7 @@ /** - * This file is part of GPGFrontend. + * This file is part of GpgFrontend. * - * GPGFrontend is free software: you can redistribute it and/or modify + * GpgFrontend 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. @@ -22,145 +22,177 @@ * */ -#include <ui/KeyImportDetailDialog.h> +#include "ui/KeyImportDetailDialog.h" -KeyImportDetailDialog::KeyImportDetailDialog(GpgME::GpgContext *ctx, GpgImportInformation result, bool automatic, - QWidget *parent) - : QDialog(parent), mCtx(ctx), mResult(std::move(result)) { +#include "gpg/function/GpgKeyGetter.h" - // If no key for import found, just show a message - if (mResult.considered == 0) { - if(automatic) - QMessageBox::information(nullptr, tr("Key Update Details"), tr("No keys found")); - else - QMessageBox::information(nullptr, tr("Key Import Details"), tr("No keys found to import")); - return; - } - - auto *mvbox = new QVBoxLayout(); +namespace GpgFrontend::UI { +KeyImportDetailDialog::KeyImportDetailDialog(GpgImportInformation result, + bool automatic, QWidget* parent) + : QDialog(parent), mResult(std::move(result)) { + // If no key for import found, just show a message + if (mResult.considered == 0) { + if (automatic) + QMessageBox::information(parent, _("Key Update Details"), + _("No keys found")); + else + QMessageBox::information(parent, _("Key Import Details"), + _("No keys found to import")); + emit finished(0); + this->close(); + this->deleteLater(); + } else { + auto* mv_box = new QVBoxLayout(); this->createGeneralInfoBox(); - mvbox->addWidget(generalInfoBox); + mv_box->addWidget(generalInfoBox); this->createKeysTable(); - mvbox->addWidget(keysTable); + mv_box->addWidget(keysTable); this->createButtonBox(); - mvbox->addWidget(buttonBox); + mv_box->addWidget(buttonBox); - this->setLayout(mvbox); - if(automatic) - this->setWindowTitle(tr("Key Update Details")); + this->setLayout(mv_box); + if (automatic) + this->setWindowTitle(_("Key Update Details")); else - this->setWindowTitle(tr("Key Import Details")); + this->setWindowTitle(_("Key Import Details")); + auto pos = QPoint(100, 100); + LOG(INFO) << "parent" << parent; + if (parent) pos += parent->pos(); + this->move(pos); this->resize(QSize(600, 300)); this->setModal(true); - this->exec(); + this->show(); + } } void KeyImportDetailDialog::createGeneralInfoBox() { - // GridBox for general import information - generalInfoBox = new QGroupBox(tr("General key info")); - auto *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 != 0) { - generalInfoBoxLayout->addWidget(new QLabel(tr("Public unchanged:")), row, 0); - generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult.unchanged)), row, 1); - row++; - } - if (mResult.imported != 0) { - generalInfoBoxLayout->addWidget(new QLabel(tr("Imported:")), row, 0); - generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult.imported)), row, 1); - row++; - } - if (mResult.not_imported != 0) { - 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 != 0) { - generalInfoBoxLayout->addWidget(new QLabel(tr("Private read:")), row, 0); - generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult.secret_read)), row, 1); - row++; - } - if (mResult.secret_imported != 0) { - generalInfoBoxLayout->addWidget(new QLabel(tr("Private imported:")), row, 0); - generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult.secret_imported)), row, 1); - row++; - } - if (mResult.secret_unchanged != 0) { - generalInfoBoxLayout->addWidget(new QLabel(tr("Private unchanged:")), row, 0); - generalInfoBoxLayout->addWidget(new QLabel(QString::number(mResult.secret_unchanged)), row, 1); - row++; - } + // GridBox for general import information + generalInfoBox = new QGroupBox(_("General key info")); + auto* generalInfoBoxLayout = new QGridLayout(generalInfoBox); + + generalInfoBoxLayout->addWidget(new QLabel(QString(_("Considered")) + ": "), + 1, 0); + generalInfoBoxLayout->addWidget( + new QLabel(QString::number(mResult.considered)), 1, 1); + int row = 2; + if (mResult.unchanged != 0) { + generalInfoBoxLayout->addWidget( + new QLabel(QString(_("Public unchanged")) + ": "), row, 0); + generalInfoBoxLayout->addWidget( + new QLabel(QString::number(mResult.unchanged)), row, 1); + row++; + } + if (mResult.imported != 0) { + generalInfoBoxLayout->addWidget(new QLabel(QString(_("Imported")) + ": "), + row, 0); + generalInfoBoxLayout->addWidget( + new QLabel(QString::number(mResult.imported)), row, 1); + row++; + } + if (mResult.not_imported != 0) { + generalInfoBoxLayout->addWidget( + new QLabel(QString(_("Not Imported")) + ": "), row, 0); + generalInfoBoxLayout->addWidget( + new QLabel(QString::number(mResult.not_imported)), row, 1); + row++; + } + if (mResult.secret_read != 0) { + generalInfoBoxLayout->addWidget( + new QLabel(QString(_("Private Read")) + ": "), row, 0); + generalInfoBoxLayout->addWidget( + new QLabel(QString::number(mResult.secret_read)), row, 1); + row++; + } + if (mResult.secret_imported != 0) { + generalInfoBoxLayout->addWidget( + new QLabel(QString(_("Private Imported")) + ": "), row, 0); + generalInfoBoxLayout->addWidget( + new QLabel(QString::number(mResult.secret_imported)), row, 1); + row++; + } + if (mResult.secret_unchanged != 0) { + generalInfoBoxLayout->addWidget( + new QLabel(QString(_("Private Unchanged")) + ": "), row, 0); + generalInfoBoxLayout->addWidget( + new QLabel(QString::number(mResult.secret_unchanged)), row, 1); + row++; + } } void KeyImportDetailDialog::createKeysTable() { - 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("Status") << tr("Fingerprint"); - keysTable->verticalHeader()->hide(); - - keysTable->setHorizontalHeaderLabels(headerLabels); - int row = 0; - for (const auto &impKey : mResult.importedKeys) { - keysTable->setRowCount(row + 1); - GpgKey key = mCtx->getKeyByFpr(impKey.fpr); - if(!key.good) continue; - keysTable->setItem(row, 0, new QTableWidgetItem(key.name)); - keysTable->setItem(row, 1, new QTableWidgetItem(key.email)); - keysTable->setItem(row, 2, new QTableWidgetItem(getStatusString(impKey.importStatus))); - keysTable->setItem(row, 3, new QTableWidgetItem(impKey.fpr)); - row++; - } - keysTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); - keysTable->horizontalHeader()->setStretchLastSection(true); - keysTable->resizeColumnsToContents(); + LOG(INFO) << "KeyImportDetailDialog::createKeysTable() Called"; + + keysTable = new QTableWidget(this); + keysTable->setRowCount(0); + keysTable->setColumnCount(4); + keysTable->setEditTriggers(QAbstractItemView::NoEditTriggers); + // Nothing is selectable + keysTable->setSelectionMode(QAbstractItemView::NoSelection); + + QStringList headerLabels; + headerLabels << _("Name") << _("Email") << _("Status") << _("Fingerprint"); + keysTable->verticalHeader()->hide(); + + keysTable->setHorizontalHeaderLabels(headerLabels); + int row = 0; + for (const auto& imp_key : mResult.importedKeys) { + keysTable->setRowCount(row + 1); + GpgKey key = GpgKeyGetter::GetInstance().GetKey(imp_key.fpr); + if (!key.good()) continue; + keysTable->setItem( + row, 0, new QTableWidgetItem(QString::fromStdString(key.name()))); + keysTable->setItem( + row, 1, new QTableWidgetItem(QString::fromStdString(key.email()))); + keysTable->setItem( + row, 2, new QTableWidgetItem(getStatusString(imp_key.import_status))); + keysTable->setItem( + row, 3, new QTableWidgetItem(QString::fromStdString(imp_key.fpr))); + row++; + } + keysTable->horizontalHeader()->setSectionResizeMode( + 0, QHeaderView::ResizeToContents); + keysTable->horizontalHeader()->setStretchLastSection(true); + keysTable->resizeColumnsToContents(); } QString KeyImportDetailDialog::getStatusString(int keyStatus) { - QString statusString; - // keystatus is greater than 15, if key is private - if (keyStatus > 15) { - statusString.append(tr("private")); - keyStatus = keyStatus - 16; - } else { - statusString.append(tr("public")); - } - if (keyStatus == 0) { - statusString.append(", " + tr("unchanged")); + QString statusString; + // keystatus is greater than 15, if key is private + if (keyStatus > 15) { + statusString.append(_("Private")); + keyStatus = keyStatus - 16; + } else { + statusString.append(_("Public")); + } + if (keyStatus == 0) { + statusString.append(", " + QString(_("Unchanged"))); + } else { + if (keyStatus == 1) { + statusString.append(", " + QString(_("New Key"))); } else { - if (keyStatus == 1) { - statusString.append(", " + tr("new key")); - } else { - if (keyStatus > 7) { - statusString.append(", " + tr("new subkey")); - keyStatus = keyStatus - 8; - } - if (keyStatus > 3) { - statusString.append(", " + tr("new signature")); - keyStatus = keyStatus - 4; - } - if (keyStatus > 1) { - statusString.append(", " + tr("new uid")); - keyStatus = keyStatus - 2; - } - } + if (keyStatus > 7) { + statusString.append(", " + QString(_("New Subkey"))); + keyStatus = keyStatus - 8; + } + if (keyStatus > 3) { + statusString.append(", " + QString(_("New Signature"))); + keyStatus = keyStatus - 4; + } + if (keyStatus > 1) { + statusString.append(", " + QString(_("New UID"))); + keyStatus = keyStatus - 2; + } } - return statusString; + } + return statusString; } void KeyImportDetailDialog::createButtonBox() { - buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok); - connect(buttonBox, SIGNAL(accepted()), this, SLOT(close())); + buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(close())); } +} // namespace GpgFrontend::UI |