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.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Jul 20 12:45:02 2006 by doxygen 1.4.4 written by Dimitri van Heesch, © 1997-2003