kcmultidialog.h00001
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
00042 class KUTILS_EXPORT KCMultiDialog : public KDialogBase
00043 {
00044 Q_OBJECT
00045
00046 public:
00054 KCMultiDialog( QWidget *parent=0, const char *name=0, bool modal=false );
00055
00069 KCMultiDialog( int dialogFace, const QString & caption, QWidget * parent = 0,
00070 const char * name = 0, bool modal = false );
00071
00072
00101 KCMultiDialog( int dialogFace, const KGuiItem &user2,
00102 const KGuiItem &user3=KGuiItem(), int buttonMask=User2,
00103 const QString &caption=i18n("Configure"), QWidget *parent=0,
00104 const char *name=0, bool modal=false ) KDE_DEPRECATED;
00105
00106
00110 virtual ~KCMultiDialog();
00111
00121 void addModule(const QString& module, bool withfallback=true);
00122
00138 void addModule(const KCModuleInfo& moduleinfo, QStringList
00139 parentmodulenames = QStringList(), bool withfallback=false);
00140
00144 void removeAllModules();
00145
00150 void show();
00151
00152 signals:
00159 void configCommitted();
00160
00176 void configCommitted( const QCString & instanceName );
00177
00178 protected slots:
00185 virtual void slotDefault();
00186
00193 virtual void slotUser1();
00194
00201 virtual void slotApply();
00202
00209 virtual void slotOk();
00210
00221 virtual void slotHelp();
00222
00223 private slots:
00224
00225 void slotAboutToShow(QWidget *);
00226
00227 void clientChanged(bool state);
00228
00236 void disableRModeButton();
00237
00244 void rootExit();
00245
00254 void dialogClosed();
00255
00256 private:
00257
00258 void init();
00259 void apply();
00260
00261 struct CreatedModule
00262 {
00263 KCModuleProxy * kcm;
00264 KService::Ptr service;
00265
00266 };
00267 typedef QValueList<CreatedModule> ModuleList;
00268 ModuleList m_modules;
00269
00270 typedef QMap<KService::Ptr, KCModuleProxy*> OrphanMap;
00271 OrphanMap m_orphanModules;
00272
00273 QPtrDict<QStringList> moduleParentComponents;
00274 QString _docPath;
00275 int dialogface;
00276
00277 class KCMultiDialogPrivate;
00278 KCMultiDialogPrivate *d;
00279 };
00280
00281 #endif //KCMULTIDIALOG_H
00282
00283
|