File indexing completed on 2024-06-23 05:14:15
0001 /* 0002 SPDX-FileCopyrightText: 2014-2021 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-only 0005 */ 0006 0007 #pragma once 0008 0009 #include <QObject> 0010 #include <QPointer> 0011 0012 class KActionMenu; 0013 class QAction; 0014 class MainWindow; 0015 0016 namespace Kleo 0017 { 0018 class Command; 0019 } 0020 0021 class ClipboardMenu : public QObject 0022 { 0023 Q_OBJECT 0024 public: 0025 explicit ClipboardMenu(QObject *parent = nullptr); 0026 ~ClipboardMenu() override; 0027 0028 void setMainWindow(MainWindow *window); 0029 0030 KActionMenu *clipboardMenu() const; 0031 0032 private Q_SLOTS: 0033 void slotImportClipboard(); 0034 void slotEncryptClipboard(); 0035 void slotOpenPGPSignClipboard(); 0036 void slotSMIMESignClipboard(); 0037 void slotDecryptVerifyClipboard(); 0038 void slotEnableDisableActions(); 0039 0040 private: 0041 void startCommand(Kleo::Command *cmd); 0042 0043 QPointer<KActionMenu> mClipboardMenu; 0044 QPointer<QAction> mImportClipboardAction; 0045 QPointer<QAction> mEncryptClipboardAction; 0046 QPointer<QAction> mSmimeSignClipboardAction; 0047 QPointer<QAction> mOpenPGPSignClipboardAction; 0048 QPointer<QAction> mDecryptVerifyClipboardAction; 0049 QPointer<MainWindow> mWindow; 0050 };