KUtils
kcmultidialog_p.h
Go to the documentation of this file.
00001 /* This file is part of the KDE project 00002 Copyright (C) 2007 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., 51 Franklin Street, Fifth Floor, 00016 Boston, MA 02110-1301, USA. 00017 00018 */ 00019 00020 #ifndef KCMULTIDIALOG_P_H 00021 #define KCMULTIDIALOG_P_H 00022 00023 #include "kcmultidialog.h" 00024 #include <kpagedialog_p.h> 00025 #include <QtCore/QList> 00026 #include <QtCore/QStringList> 00027 00028 class KCModuleProxy; 00029 class KPageWidgetItem; 00030 00031 class KCMultiDialogPrivate : public KPageDialogPrivate 00032 { 00033 Q_DECLARE_PUBLIC(KCMultiDialog) 00034 protected: 00035 KCMultiDialogPrivate() 00036 : currentModule(0) 00037 { 00038 } 00039 00040 KCModuleProxy *currentModule; 00041 00042 struct CreatedModule 00043 { 00044 KCModuleProxy *kcm; 00045 KPageWidgetItem *item; 00046 QStringList componentNames; 00047 }; 00048 00049 typedef QList<CreatedModule> ModuleList; 00050 ModuleList modules; 00051 00052 void _k_slotCurrentPageChanged(KPageWidgetItem *current, KPageWidgetItem *previous); 00053 virtual void _k_clientChanged(); 00054 void _k_dialogClosed(); 00055 void _k_updateHeader(bool use, const QString &message); 00056 00057 private: 00058 void init(); 00059 void apply(); 00060 bool resolveChanges(KCModuleProxy *currentProxy); 00061 bool moduleSave(KCModuleProxy *module); 00062 }; 00063 00064 #endif // KCMULTIDIALOG_P_H 00065 // vim: sw=4 sts=4 et tw=100
KDE 4.6 API Reference