tdeutils
kcmultidialog.h
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 <tqptrdict.h>
00027
00028 #include <kdialogbase.h>
00029 #include <tdelocale.h>
00030 #include <kservice.h>
00031
00032 class TDECModuleProxy;
00033 class TDECModuleInfo;
00034
00043 class TDEUTILS_EXPORT KCMultiDialog : public KDialogBase
00044 {
00045 Q_OBJECT
00046
00047 public:
00055 KCMultiDialog( TQWidget *parent=0, const char *name=0, bool modal=false );
00056
00070 KCMultiDialog( int dialogFace, const TQString & caption, TQWidget * 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 TQString &caption=i18n("Configure"), TQWidget *parent=0,
00105 const char *name=0, bool modal=false ) KDE_DEPRECATED;
00106
00107
00111 virtual ~KCMultiDialog();
00112
00124 void addModule(const TQString& module, bool withfallback=true, TQStringList args = TQStringList());
00125
00143 void addModule(const TDECModuleInfo& moduleinfo, TQStringList
00144 parentmodulenames = TQStringList(), bool withfallback=false, TQStringList args = TQStringList());
00145
00149 void removeAllModules();
00150
00155 void show();
00156
00157 signals:
00164 void configCommitted();
00165
00181 void configCommitted( const TQCString & instanceName );
00182
00183 protected slots:
00190 virtual void slotDefault();
00191
00198 virtual void slotUser1();
00199
00206 virtual void slotApply();
00207
00214 virtual void slotOk();
00215
00226 virtual void slotHelp();
00227
00228 private slots:
00229
00230 void slotAboutToShow(TQWidget *);
00231
00232 void clientChanged(bool state);
00233
00241 void disableRModeButton();
00242
00249 void rootExit();
00250
00259 void dialogClosed();
00260
00261 private:
00262
00263 void init();
00264 void apply();
00265
00266 struct CreatedModule
00267 {
00268 TDECModuleProxy * kcm;
00269 KService::Ptr service;
00270
00271 };
00272 typedef TQValueList<CreatedModule> ModuleList;
00273 ModuleList m_modules;
00274
00275 typedef TQMap<KService::Ptr, TDECModuleProxy*> OrphanMap;
00276 OrphanMap m_orphanModules;
00277
00278 TQPtrDict<TQStringList> moduleParentComponents;
00279 TQString _docPath;
00280 int dialogface;
00281
00282 class KCMultiDialogPrivate;
00283 KCMultiDialogPrivate *d;
00284 };
00285
00286 #endif //KCMULTIDIALOG_H
00287
00288