kutils Library API Documentation

kcmultidialog.h

00001 /* 00002 Copyright (c) 2000 Matthias Elter <elter@kde.org> 00003 Copyright (c) 2003 Daniel Molkentin <molkentin@kde.org> 00004 Copyright (c) 2003 Matthias Kretz <kretz@kde.org> 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to 00018 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00019 Boston, MA 02111-1307, USA. 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 // KDE4 remove the user3 argument, and instead initialize it to KStdGuiItem::adminMode. 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 /* KDE 4 Move to Private class */ 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 // vim: sw=4 sts=4 et
KDE Logo
This file is part of the documentation for kutils Library Version 3.4.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Apr 14 00:32:59 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003