KUtils
dialog.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KSETTINGS_DIALOG_H
00021 #define KSETTINGS_DIALOG_H
00022
00023 #include <qobject.h>
00024 #include <kservice.h>
00025
00026 template<class T> class QValueList;
00027 class KPluginInfo;
00028 class KCMultiDialog;
00029 class KCModuleInfo;
00030
00031 namespace KSettings
00032 {
00033
00073 class KUTILS_EXPORT Dialog : public QObject
00074 {
00075 friend class PageNode;
00076 Q_OBJECT
00077 public:
00083 enum ContentInListView
00084 {
00088 Static,
00093 Configurable
00094 };
00095
00105 Dialog( QWidget * parent = 0, const char * name = 0 );
00106
00118 Dialog( ContentInListView content = Static, QWidget * parent = 0,
00119 const char * name = 0 );
00120
00134 Dialog( const QStringList & components, QWidget * parent = 0,
00135 const char * name = 0 );
00136
00152 Dialog( const QStringList & components, ContentInListView
00153 content, QWidget * parent = 0, const char * name = 0 );
00154
00155 ~Dialog();
00156
00161 void addPluginInfos( const QValueList<KPluginInfo*> & plugininfos );
00162
00163 KCMultiDialog * dialog();
00164
00165 public slots:
00170 void show();
00171
00172 signals:
00180 void pluginSelectionChanged();
00181
00182 protected slots:
00183 void configureTree();
00184 void updateTreeList();
00185
00186 private:
00191 bool isPluginForKCMEnabled( KCModuleInfo * ) const;
00192
00193 QValueList<KService::Ptr> instanceServices() const;
00194 QValueList<KService::Ptr> parentComponentsServices(
00195 const QStringList & ) const;
00200 void parseGroupFile( const QString & );
00201
00207 QStringList parentModuleNames( KCModuleInfo * );
00208
00215 void createDialogFromServices();
00216
00217 class DialogPrivate;
00218 DialogPrivate * d;
00219 };
00220
00221 }
00222
00223
00224 #endif // KSETTINGS_DIALOG_H