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

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     commands/signencryptfilescommand.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 <commands/command.h>
0013 
0014 #include <utils/types.h>
0015 
0016 #include <gpgme++/global.h>
0017 
0018 #include <QStringList>
0019 
0020 namespace Kleo
0021 {
0022 namespace Commands
0023 {
0024 
0025 class SignEncryptFilesCommand : public Command
0026 {
0027     Q_OBJECT
0028 public:
0029     explicit SignEncryptFilesCommand(QAbstractItemView *view, KeyListController *parent);
0030     explicit SignEncryptFilesCommand(KeyListController *parent);
0031     explicit SignEncryptFilesCommand(const QStringList &files, QAbstractItemView *view, KeyListController *parent);
0032     explicit SignEncryptFilesCommand(const QStringList &files, KeyListController *parent);
0033     ~SignEncryptFilesCommand() override;
0034 
0035     void setFiles(const QStringList &files);
0036 
0037     void setSigningPolicy(Policy policy);
0038     Policy signingPolicy() const;
0039 
0040     void setEncryptionPolicy(Policy force);
0041     Policy encryptionPolicy() const;
0042 
0043     void setArchivePolicy(Policy force);
0044     Policy archivePolicy() const;
0045 
0046     void setProtocol(GpgME::Protocol protocol);
0047     GpgME::Protocol protocol() const;
0048 
0049 protected:
0050     virtual QStringList selectFiles() const;
0051 
0052 private:
0053     void doStart() override;
0054     void doCancel() override;
0055 
0056 private:
0057     class Private;
0058     inline Private *d_func();
0059     inline const Private *d_func() const;
0060 };
0061 
0062 }
0063 }