File indexing completed on 2024-05-12 04:33:20
0001 /* 0002 SPDX-FileCopyrightText: 2012 Victor Dodon <dodonvictor at gmail dot com> 0003 SPDX-FileCopyrightText: 2012-2018 Gilles Caulier <caulier dot gilles at gmail dot com> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KIPITESTPLUGINLOADER_H 0009 #define KIPITESTPLUGINLOADER_H 0010 0011 // Qt includes 0012 0013 #include <QObject> 0014 #include <QList> 0015 #include <QString> 0016 0017 // Libkipi includes 0018 0019 #include "plugin.h" 0020 #include "pluginloader.h" 0021 0022 class QAction; 0023 0024 class KActionCollection; 0025 class KXmlGuiWindow; 0026 0027 using namespace KIPI; 0028 0029 namespace KXMLKipiCmd 0030 { 0031 0032 class KipiInterface; 0033 0034 class KipiTestPluginLoader : public QObject 0035 { 0036 Q_OBJECT 0037 0038 public: 0039 0040 KipiTestPluginLoader(KXmlGuiWindow* const parent, KipiInterface* const interface); 0041 0042 QList<PluginLoader::Info*> pluginList(); 0043 QList<QAction*> kipiActionsByCategory(Category cat) const; 0044 KActionCollection* pluginsActionCollection() const; 0045 0046 static KipiTestPluginLoader* instance(); 0047 0048 0049 private Q_SLOTS: 0050 0051 /** Called by PluginLoader when plugins list must be reloaded 0052 */ 0053 void slotKipiPluginsPlug(); 0054 0055 private: 0056 0057 ~KipiTestPluginLoader() override; 0058 0059 void loadPlugins(); 0060 void checkEmptyCategory(Category cat); 0061 QString categoryName(Category cat) const; 0062 QString categoryShortName(Category cat) const; 0063 0064 private: 0065 0066 static KipiTestPluginLoader* m_instance; 0067 0068 class Private; 0069 Private* const d; 0070 }; 0071 0072 } // namespace KXMLKipiCmd 0073 0074 #endif // KIPITESTPLUGINLOADER_H