DtkCore
DTK Core module
载入中...
搜索中...
未找到
dsettingsbackend.h
1// SPDX-FileCopyrightText: 2016 - 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#pragma once
6
7#include <QObject>
8#include <QScopedPointer>
9
10#include "dtkcore_global.h"
11
12DCORE_BEGIN_NAMESPACE
13
14class DSettings;
15class LIBDTKCORESHARED_EXPORT DSettingsBackend : public QObject
16{
17 Q_OBJECT
18public:
19 explicit DSettingsBackend(QObject *parent = Q_NULLPTR): QObject(parent)
20 {
21 connect(this, &DSettingsBackend::sync, this, &DSettingsBackend::doSync, Qt::QueuedConnection);
22 connect(this, &DSettingsBackend::setOption, this, &DSettingsBackend::doSetOption, Qt::QueuedConnection);
23 }
24 virtual ~DSettingsBackend() {}
25
26 virtual QStringList keys() const = 0;
27 virtual QVariant getOption(const QString &key) const = 0;
28
29 virtual void doSync() = 0;
30
31protected:
32 virtual void doSetOption(const QString &key, const QVariant &value) = 0;
33
34Q_SIGNALS:
35 void optionChanged(const QString &key, const QVariant &value);
36
37 // private signals;
38Q_SIGNALS:
39 void sync();
40 void setOption(const QString &key, const QVariant &value);
41};
42
43DCORE_END_NAMESPACE
DSettingsBackend是一个配置存储类的接口
Definition dsettingsbackend.h:16
virtual void doSetOption(const QString &key, const QVariant &value)=0
设置key对应的值,并使用存储后端进行存储。
DSettingsBackend(QObject *parent=Q_NULLPTR)
DSettingsBackend构造函数
Definition dsettingsbackend.h:19
virtual void doSync()=0
开始进行同步
void optionChanged(const QString &key, const QVariant &value)
DSettingsOption的值发生变化时发出的信号。
void sync()
私有信号,请勿使用。
virtual QVariant getOption(const QString &key) const =0
获取 key 对应的值
void setOption(const QString &key, const QVariant &value)
私有信号,请勿使用。
virtual QStringList keys() const =0
返回全部键值