File indexing completed on 2024-05-12 03:54:28

0001 /*
0002     This file is part of KOrganizer.
0003     SPDX-FileCopyrightText: 2000, 2001 Cornelius Schumacher <schumacher@kde.org>
0004     SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "kconfigskeleton.h"
0010 
0011 #include <kcoreconfigskeleton_p.h>
0012 
0013 KConfigSkeleton::KConfigSkeleton(const QString &configname, QObject *parent)
0014     : KCoreConfigSkeleton(configname, parent)
0015 {
0016 }
0017 
0018 KConfigSkeleton::KConfigSkeleton(KSharedConfig::Ptr pConfig, QObject *parent)
0019     : KCoreConfigSkeleton(std::move(pConfig), parent)
0020 {
0021 }
0022 
0023 KConfigSkeleton::ItemColor::ItemColor(const QString &_group, const QString &_key, QColor &reference, const QColor &defaultValue)
0024     : KConfigSkeletonGenericItem<QColor>(_group, _key, reference, defaultValue)
0025 {
0026 }
0027 
0028 void KConfigSkeleton::ItemColor::readConfig(KConfig *config)
0029 {
0030     KConfigGroup cg = configGroup(config);
0031 
0032     mReference = cg.readEntry(mKey, mDefault);
0033     mLoadedValue = mReference;
0034 
0035     readImmutability(cg);
0036 }
0037 
0038 void KConfigSkeleton::ItemColor::setProperty(const QVariant &p)
0039 {
0040     mReference = qvariant_cast<QColor>(p);
0041 }
0042 
0043 bool KConfigSkeleton::ItemColor::isEqual(const QVariant &v) const
0044 {
0045     return mReference == qvariant_cast<QColor>(v);
0046 }
0047 
0048 QVariant KConfigSkeleton::ItemColor::property() const
0049 {
0050     return QVariant(mReference);
0051 }
0052 
0053 KConfigSkeleton::ItemFont::ItemFont(const QString &_group, const QString &_key, QFont &reference, const QFont &defaultValue)
0054     : KConfigSkeletonGenericItem<QFont>(_group, _key, reference, defaultValue)
0055 {
0056 }
0057 
0058 void KConfigSkeleton::ItemFont::readConfig(KConfig *config)
0059 {
0060     KConfigGroup cg = configGroup(config);
0061 
0062     mReference = cg.readEntry(mKey, mDefault);
0063     mLoadedValue = mReference;
0064 
0065     readImmutability(cg);
0066 }
0067 
0068 void KConfigSkeleton::ItemFont::setProperty(const QVariant &p)
0069 {
0070     mReference = qvariant_cast<QFont>(p);
0071 }
0072 
0073 bool KConfigSkeleton::ItemFont::isEqual(const QVariant &v) const
0074 {
0075     return mReference == qvariant_cast<QFont>(v);
0076 }
0077 
0078 QVariant KConfigSkeleton::ItemFont::property() const
0079 {
0080     return QVariant(mReference);
0081 }
0082 
0083 KConfigSkeleton::ItemColor *KConfigSkeleton::addItemColor(const QString &name, QColor &reference, const QColor &defaultValue, const QString &key)
0084 {
0085     KConfigSkeleton::ItemColor *item;
0086     item = new KConfigSkeleton::ItemColor(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
0087     addItem(item, name);
0088     return item;
0089 }
0090 
0091 KConfigSkeleton::ItemFont *KConfigSkeleton::addItemFont(const QString &name, QFont &reference, const QFont &defaultValue, const QString &key)
0092 {
0093     KConfigSkeleton::ItemFont *item;
0094     item = new KConfigSkeleton::ItemFont(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
0095     addItem(item, name);
0096     return item;
0097 }
0098 
0099 #include "moc_kconfigskeleton.cpp"