KDEUI
kconfigdialogmanager.h
Go to the documentation of this file.00001
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 <kdeui_export.h>
00025
00026 #include <QtCore/QObject>
00027 #include <QtCore/QHash>
00028
00029 class KConfigSkeleton;
00030 class KConfigSkeletonItem;
00031 class QWidget;
00032
00075 class KDEUI_EXPORT KConfigDialogManager : public QObject {
00076
00077 Q_OBJECT
00078
00079 Q_SIGNALS:
00085 void settingsChanged();
00086
00094 void settingsChanged( QWidget *widget );
00095
00103 void widgetModified();
00104
00105
00106 public:
00107
00113 KConfigDialogManager(QWidget *parent, KConfigSkeleton *conf);
00114
00118 ~KConfigDialogManager();
00119
00124 void addWidget(QWidget *widget);
00125
00130 bool hasChanged() const;
00131
00136 bool isDefault() const;
00137
00141 static QHash<QString, QByteArray> *propertyMap();
00142
00146 static QHash<QString, QByteArray> *changedMap();
00147
00148 public Q_SLOTS:
00155 void updateSettings();
00156
00164 void updateWidgets();
00165
00172 void updateWidgetsDefault();
00173
00174 protected:
00175
00182 void init(bool trackChanges);
00183
00194 bool parseChildren(const QWidget *widget, bool trackChanges);
00195
00200 QByteArray getUserProperty(const QWidget *widget) const;
00201
00205 void setProperty(QWidget *w, const QVariant &v);
00206
00210 QVariant property(QWidget *w) const;
00211
00215 void setupWidget(QWidget *widget, KConfigSkeletonItem *item);
00216
00220 static void initMaps();
00221
00222 private:
00223 class Private;
00224 friend class Private;
00225
00229 Private *const d;
00230
00231 Q_DISABLE_COPY(KConfigDialogManager)
00232 };
00233
00234 #endif // KCONFIGDIALOGMANAGER_H
00235