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