DtkGui
DTK Gui module
载入中...
搜索中...
未找到
dnativesettings.h
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DNATIVESETTINGS_H
6#define DNATIVESETTINGS_H
7
8#include <dtkgui_global.h>
9#include <DObject>
10
11#include <QObject>
12
13DGUI_BEGIN_NAMESPACE
14
15class DNativeSettingsPrivate;
16class DNativeSettings : public QObject, public DCORE_NAMESPACE::DObject
17{
18 Q_OBJECT
19 D_DECLARE_PRIVATE(DNativeSettings)
20 Q_PROPERTY(QByteArrayList allKeys READ allKeys WRITE __setAllKeys NOTIFY allKeysChanged)
21public:
22 explicit DNativeSettings(quint32 window, const QByteArray &domain = QByteArray(), QObject *parent = nullptr);
23
24 bool isValid() const;
25 QByteArrayList allKeys() const;
26
27 QVariant getSetting(const QByteArray &name) const;
28 void setSetting(const QByteArray &name, const QVariant &value);
29
30Q_SIGNALS:
31 void allKeysChanged();
32 void propertyChanged(const QByteArray &name, const QVariant &value);
33
34protected:
35 DNativeSettings(DNativeSettingsPrivate &dd, const QMetaObject *metaObject, quint32 window, QObject *parent);
36 DNativeSettings(const QMetaObject *metaObject, quint32 window, const QByteArray &domain, QObject *parent);
37
38 bool init(const QMetaObject *metaObject, quint32 window);
39
40private:
41 void __setAllKeys(const QByteArrayList &keys);
42
43 friend class DNativeSettingsPrivate;
44};
45
46DGUI_END_NAMESPACE
47
48QT_BEGIN_NAMESPACE
49QDebug operator<<(QDebug debug, const DTK_GUI_NAMESPACE::DNativeSettings &settings);
50QT_END_NAMESPACE
51
52#endif // DNATIVESETTINGS_H
Definition dnativesettings_p.h:15
一个用于本地设置的类.
Definition dnativesettings.h:17