19 Q_PROPERTY(QString key READ key WRITE setKey NOTIFY keyChanged)
20 Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
21 Q_PROPERTY(QVariant value READ value WRITE setValue RESET resetValue NOTIFY valueChanged)
22 Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged)
23 Q_CLASSINFO(
"DefaultProperty",
"delegate")
24#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
33 void setKey(QString key);
35 void setName(QString name);
37 void setValue(QVariant value);
40 QQmlComponent *delegate()
const;
41 void setDelegate(QQmlComponent *delegate);
42 void setConfig(QObject *config);
47 void keyChanged(QString key);
48 void nameChanged(QString name);
49 void valueChanged(QVariant value);
50 void delegateChanged();
53 void onConfigValueChanged();
54 void onValueChanged(
const QString &key,
const QVariant &value);
57 void setValue(
const QVariant &value,
bool updateConfig);
62 bool m_valueInitialized =
false;
63 QQmlComponent *m_delegate =
nullptr;
64 QObject *m_config =
nullptr;
70 Q_PROPERTY(QString key READ key WRITE setKey NOTIFY keyChanged)
71 Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
72 Q_PROPERTY(
int level READ level CONSTANT)
73 Q_PROPERTY(
bool visible READ visible WRITE setVisible NOTIFY visibleChanged)
74 Q_PROPERTY(
int index READ index NOTIFY indexChanged)
75 Q_PROPERTY(QQmlListProperty<DTK_QUICK_NAMESPACE::SettingsOption> options READ options NOTIFY optionsChanged)
76 Q_PROPERTY(QQmlListProperty<DTK_QUICK_NAMESPACE::SettingsGroup> children READ children NOTIFY childrenChanged)
77 Q_PROPERTY(QQmlComponent *background READ background WRITE setBackground NOTIFY backgroundChanged)
78 Q_CLASSINFO(
"DefaultProperty",
"options")
79#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
89 void setKey(
const QString &key);
91 void setName(QString name);
93 void setLevel(
int level);
95 void setVisible(
bool visible);
96 QQmlListProperty<DTK_QUICK_NAMESPACE::SettingsOption> options();
97 QQmlListProperty<DTK_QUICK_NAMESPACE::SettingsGroup> children();
98 QQmlComponent *background()
const;
99 void setBackground(QQmlComponent *background);
100 void setConfig(QObject *config);
104 void setIndex(
const int index);
106 static SettingsGroup *qmlAttachedProperties(QObject *
object);
109 void keyChanged(QString key);
110 void nameChanged(QString name);
111 void visibleChanged(
bool visible);
112 void optionsChanged();
113 void childrenChanged();
114 void backgroundChanged();
115 void indexChanged(
int index);
122 bool m_visible =
true;
124 QList<SettingsOption*> m_options;
125 QList<SettingsGroup*> m_children;
126 QQmlComponent * m_background =
nullptr;
139 virtual int count()
const override;
140#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0))
141 virtual QVariant variantValue(
int index,
const QString &name)
override;
142 virtual ReleaseFlags release(QObject *
object, ReusableFlag reusableFlag = NotReusable)
override;
144 virtual QString stringValue(
int index,
const QString &name)
override;
145 virtual ReleaseFlags release(QObject *
object)
override;
147 virtual void setWatchedRoles(
const QList<QByteArray> &roles)
override;
148 virtual QQmlIncubator::Status incubationStatus(
int index)
override;
149 virtual int indexOf(QObject *
object, QObject *objectContext)
const override;
192 Q_INTERFACES(QQmlParserStatus)
193 Q_PROPERTY(QObject *config READ config WRITE setConfig NOTIFY configChanged)
194 Q_PROPERTY(QQmlListProperty<DTK_QUICK_NAMESPACE::SettingsGroup> groups READ groups NOTIFY groupsChanged)
196 Q_PROPERTY(QQmlComponent *contentTitle READ contentTitle WRITE setContentTitle NOTIFY contentTitleChanged)
197 Q_PROPERTY(QQmlComponent *contentBackground READ contentBackground WRITE setContentBackground NOTIFY contentBackgroundChanged)
199 Q_PROPERTY(QQmlComponent *navigationTitle READ navigationTitle WRITE setNavigationTitle NOTIFY navigationTitleChanged)
200 Q_CLASSINFO(
"DefaultProperty",
"groups")
201#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
209 QObject *config()
const;
210 void setConfig(QObject *config);
211 QQmlListProperty<DTK_QUICK_NAMESPACE::SettingsGroup> groups();
214 QQmlComponent *contentTitle()
const;
215 void setContentTitle(QQmlComponent *delegate);
216 QQmlComponent *navigationTitle()
const;
217 void setNavigationTitle(QQmlComponent *delegate);
218 void setContentBackground(QQmlComponent * contentBackground);
219 QQmlComponent *contentBackground()
const;
221 QVector<SettingsGroup *> groupList()
const;
222 QQmlContext *creationContext();
224 virtual void classBegin()
override;
225 virtual void componentComplete()
override;
228 void setGroupVisible(
const QString &key,
bool visible);
229 bool groupVisible(
const QString &key)
const;
230 void resetSettings();
233 void onGroupVisibleChanged(
bool visible);
236 void groupsChanged();
237 void navigationTitleChanged();
238 void contentTitleChanged();
239 void contentModelChanged();
240 void navigationModelChanged();
241 void configChanged();
242 void contentBackgroundChanged();
245 QList<SettingsGroup*> m_groups;
248 QQmlComponent *m_contentTitle =
nullptr;
249 QQmlComponent *m_navigationTitle =
nullptr;
250 QQmlComponent * m_contentBackground =
nullptr;
251 QObject *m_config =
nullptr;
Definition dsettingscontainer_p.h:162