kutils Library API Documentation

dialog.h

00001 /*  This file is part of the KDE project
00002     Copyright (C) 2003 Matthias Kretz <kretz@kde.org>
00003 
00004     This library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Library General Public
00006     License version 2 as published by the Free Software Foundation.
00007 
00008     This library is distributed in the hope that it will be useful,
00009     but WITHOUT ANY WARRANTY; without even the implied warranty of
00010     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011     Library General Public License for more details.
00012 
00013     You should have received a copy of the GNU Library General Public License
00014     along with this library; see the file COPYING.LIB.  If not, write to
00015     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00016     Boston, MA 02111-1307, USA.
00017 
00018 */
00019 
00020 #ifndef KSETTINGS_DIALOG_H
00021 #define KSETTINGS_DIALOG_H
00022 
00023 #include <qobject.h>
00024 #include <kservice.h>
00025 
00026 template<class T> class QValueList;
00027 class KPluginInfo;
00028 class KCMultiDialog;
00029 class KCModuleInfo;
00030 
00031 namespace KSettings
00032 {
00033 
00067 class Dialog : public QObject
00068 {
00069     friend class PageNode;
00070     Q_OBJECT
00071     public:
00077         enum ContentInListView
00078         {
00082             Static,
00087             Configurable
00088         };
00089 
00099         Dialog( QWidget * parent = 0, const char * name = 0 );
00100 
00112         Dialog( ContentInListView content = Static, QWidget * parent = 0,
00113                 const char * name = 0 );
00114 
00128         Dialog( const QStringList & components, QWidget * parent = 0,
00129                 const char * name = 0 );
00130 
00146         Dialog( const QStringList & components, ContentInListView
00147                 content, QWidget * parent = 0, const char * name = 0 );
00148 
00149         ~Dialog();
00150 
00155         void addPluginInfos( const QValueList<KPluginInfo*> & plugininfos );
00156 
00157         KCMultiDialog * dialog();
00158 
00159     public slots:
00164         void show();
00165 
00166     signals:
00174         void pluginSelectionChanged();
00175 
00176     protected slots:
00177         void configureTree();
00178         void updateTreeList();
00179 
00180     private:
00185         bool isPluginForKCMEnabled( KCModuleInfo * ) const;
00186 
00187         QValueList<KService::Ptr> instanceServices() const;
00188         QValueList<KService::Ptr> parentComponentsServices(
00189                 const QStringList & ) const;
00194         void parseGroupFile( const QString & );
00195 
00201         QStringList parentModuleNames( KCModuleInfo * );
00202 
00209         void createDialogFromServices();
00210 
00211         class DialogPrivate;
00212         DialogPrivate * d;
00213 };
00214 
00215 }
00216 
00217 // vim: sw=4 sts=4 et
00218 #endif // KSETTINGS_DIALOG_H
KDE Logo
This file is part of the documentation for kutils Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed May 5 07:17:25 2004 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003