File indexing completed on 2024-06-23 04:55:04
0001 /* 0002 * SPDX-FileCopyrightText: 2012-2016 Ivan Cukic <ivan.cukic@kde.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #ifndef FILE_ITEM_LINKING_PLUGIN_ACTION_LOADER_H 0008 #define FILE_ITEM_LINKING_PLUGIN_ACTION_LOADER_H 0009 0010 #include "FileItemLinkingPlugin.h" 0011 #include "FileItemLinkingPlugin_p.h" 0012 0013 #include <QThread> 0014 0015 #include <KFileItemListProperties> 0016 0017 #include <PlasmaActivities/Consumer> 0018 0019 class FileItemLinkingPluginActionLoader : public QThread 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 static FileItemLinkingPluginActionLoader *create(const KFileItemListProperties &items); 0025 0026 void run() override; 0027 0028 Action createAction(const QString &activity, bool link, const QString &title = QString(), const QString &icon = QString()) const; 0029 Action createSeparator(const QString &title) const; 0030 0031 Q_SIGNALS: 0032 void result(const ActionList &actions); 0033 0034 private: 0035 FileItemLinkingPluginActionLoader(const KFileItemListProperties &items); 0036 KFileItemListProperties items; 0037 KActivities::Consumer activities; 0038 }; 0039 0040 #endif // FILE_ITEM_LINKING_PLUGIN_ACTION_LOADER_H