KUtils
kpluginselector.h
Go to the documentation of this file.00001
00021 #ifndef KPLUGINSELECTOR_H
00022 #define KPLUGINSELECTOR_H
00023
00024 #include <QtGui/QWidget>
00025
00026 #include <QtCore/QList>
00027
00028 #include <kutils_export.h>
00029 #include <ksharedconfig.h>
00030
00031 class KComponentData;
00032 class KPluginInfo;
00033
00034
00058 class KUTILS_EXPORT KPluginSelector
00059 : public QWidget
00060 {
00061 Q_OBJECT
00062
00063 public:
00064 enum PluginLoadMethod {
00065 ReadConfigFile = 0,
00066 IgnoreConfigFile
00067 };
00068
00072 KPluginSelector(QWidget *parent = 0);
00073
00077 ~KPluginSelector();
00078
00109 void addPlugins(const QString &componentName,
00110 const QString &categoryName = QString(),
00111 const QString &categoryKey = QString(),
00112 KSharedConfig::Ptr config = KSharedConfig::Ptr());
00113
00118 void addPlugins(const KComponentData &instance,
00119 const QString &categoryName = QString(),
00120 const QString &categoryKey = QString(),
00121 const KSharedConfig::Ptr &config = KSharedConfig::Ptr());
00122
00164 void addPlugins(const QList<KPluginInfo> &pluginInfoList,
00165 PluginLoadMethod pluginLoadMethod = ReadConfigFile,
00166 const QString &categoryName = QString(),
00167 const QString &categoryKey = QString(),
00168 const KSharedConfig::Ptr &config = KSharedConfig::Ptr());
00169
00174 void load();
00175
00179 void save();
00180
00184 void defaults();
00185
00203 void updatePluginsState();
00204
00205 Q_SIGNALS:
00209 void changed(bool hasChanged);
00210
00216 void configCommitted(const QByteArray &componentName);
00217
00218 private:
00219 class Private;
00220 Private * const d;
00221 };
00222
00223 #endif