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 };