QtCanpool 3.3.0
载入中...
搜索中...
未找到
qxsettings.h
浏览该文件的文档.
1
5#ifndef QXSETTINGS_H
6#define QXSETTINGS_H
7
8#include "qxcore_global.h"
9
10#include <QtCore/QObject>
11#include <QtCore/QSettings>
12#include <QtCore/QString>
13#include <QtCore/QStringList>
14#include <QtCore/QVariant>
15
16#include <functional>
17
19
20class QxSettingsPrivate;
21
31class QX_CORE_EXPORT QxSettings : public QObject
32{
33 Q_OBJECT
34public:
36 using Migration = std::function<void(QxSettings &settings)>;
37
42 explicit QxSettings(const QString &organization, const QString &application = QString(), QObject *parent = nullptr);
44 explicit QxSettings(const QString &fileName, QSettings::Format format, QObject *parent = nullptr);
45 ~QxSettings() override;
46
48 QSettings *settings() const;
50 QString fileName() const;
51
52 // Group -----------------------------------------------------------------
53 void beginGroup(const QString &prefix);
54 void endGroup();
55 QString group() const;
56
57 // Read ------------------------------------------------------------------
58 bool contains(const QString &key) const;
59 QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const;
60 QString stringValue(const QString &key, const QString &defaultValue = QString()) const;
61 int intValue(const QString &key, int defaultValue = 0) const;
62 bool boolValue(const QString &key, bool defaultValue = false) const;
63 QStringList stringListValue(const QString &key, const QStringList &defaultValue = QStringList()) const;
64 QStringList allKeys() const;
65
66 // Write -----------------------------------------------------------------
67 void setValue(const QString &key, const QVariant &value);
68 void remove(const QString &key);
69 void clear();
70 void sync();
71
72 // Migration -------------------------------------------------------------
74 void setVersionKey(const QString &key);
75 QString versionKey() const;
76 int version() const;
77 void setVersion(int version);
78
84 void addMigration(int version, Migration migration);
85
92 int migrate(int targetVersion);
93
94Q_SIGNALS:
99 void valueChanged(const QString &key, const QVariant &value);
100private:
101 Q_DISABLE_COPY(QxSettings)
103};
104
106
107#endif // QXSETTINGS_H
Thin wrapper around QSettings that keeps call sites free of the usual boilerplate: typed accessors wi...
Definition qxsettings.h:32
void valueChanged(const QString &key, const QVariant &value)
Emitted whenever a value is written or removed.
std::function< void(QxSettings &settings)> Migration
A migration step that upgrades the stored layout to a target version.
Definition qxsettings.h:36
#define QX_DECLARE_PRIVATE(Class)
#define QX_CORE_EXPORT
#define QX_CORE_BEGIN_NAMESPACE
#define QX_CORE_END_NAMESPACE
const char * fileName
Definition qxtheme.cpp:26