File indexing completed on 2024-05-12 15:34:13

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(config, mGroup);
0031     mReference = cg.readEntry(mKey, mDefault);
0032     mLoadedValue = mReference;
0033 
0034     readImmutability(cg);
0035 }
0036 
0037 void KConfigSkeleton::ItemColor::setProperty(const QVariant &p)
0038 {
0039     mReference = qvariant_cast<QColor>(p);
0040 }
0041 
0042 bool KConfigSkeleton::ItemColor::isEqual(const QVariant &v) const
0043 {
0044     return mReference == qvariant_cast<QColor>(v);
0045 }
0046 
0047 QVariant KConfigSkeleton::ItemColor::property() const
0048 {
0049     return QVariant(mReference);
0050 }
0051 
0052 KConfigSkeleton::ItemFont::ItemFont(const QString &_group, const QString &_key, QFont &reference, const QFont &defaultValue)
0053     : KConfigSkeletonGenericItem<QFont>(_group, _key, reference, defaultValue)
0054 {
0055 }
0056 
0057 void KConfigSkeleton::ItemFont::readConfig(KConfig *config)
0058 {
0059     KConfigGroup cg(config, mGroup);
0060     mReference = cg.readEntry(mKey, mDefault);
0061     mLoadedValue = mReference;
0062 
0063     readImmutability(cg);
0064 }
0065 
0066 void KConfigSkeleton::ItemFont::setProperty(const QVariant &p)
0067 {
0068     mReference = qvariant_cast<QFont>(p);
0069 }
0070 
0071 bool KConfigSkeleton::ItemFont::isEqual(const QVariant &v) const
0072 {
0073     return mReference == qvariant_cast<QFont>(v);
0074 }
0075 
0076 QVariant KConfigSkeleton::ItemFont::property() const
0077 {
0078     return QVariant(mReference);
0079 }
0080 
0081 KConfigSkeleton::ItemColor *KConfigSkeleton::addItemColor(const QString &name, QColor &reference, const QColor &defaultValue, const QString &key)
0082 {
0083     KConfigSkeleton::ItemColor *item;
0084     item = new KConfigSkeleton::ItemColor(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
0085     addItem(item, name);
0086     return item;
0087 }
0088 
0089 KConfigSkeleton::ItemFont *KConfigSkeleton::addItemFont(const QString &name, QFont &reference, const QFont &defaultValue, const QString &key)
0090 {
0091     KConfigSkeleton::ItemFont *item;
0092     item = new KConfigSkeleton::ItemFont(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
0093     addItem(item, name);
0094     return item;
0095 }
0096 
0097 #include "moc_kconfigskeleton.cpp"