KUtils
kcmultidialog.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
00021
00022
00023 #ifndef KCMULTIDIALOG_H
00024 #define KCMULTIDIALOG_H
00025
00026 #include <qptrdict.h>
00027
00028 #include <kdialogbase.h>
00029 #include <klocale.h>
00030 #include <kservice.h>
00031
00032 class KCModuleProxy;
00033 class KCModuleInfo;
00034
00043 class KUTILS_EXPORT KCMultiDialog : public KDialogBase
00044 {
00045 Q_OBJECT
00046
00047 public:
00055 KCMultiDialog( QWidget *parent=0, const char *name=0, bool modal=false );
00056
00070 KCMultiDialog( int dialogFace, const QString & caption, QWidget * parent = 0,
00071 const char * name = 0, bool modal = false );
00072
00073
00102 KCMultiDialog( int dialogFace, const KGuiItem &user2,
00103 const KGuiItem &user3=KGuiItem(), int buttonMask=User2,
00104 const QString &caption=i18n("Configure"), QWidget *parent=0,
00105 const char *name=0, bool modal=false ) KDE_DEPRECATED;
00106
00107
00111 virtual ~KCMultiDialog();
00112
00122 void addModule(const QString& module, bool withfallback=true);
00123
00139 void addModule(const KCModuleInfo& moduleinfo, QStringList
00140 parentmodulenames = QStringList(), bool withfallback=false);
00141
00145 void removeAllModules();
00146
00151 void show();
00152
00153 signals:
00160 void configCommitted();
00161
00177 void configCommitted( const QCString & instanceName );
00178
00179 protected slots:
00186 virtual void slotDefault();
00187
00194 virtual void slotUser1();
00195
00202 virtual void slotApply();
00203
00210 virtual void slotOk();
00211
00222 virtual void slotHelp();
00223
00224 private slots:
00225
00226 void slotAboutToShow(QWidget *);
00227
00228 void clientChanged(bool state);
00229
00237 void disableRModeButton();
00238
00245 void rootExit();
00246
00255 void dialogClosed();
00256
00257 private:
00258
00259 void init();
00260 void apply();
00261
00262 struct CreatedModule
00263 {
00264 KCModuleProxy * kcm;
00265 KService::Ptr service;
00266
00267 };
00268 typedef QValueList<CreatedModule> ModuleList;
00269 ModuleList m_modules;
00270
00271 typedef QMap<KService::Ptr, KCModuleProxy*> OrphanMap;
00272 OrphanMap m_orphanModules;
00273
00274 QPtrDict<QStringList> moduleParentComponents;
00275 QString _docPath;
00276 int dialogface;
00277
00278 class KCMultiDialogPrivate;
00279 KCMultiDialogPrivate *d;
00280 };
00281
00282 #endif //KCMULTIDIALOG_H
00283
00284