File indexing completed on 2024-06-23 05:14:10

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     newcertificatewizard/resultpage_p.h
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB
0006     SPDX-FileCopyrightText: 2016, 2017 Bundesamt für Sicherheit in der Informationstechnik
0007     SPDX-FileContributor: Intevation GmbH
0008     SPDX-FileCopyrightText: 2022 g10 Code GmbH
0009     SPDX-FileContributor: Ingo Klöcker <dev@ingo-kloecker.de>
0010 
0011     SPDX-License-Identifier: GPL-2.0-or-later
0012 */
0013 
0014 #pragma once
0015 
0016 #include "wizardpage_p.h"
0017 
0018 namespace GpgME
0019 {
0020 class Key;
0021 }
0022 namespace Kleo
0023 {
0024 class ExportCertificateCommand;
0025 }
0026 namespace Kleo::NewCertificateUi
0027 {
0028 
0029 class ResultPage : public WizardPage
0030 {
0031     Q_OBJECT
0032 public:
0033     explicit ResultPage(QWidget *p = nullptr);
0034     ~ResultPage() override;
0035 
0036     void initializePage() override;
0037     bool isError() const;
0038     bool isComplete() const override;
0039 
0040 private:
0041     GpgME::Key key() const;
0042 
0043 private Q_SLOTS:
0044     void slotSaveRequestToFile();
0045     void slotSendRequestByEMail();
0046     void slotSendCertificateByEMail();
0047     void slotSendCertificateByEMailContinuation();
0048     void slotUploadCertificateToDirectoryServer();
0049     void slotBackupCertificate();
0050     void slotCreateRevocationRequest();
0051     void slotCreateSigningCertificate();
0052     void slotCreateEncryptionCertificate();
0053 
0054 private:
0055     void toggleSignEncryptAndRestart();
0056 
0057 private:
0058     struct UI;
0059     std::unique_ptr<UI> ui;
0060 
0061     bool initialized : 1;
0062     bool successfullyCreatedSigningCertificate : 1;
0063     bool successfullyCreatedEncryptionCertificate : 1;
0064     QPointer<Kleo::ExportCertificateCommand> exportCertificateCommand;
0065 };
0066 
0067 }