00001 #ifndef NOATUNPREF_H
00002 #define NOATUNPREF_H
00003
00004 #include <kdialogbase.h>
00005 #include <qptrlist.h>
00006
00007 class CModule;
00008
00009 class NoatunPreferences : public KDialogBase
00010 {
00011 Q_OBJECT
00012 friend class CModule;
00013
00014 public:
00015 NoatunPreferences(QWidget *parent);
00016
00017 public:
00018 virtual void show();
00019
00020 protected:
00021 virtual void slotOk();
00022 virtual void slotApply();
00023
00024 private:
00025 void add(CModule *page);
00026 void remove(CModule *page);
00027
00028 private:
00029 class NoatunPreferencesPrivate;
00030 NoatunPreferencesPrivate *d;
00031
00032 QPtrList<CModule> mModules;
00033 };
00034
00035 class CModule : public QWidget
00036 {
00037 Q_OBJECT
00038
00039 public:
00047 CModule(const QString &name, const QString &description, const QString &icon, QObject *parent=0);
00048
00049 virtual ~CModule();
00050
00051 public slots:
00055 virtual void save() {}
00059 virtual void reopen() {}
00060
00061 private slots:
00062 void ownerDeleted();
00063
00064 private:
00065 class CModulePrivate;
00066 CModulePrivate *d;
00067 };
00068
00069
00070 #endif // NOATUNPREF_H