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