diff --git a/src/commands/newcertificatecommand.cpp b/src/commands/newcertificatecommand.cpp index 6a5e15ca1..2fc4110da 100644 --- a/src/commands/newcertificatecommand.cpp +++ b/src/commands/newcertificatecommand.cpp @@ -1,166 +1,141 @@ /* -*- mode: c++; c-basic-offset:4 -*- commands/newcertificatecommand.cpp This file is part of Kleopatra, the KDE keymanager SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB SPDX-License-Identifier: GPL-2.0-or-later */ #include #include "newcertificatecommand.h" #include "command_p.h" -#include +#include "newcertificatewizard/newcertificatewizard.h" -#include +#include using namespace Kleo; using namespace Kleo::Commands; using namespace GpgME; class NewCertificateCommand::Private : public Command::Private { friend class ::Kleo::Commands::NewCertificateCommand; NewCertificateCommand *q_func() const { return static_cast(q); } public: - explicit Private(NewCertificateCommand *qq, KeyListController *c); - ~Private() override; - - void init(); + explicit Private(NewCertificateCommand *qq, KeyListController *c) + : Command::Private{qq, c} + { + } private: - void slotDialogRejected(); void slotDialogAccepted(); private: void ensureDialogCreated(); private: - Protocol protocol; + Protocol protocol = GpgME::UnknownProtocol; QPointer dialog; }; NewCertificateCommand::Private *NewCertificateCommand::d_func() { return static_cast(d.get()); } const NewCertificateCommand::Private *NewCertificateCommand::d_func() const { return static_cast(d.get()); } #define d d_func() #define q q_func() -NewCertificateCommand::Private::Private(NewCertificateCommand *qq, KeyListController *c) - : Command::Private(qq, c), - protocol(UnknownProtocol), - dialog() +void NewCertificateCommand::Private::slotDialogAccepted() { - + finished(); } -NewCertificateCommand::Private::~Private() {} - NewCertificateCommand::NewCertificateCommand() : Command(new Private(this, nullptr)) { - d->init(); } NewCertificateCommand::NewCertificateCommand(KeyListController *c) : Command(new Private(this, c)) { - d->init(); } NewCertificateCommand::NewCertificateCommand(QAbstractItemView *v, KeyListController *c) : Command(v, new Private(this, c)) { - d->init(); -} - -void NewCertificateCommand::Private::init() -{ - } -NewCertificateCommand::~NewCertificateCommand() {} +NewCertificateCommand::~NewCertificateCommand() = default; void NewCertificateCommand::setProtocol(Protocol proto) { d->protocol = proto; if (d->dialog) { d->dialog->setProtocol(proto); } } Protocol NewCertificateCommand::protocol() const { if (d->dialog) { return d->dialog->protocol(); } else { return d->protocol; } } void NewCertificateCommand::doStart() { d->ensureDialogCreated(); Q_ASSERT(d->dialog); const Kleo::Settings settings{}; const auto cmsAllowed = settings.cmsEnabled() && settings.cmsCertificateCreationAllowed(); if (d->protocol == UnknownProtocol && !cmsAllowed) { d->protocol = GpgME::OpenPGP; } if (d->protocol != UnknownProtocol) { d->dialog->setProtocol(d->protocol); } d->dialog->show(); } -void NewCertificateCommand::Private::slotDialogRejected() -{ - Q_EMIT q->canceled(); - finished(); -} - -void NewCertificateCommand::Private::slotDialogAccepted() -{ - finished(); -} - void NewCertificateCommand::doCancel() { if (d->dialog) { d->dialog->close(); } } void NewCertificateCommand::Private::ensureDialogCreated() { if (dialog) { return; } dialog = new NewCertificateWizard; applyWindowID(dialog); dialog->setAttribute(Qt::WA_DeleteOnClose); - connect(dialog, &QDialog::rejected, q, [this]() { slotDialogRejected(); }); connect(dialog, &QDialog::accepted, q, [this]() { slotDialogAccepted(); }); + connect(dialog, &QDialog::rejected, q, [this]() { canceled(); }); } #undef d #undef q #include "moc_newcertificatecommand.cpp"