-rw-r--r-- | microkde/kdecore/kprefs.cpp | 50 |
1 files changed, 49 insertions, 1 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 | |||
@@ -70,12 +70,27 @@ class KPrefsItemColor : public KPrefsItem { | |||
70 | 70 | ||
71 | private: | 71 | private: |
72 | QColor *mReference; | 72 | QColor *mReference; |
73 | QColor mDefault; | 73 | QColor mDefault; |
74 | }; | 74 | }; |
75 | 75 | ||
76 | class KPrefsItemSize : public KPrefsItem { | ||
77 | public: | ||
78 | KPrefsItemSize(const QString &group,const QString &name,QSize *, | ||
79 | const QSize &defaultValue=QSize()); | ||
80 | ~KPrefsItemSize() {} | ||
81 | |||
82 | void setDefault(); | ||
83 | void readConfig(KConfig *); | ||
84 | void writeConfig(KConfig *); | ||
85 | |||
86 | private: | ||
87 | QSize *mReference; | ||
88 | QSize mDefault; | ||
89 | }; | ||
90 | |||
76 | 91 | ||
77 | class KPrefsItemFont : public KPrefsItem { | 92 | class KPrefsItemFont : public KPrefsItem { |
78 | public: | 93 | public: |
79 | KPrefsItemFont(const QString &group,const QString &name,QFont *, | 94 | KPrefsItemFont(const QString &group,const QString &name,QFont *, |
80 | const QFont &defaultValue=QFont("helvetica",12)); | 95 | const QFont &defaultValue=QFont("helvetica",12)); |
81 | virtual ~KPrefsItemFont() {} | 96 | virtual ~KPrefsItemFont() {} |
@@ -216,12 +231,39 @@ void KPrefsItemColor::readConfig(KConfig *config) | |||
216 | config->setGroup(mGroup); | 231 | config->setGroup(mGroup); |
217 | *mReference = config->readColorEntry(mName,&mDefault); | 232 | *mReference = config->readColorEntry(mName,&mDefault); |
218 | 233 | ||
219 | } | 234 | } |
220 | 235 | ||
221 | 236 | ||
237 | KPrefsItemSize::KPrefsItemSize(const QString &group,const QString &name, | ||
238 | QSize *reference,const QSize &defaultValue) : | ||
239 | KPrefsItem(group,name) | ||
240 | { | ||
241 | mReference = reference; | ||
242 | mDefault = defaultValue; | ||
243 | } | ||
244 | |||
245 | void KPrefsItemSize::setDefault() | ||
246 | { | ||
247 | *mReference = mDefault; | ||
248 | } | ||
249 | |||
250 | void KPrefsItemSize::writeConfig(KConfig *config) | ||
251 | { | ||
252 | config->setGroup(mGroup); | ||
253 | config->writeEntry(mName,*mReference); | ||
254 | } | ||
255 | |||
256 | void KPrefsItemSize::readConfig(KConfig *config) | ||
257 | { | ||
258 | config->setGroup(mGroup); | ||
259 | *mReference = config->readSizeEntry(mName,&mDefault); | ||
260 | |||
261 | } | ||
262 | |||
263 | |||
222 | KPrefsItemFont::KPrefsItemFont(const QString &group,const QString &name, | 264 | KPrefsItemFont::KPrefsItemFont(const QString &group,const QString &name, |
223 | QFont *reference,const QFont &defaultValue) : | 265 | QFont *reference,const QFont &defaultValue) : |
224 | KPrefsItem(group,name) | 266 | KPrefsItem(group,name) |
225 | { | 267 | { |
226 | mReference = reference; | 268 | mReference = reference; |
227 | mDefault = defaultValue; | 269 | mDefault = defaultValue; |
@@ -397,23 +439,24 @@ void KPrefs::readConfig() | |||
397 | KPrefsItem *item; | 439 | KPrefsItem *item; |
398 | for(item = mItems.first();item;item = mItems.next()) { | 440 | for(item = mItems.first();item;item = mItems.next()) { |
399 | item->readConfig(mConfig); | 441 | item->readConfig(mConfig); |
400 | } | 442 | } |
401 | 443 | ||
402 | usrReadConfig(); | 444 | usrReadConfig(); |
445 | //qDebug("KPrefs::readConfig: %s", mConfig->getFileName().latin1()); | ||
403 | } | 446 | } |
404 | 447 | ||
405 | void KPrefs::writeConfig() | 448 | void KPrefs::writeConfig() |
406 | { | 449 | { |
407 | KPrefsItem *item; | 450 | KPrefsItem *item; |
408 | for(item = mItems.first();item;item = mItems.next()) { | 451 | for(item = mItems.first();item;item = mItems.next()) { |
409 | item->writeConfig(mConfig); | 452 | item->writeConfig(mConfig); |
410 | } | 453 | } |
411 | 454 | ||
412 | usrWriteConfig(); | 455 | usrWriteConfig(); |
413 | 456 | //qDebug("KPrefs::WriteConfig: %s", mConfig->getFileName().latin1()); | |
414 | mConfig->sync(); | 457 | mConfig->sync(); |
415 | } | 458 | } |
416 | 459 | ||
417 | 460 | ||
418 | void KPrefs::addItem(KPrefsItem *item) | 461 | void KPrefs::addItem(KPrefsItem *item) |
419 | { | 462 | { |
@@ -437,12 +480,17 @@ void KPrefs::addItemColor(const QString &key,QColor *reference,const QColor &def | |||
437 | 480 | ||
438 | void KPrefs::addItemFont(const QString &key,QFont *reference,const QFont &defaultValue) | 481 | void KPrefs::addItemFont(const QString &key,QFont *reference,const QFont &defaultValue) |
439 | { | 482 | { |
440 | addItem(new KPrefsItemFont(*mCurrentGroup,key,reference,defaultValue)); | 483 | addItem(new KPrefsItemFont(*mCurrentGroup,key,reference,defaultValue)); |
441 | } | 484 | } |
442 | 485 | ||
486 | void KPrefs::addItemSize(const QString &key,QSize *reference,const QSize &defaultValue) | ||
487 | { | ||
488 | addItem(new KPrefsItemSize(*mCurrentGroup,key,reference,defaultValue)); | ||
489 | } | ||
490 | |||
443 | void KPrefs::addItemString(const QString &key,QString *reference,const QString &defaultValue) | 491 | void KPrefs::addItemString(const QString &key,QString *reference,const QString &defaultValue) |
444 | { | 492 | { |
445 | addItem(new KPrefsItemString(*mCurrentGroup,key,reference,defaultValue,false)); | 493 | addItem(new KPrefsItemString(*mCurrentGroup,key,reference,defaultValue,false)); |
446 | } | 494 | } |
447 | 495 | ||
448 | void KPrefs::addItemPassword(const QString &key,QString *reference,const QString &defaultValue) | 496 | void KPrefs::addItemPassword(const QString &key,QString *reference,const QString &defaultValue) |