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"