7#include "settingbase.h"
11#include <qfilesystemwatcher.h>
18#include <qstringliteral.h>
20#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
21#include <qtmetamacros.h>
23#include <qobjectdefs.h>
38class Setting final :
public SettingBase
42 virtual ~Setting()
override;
47 void setValue(
const T &newValue);
52 Setting(
const Setting &) =
delete;
53 Setting &operator=(
const Setting &) =
delete;
58 void updateFromQSettings();
61 friend class TestSetting;
92Setting<T>::Setting(
const QString &key, Settings *settings,
QObject *parent)
93 : SettingBase(key, settings, parent)
97 qRegisterMetaType<T>();
98#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
100 qRegisterMetaTypeStreamOperators<T>();
104 updateFromQSettings();
108 &Settings::updatedAfterFileChange,
110 &PerceptualColor::Setting<T>::updateFromQSettings
116Setting<T>::~Setting()
126void Setting<T>::updateFromQSettings()
138 const QVariant newValueVariant = underlyingQSettings()->
value(m_key);
139 const T newValue = newValueVariant.
value<T>();
140 if (newValue != m_value) {
142 Q_EMIT valueChanged();
149T Setting<T>::value()
const
158void Setting<T>::setValue(
const T &newValue)
160 if (newValue != m_value) {
163 underlyingQSettings()->setValue(m_key, newVariant);
164 Q_EMIT valueChanged();
The namespace of this library.
QObject * parent() const const
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)
QVariant fromValue(T &&value)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Jul 26 2024 11:50:27 by
doxygen 1.11.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.