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"