kconfigdialogmanager.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KCONFIGDIALOGMANAGER_H
00022 #define KCONFIGDIALOGMANAGER_H
00023
00024 #include <qobject.h>
00025 #include <qptrlist.h>
00026 #include "kdelibs_export.h"
00027
00028 class KConfigSkeleton;
00029 class KConfigSkeletonItem;
00030 class QWidget;
00031 class QSqlPropertyMap;
00032
00078 class KDECORE_EXPORT KConfigDialogManager : public QObject {
00079
00080 Q_OBJECT
00081
00082 signals:
00088 void settingsChanged();
00089
00097 void settingsChanged( QWidget *widget );
00098
00106 void widgetModified();
00107
00108
00109 public:
00110
00117 KConfigDialogManager(QWidget *parent, KConfigSkeleton *conf, const char *name=0);
00118
00122 ~KConfigDialogManager();
00123
00128 void addWidget(QWidget *widget);
00129
00134 bool hasChanged();
00135
00140 bool isDefault();
00141
00142 public slots:
00149 void updateSettings();
00150
00158 void updateWidgets();
00159
00166 void updateWidgetsDefault();
00167
00168 protected:
00169
00176 void init(bool trackChanges);
00177
00188 bool parseChildren(const QWidget *widget, bool trackChanges);
00189
00193 void setProperty(QWidget *w, const QVariant &v);
00194
00198 QVariant property(QWidget *w);
00199
00203 void setupWidget(QWidget *widget, KConfigSkeletonItem *item);
00204
00205 protected:
00209 KConfigSkeleton *m_conf;
00210
00214 QWidget *m_dialog;
00215
00219 QSqlPropertyMap *propertyMap;
00220
00224 QMap<QString, QCString> changedMap;
00225
00226 private:
00227 class Private;
00231 Private *d;
00232
00233 };
00234
00235 #endif // KCONFIGDIALOGMANAGER_H
00236
|