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
00084 class KDEUI_EXPORT KConfigDialogManager : public QObject {
00085
00086 Q_OBJECT
00087
00088 Q_SIGNALS:
00094 void settingsChanged();
00095
00103 void settingsChanged( QWidget *widget );
00104
00112 void widgetModified();
00113
00114
00115 public:
00116
00122 KConfigDialogManager(QWidget *parent, KConfigSkeleton *conf);
00123
00127 ~KConfigDialogManager();
00128
00133 void addWidget(QWidget *widget);
00134
00139 bool hasChanged() const;
00140
00145 bool isDefault() const;
00146
00150 static QHash<QString, QByteArray> *propertyMap();
00151
00155 static QHash<QString, QByteArray> *changedMap();
00156
00157 public Q_SLOTS:
00164 void updateSettings();
00165
00173 void updateWidgets();
00174
00181 void updateWidgetsDefault();
00182
00183 protected:
00184
00191 void init(bool trackChanges);
00192
00203 bool parseChildren(const QWidget *widget, bool trackChanges);
00204
00209 QByteArray getUserProperty(const QWidget *widget) const;
00210
00217 QByteArray getCustomProperty(const QWidget *widget) const;
00218
00222 void setProperty(QWidget *w, const QVariant &v);
00223
00227 QVariant property(QWidget *w) const;
00228
00232 void setupWidget(QWidget *widget, KConfigSkeletonItem *item);
00233
00237 static void initMaps();
00238
00239 private:
00240 class Private;
00241 friend class Private;
00242
00246 Private *const d;
00247
00248 Q_DISABLE_COPY(KConfigDialogManager)
00249 };
00250
00251 #endif // KCONFIGDIALOGMANAGER_H
00252