diff options
author | Kevin Ottens <kevin.ottens@enioka.com> | 2019-11-08 12:19:52 +0100 |
---|---|---|
committer | Kevin Ottens <kevin.ottens@enioka.com> | 2019-11-12 13:33:19 +0100 |
commit | 44cfa0631d25a1b558640e6122fa6b755bb8c7ad (patch) | |
tree | 6301304591a676e0e6c7389f890252f4e632c2e9 /src/core | |
parent | 83732a848ff0c2c83501b853d90ec1ae5e3a6583 (diff) | |
download | kconfig-44cfa0631d25a1b558640e6122fa6b755bb8c7ad.tar.gz kconfig-44cfa0631d25a1b558640e6122fa6b755bb8c7ad.tar.bz2 |
Prepare KConfigSkeletonItem to allow inheriting its private class
Reviewers: #frameworks, dfaure, davidedmundson, bport, crossi
Subscribers: vkrause, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25210
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/kcoreconfigskeleton.cpp | 27 | ||||
-rw-r--r-- | src/core/kcoreconfigskeleton.h | 6 | ||||
-rw-r--r-- | src/core/kcoreconfigskeleton_p.h | 1 |
3 files changed, 30 insertions, 4 deletions
diff --git a/src/core/kcoreconfigskeleton.cpp b/src/core/kcoreconfigskeleton.cpp index b9c9f2ac..df52f587 100644 --- a/src/core/kcoreconfigskeleton.cpp +++ b/src/core/kcoreconfigskeleton.cpp @@ -37,17 +37,26 @@ static QString obscuredString(const QString &str) return result; } +KConfigSkeletonItemPrivate::~KConfigSkeletonItemPrivate() = default; + KConfigSkeletonItem::KConfigSkeletonItem(const QString &_group, const QString &_key) : mGroup(_group) , mKey(_key) - , d(new KConfigSkeletonItemPrivate) + , d_ptr(new KConfigSkeletonItemPrivate) +{ +} + +KConfigSkeletonItem::KConfigSkeletonItem(KConfigSkeletonItemPrivate &dd, const QString &_group, const QString &_key) + : mGroup(_group) + , mKey(_key) + , d_ptr(&dd) { } KConfigSkeletonItem::~KConfigSkeletonItem() { - delete d; + delete d_ptr; } void KConfigSkeletonItem::setGroup(const QString &_group) @@ -82,41 +91,49 @@ QString KConfigSkeletonItem::name() const void KConfigSkeletonItem::setLabel(const QString &l) { + Q_D(KConfigSkeletonItem); d->mLabel = l; } QString KConfigSkeletonItem::label() const { + Q_D(const KConfigSkeletonItem); return d->mLabel; } void KConfigSkeletonItem::setToolTip(const QString &t) { + Q_D(KConfigSkeletonItem); d->mToolTip = t; } QString KConfigSkeletonItem::toolTip() const { + Q_D(const KConfigSkeletonItem); return d->mToolTip; } void KConfigSkeletonItem::setWhatsThis(const QString &w) { + Q_D(KConfigSkeletonItem); d->mWhatsThis = w; } QString KConfigSkeletonItem::whatsThis() const { + Q_D(const KConfigSkeletonItem); return d->mWhatsThis; } void KConfigSkeletonItem::setWriteFlags(KConfigBase::WriteConfigFlags flags) { + Q_D(KConfigSkeletonItem); d->mWriteFlags = flags; } KConfigBase::WriteConfigFlags KConfigSkeletonItem::writeFlags() const { + Q_D(const KConfigSkeletonItem); return d->mWriteFlags; } @@ -132,31 +149,37 @@ QVariant KConfigSkeletonItem::maxValue() const bool KConfigSkeletonItem::isImmutable() const { + Q_D(const KConfigSkeletonItem); return d->mIsImmutable; } bool KConfigSkeletonItem::isDefault() const { + Q_D(const KConfigSkeletonItem); return d->mIsDefaultImpl(); } bool KConfigSkeletonItem::isSaveNeeded() const { + Q_D(const KConfigSkeletonItem); return d->mIsSaveNeededImpl(); } void KConfigSkeletonItem::readImmutability(const KConfigGroup &group) { + Q_D(KConfigSkeletonItem); d->mIsImmutable = group.isEntryImmutable(mKey); } void KConfigSkeletonItem::setIsDefaultImpl(const std::function<bool ()> &impl) { + Q_D(KConfigSkeletonItem); d->mIsDefaultImpl = impl; } void KConfigSkeletonItem::setIsSaveNeededImpl(const std::function<bool ()> &impl) { + Q_D(KConfigSkeletonItem); d->mIsSaveNeededImpl = impl; } diff --git a/src/core/kcoreconfigskeleton.h b/src/core/kcoreconfigskeleton.h index 76b78a20..ffb6d6a5 100644 --- a/src/core/kcoreconfigskeleton.h +++ b/src/core/kcoreconfigskeleton.h @@ -52,6 +52,7 @@ class KConfigSkeletonItemPrivate; */ class KCONFIGCORE_EXPORT KConfigSkeletonItem { + Q_DECLARE_PRIVATE(KConfigSkeletonItem) public: typedef QList < KConfigSkeletonItem * >List; typedef QHash < QString, KConfigSkeletonItem * > Dict; @@ -226,6 +227,8 @@ public: bool isSaveNeeded() const; protected: + explicit KConfigSkeletonItem(KConfigSkeletonItemPrivate &dd, const QString &_group, const QString &_key); + /** * sets mIsImmutable to true if mKey in config is immutable * @param group KConfigGroup to check if mKey is immutable in @@ -241,8 +244,7 @@ protected: void setIsDefaultImpl(const std::function<bool()> &impl); void setIsSaveNeededImpl(const std::function<bool()> &impl); -private: - KConfigSkeletonItemPrivate *const d; + KConfigSkeletonItemPrivate *const d_ptr; }; /** diff --git a/src/core/kcoreconfigskeleton_p.h b/src/core/kcoreconfigskeleton_p.h index 623bfa03..cc997621 100644 --- a/src/core/kcoreconfigskeleton_p.h +++ b/src/core/kcoreconfigskeleton_p.h @@ -54,6 +54,7 @@ public: : mIsImmutable(true) , mWriteFlags(KConfigBase::Normal) {} + virtual ~KConfigSkeletonItemPrivate(); bool mIsImmutable; ///< Indicates this item is immutable KConfigBase::WriteConfigFlags mWriteFlags; ///< The flags to pass to calls of writeEntry() and revertToDefault() |