File indexing completed on 2024-04-28 05:47:34
0001 /* 0002 SPDX-FileCopyrightText: 2016 Elvis Angelaccio <elvis.angelaccio@kde.org> 0003 SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef EXTRACTFILEITEMACTION_H 0009 #define EXTRACTFILEITEMACTION_H 0010 0011 #include <KAbstractFileItemActionPlugin> 0012 #include <KFileItemListProperties> 0013 0014 class QAction; 0015 class QWidget; 0016 0017 namespace Kerfuffle 0018 { 0019 class PluginManager; 0020 } 0021 0022 class ExtractFileItemAction : public KAbstractFileItemActionPlugin 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 ExtractFileItemAction(QObject *parent, const QVariantList &args); 0028 0029 QList<QAction *> actions(const KFileItemListProperties &fileItemInfos, QWidget *parentWidget) override; 0030 0031 private: 0032 enum AdditionalJobOptions { 0033 None, 0034 ShowDialog, 0035 AutoDelete, 0036 }; 0037 QAction *createAction(const QIcon &icon, const QString &name, QWidget *parent, const QList<QUrl> &urls, AdditionalJobOptions option); 0038 0039 Kerfuffle::PluginManager *m_pluginManager; 0040 }; 0041 0042 #endif