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
00185 void defaults();
00186
00192 bool isDefault() const;
00193
00211 void updatePluginsState();
00212
00213 Q_SIGNALS:
00217 void changed(bool hasChanged);
00218
00224 void configCommitted(const QByteArray &componentName);
00225
00226 private:
00227 class Private;
00228 Private * const d;
00229 };
00230
00231 #endif