File indexing completed on 2024-06-23 05:13:49
0001 /* -*- mode: c++; c-basic-offset:4 -*- 0002 crypto/gui/decryptverifyoperationwidget.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 <QWidget> 0013 0014 #include <utils/pimpl_ptr.h> 0015 0016 #include <memory> 0017 #include <vector> 0018 0019 namespace Kleo 0020 { 0021 class ArchiveDefinition; 0022 } 0023 0024 namespace Kleo 0025 { 0026 namespace Crypto 0027 { 0028 namespace Gui 0029 { 0030 0031 class DecryptVerifyOperationWidget : public QWidget 0032 { 0033 Q_OBJECT 0034 Q_ENUMS(Mode) 0035 Q_PROPERTY(Mode mode READ mode WRITE setMode) 0036 Q_PROPERTY(QString inputFileName READ inputFileName WRITE setInputFileName) 0037 Q_PROPERTY(QString signedDataFileName READ signedDataFileName WRITE setSignedDataFileName) 0038 public: 0039 explicit DecryptVerifyOperationWidget(QWidget *parent = nullptr); 0040 ~DecryptVerifyOperationWidget() override; 0041 0042 enum Mode { 0043 VerifyDetachedWithSignature, 0044 VerifyDetachedWithSignedData, 0045 DecryptVerifyOpaque, 0046 }; 0047 void setMode(Mode mode, const std::shared_ptr<ArchiveDefinition> &ad); 0048 void setMode(Mode mode); 0049 Mode mode() const; 0050 0051 void setInputFileName(const QString &name); 0052 QString inputFileName() const; 0053 0054 void setSignedDataFileName(const QString &name); 0055 QString signedDataFileName() const; 0056 0057 void setArchiveDefinitions(const std::vector<std::shared_ptr<ArchiveDefinition>> &ads); 0058 std::shared_ptr<ArchiveDefinition> selectedArchiveDefinition() const; 0059 0060 Q_SIGNALS: 0061 void changed(); 0062 0063 private: 0064 class Private; 0065 kdtools::pimpl_ptr<Private> d; 0066 Q_PRIVATE_SLOT(d, void enableDisableWidgets()) 0067 }; 0068 0069 } 0070 } 0071 }