author | ulf69 <ulf69> | 2004-09-21 19:47:57 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-09-21 19:47:57 (UTC) |
commit | c2cce86fdb2d0b291c3d3bdfa9fac47452153d1a (patch) (side-by-side diff) | |
tree | 6f8ac380b5db0831f02e4cc35cd0a6fd5ece5ff9 /microkde | |
parent | 427906b75a4672531f2b7d86b2a4a27427f5d4a4 (diff) | |
download | kdepimpi-c2cce86fdb2d0b291c3d3bdfa9fac47452153d1a.zip kdepimpi-c2cce86fdb2d0b291c3d3bdfa9fac47452153d1a.tar.gz kdepimpi-c2cce86fdb2d0b291c3d3bdfa9fac47452153d1a.tar.bz2 |
added prefwriting prefreading for size and font object
-rw-r--r-- | microkde/kdecore/kprefs.cpp | 50 | ||||
-rw-r--r-- | microkde/kdecore/kprefs.h | 15 | ||||
-rw-r--r-- | microkde/kutils/kcmultidialog.cpp | 20 | ||||
-rw-r--r-- | microkde/kutils/kcmultidialog.h | 5 |
4 files changed, 87 insertions, 3 deletions
diff --git a/microkde/kdecore/kprefs.cpp b/microkde/kdecore/kprefs.cpp index f5e5e5a..71050e7 100644 --- a/microkde/kdecore/kprefs.cpp +++ b/microkde/kdecore/kprefs.cpp @@ -74,4 +74,19 @@ class KPrefsItemColor : public KPrefsItem { }; +class KPrefsItemSize : public KPrefsItem { + public: + KPrefsItemSize(const QString &group,const QString &name,QSize *, + const QSize &defaultValue=QSize()); + ~KPrefsItemSize() {} + + void setDefault(); + void readConfig(KConfig *); + void writeConfig(KConfig *); + + private: + QSize *mReference; + QSize mDefault; +}; + class KPrefsItemFont : public KPrefsItem { @@ -220,4 +235,31 @@ void KPrefsItemColor::readConfig(KConfig *config) +KPrefsItemSize::KPrefsItemSize(const QString &group,const QString &name, + QSize *reference,const QSize &defaultValue) : + KPrefsItem(group,name) +{ + mReference = reference; + mDefault = defaultValue; +} + +void KPrefsItemSize::setDefault() +{ + *mReference = mDefault; +} + +void KPrefsItemSize::writeConfig(KConfig *config) +{ + config->setGroup(mGroup); + config->writeEntry(mName,*mReference); +} + +void KPrefsItemSize::readConfig(KConfig *config) +{ + config->setGroup(mGroup); + *mReference = config->readSizeEntry(mName,&mDefault); + +} + + KPrefsItemFont::KPrefsItemFont(const QString &group,const QString &name, QFont *reference,const QFont &defaultValue) : @@ -401,4 +443,5 @@ void KPrefs::readConfig() usrReadConfig(); + //qDebug("KPrefs::readConfig: %s", mConfig->getFileName().latin1()); } @@ -411,5 +454,5 @@ void KPrefs::writeConfig() usrWriteConfig(); - + //qDebug("KPrefs::WriteConfig: %s", mConfig->getFileName().latin1()); mConfig->sync(); } @@ -441,4 +484,9 @@ void KPrefs::addItemFont(const QString &key,QFont *reference,const QFont &defaul } +void KPrefs::addItemSize(const QString &key,QSize *reference,const QSize &defaultValue) +{ + addItem(new KPrefsItemSize(*mCurrentGroup,key,reference,defaultValue)); +} + void KPrefs::addItemString(const QString &key,QString *reference,const QString &defaultValue) { diff --git a/microkde/kdecore/kprefs.h b/microkde/kdecore/kprefs.h index 7014bb8..95d2724 100644 --- a/microkde/kdecore/kprefs.h +++ b/microkde/kdecore/kprefs.h @@ -25,4 +25,5 @@ #include <qcolor.h> #include <qfont.h> +#include <qsize.h> #include <qstringlist.h> @@ -208,4 +209,18 @@ class KPrefs { void addItemColor(const QString &key,QColor *reference, const QColor &defaultValue=QColor(128,128,128)); + + /** + Register an item of type QSize. + + @param key Key used in config file. + @param reference Pointer to the variable, which is set by readConfig() + and setDefaults() calls and read by writeConfig() calls. + @param defaultValue Default value, which is used by setDefaults() and + when the config file does not yet contain the key of + this item. + */ + void addItemSize(const QString &key,QSize *reference, + const QSize &defaultValue=QSize()); + /** Register an item of type QFont. diff --git a/microkde/kutils/kcmultidialog.cpp b/microkde/kutils/kcmultidialog.cpp index e7aa9d1..c4ccede 100644 --- a/microkde/kutils/kcmultidialog.cpp +++ b/microkde/kutils/kcmultidialog.cpp @@ -68,5 +68,5 @@ void KCMultiDialog::slotDefault() { - int curPageIndex = mMainWidget->activePageIndex(); + int curPageIndex = activePageIndex(); QPtrListIterator<KCModule> it(modules); @@ -208,2 +208,20 @@ void KCMultiDialog::slotAboutToShow(QWidget *page) qDebug("KCMultiDialog::slotAboutToShow not implemented"); } + + +bool KCMultiDialog::showPage( int index ) +{ + return(mMainWidget->showPage(index) ); +} + + +int KCMultiDialog::activePageIndex() const +{ + return( mMainWidget->activePageIndex() ); +} + + +int KCMultiDialog::pageIndex( QWidget *widget ) const +{ + return( mMainWidget->pageIndex( widget) ); +} diff --git a/microkde/kutils/kcmultidialog.h b/microkde/kutils/kcmultidialog.h index 768faea..66412ac 100644 --- a/microkde/kutils/kcmultidialog.h +++ b/microkde/kutils/kcmultidialog.h @@ -74,9 +74,12 @@ public: -//US special method for microkde. We dop noty want to load everything dynamically. +//US special method for microkde. We do not want to load everything dynamically. void addModule(KCModule* module );//, const QString& modulename, const QString& iconname); QVBox* getNewVBoxPage(const QString & modulename) ; + bool showPage( int index ); + int activePageIndex() const; + int pageIndex( QWidget *widget ) const; protected slots: |