File indexing completed on 2024-06-23 05:13:51

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     crypto/gui/resultpage.h
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include <crypto/gui/wizardpage.h>
0013 #include <crypto/task.h>
0014 
0015 #include <utils/pimpl_ptr.h>
0016 
0017 #include <memory>
0018 
0019 namespace Kleo
0020 {
0021 namespace Crypto
0022 {
0023 
0024 class TaskCollection;
0025 
0026 namespace Gui
0027 {
0028 
0029 class ResultPage : public WizardPage
0030 {
0031     Q_OBJECT
0032 
0033 public:
0034     explicit ResultPage(QWidget *parent = nullptr, Qt::WindowFlags flags = {});
0035     ~ResultPage() override;
0036 
0037     void setTaskCollection(const std::shared_ptr<TaskCollection> &coll);
0038 
0039     bool isComplete() const override;
0040 
0041     bool keepOpenWhenDone() const;
0042     void setKeepOpenWhenDone(bool keep);
0043 
0044 private:
0045     class Private;
0046     kdtools::pimpl_ptr<Private> d;
0047     Q_PRIVATE_SLOT(d, void result(std::shared_ptr<const Kleo::Crypto::Task::Result>))
0048     Q_PRIVATE_SLOT(d, void started(std::shared_ptr<Kleo::Crypto::Task>))
0049     Q_PRIVATE_SLOT(d, void allDone())
0050 };
0051 
0052 }
0053 }
0054 }