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

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     crypto/gui/decryptverifyfileswizard.h
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2007 Klarälvdalens Datakonsult AB
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include <crypto/gui/wizard.h>
0013 
0014 #include <utils/pimpl_ptr.h>
0015 
0016 #include <memory>
0017 
0018 namespace Kleo
0019 {
0020 namespace Crypto
0021 {
0022 class Task;
0023 class TaskCollection;
0024 namespace Gui
0025 {
0026 
0027 class DecryptVerifyOperationWidget;
0028 
0029 class DecryptVerifyFilesWizard : public Wizard
0030 {
0031     Q_OBJECT
0032 public:
0033     enum Page {
0034         OperationsPage = 0,
0035         ResultPage,
0036     };
0037 
0038     explicit DecryptVerifyFilesWizard(QWidget *parent = nullptr, Qt::WindowFlags f = {});
0039     ~DecryptVerifyFilesWizard() override;
0040 
0041     void setOutputDirectory(const QString &dir);
0042     QString outputDirectory() const;
0043     bool useOutputDirectory() const;
0044 
0045     void setTaskCollection(const std::shared_ptr<TaskCollection> &coll);
0046 
0047     DecryptVerifyOperationWidget *operationWidget(unsigned int idx);
0048 
0049 Q_SIGNALS:
0050     void operationPrepared();
0051 
0052 private:
0053     void onNext(int id) override;
0054 
0055 private:
0056     class Private;
0057     kdtools::pimpl_ptr<Private> d;
0058 };
0059 
0060 }
0061 }
0062 }