43 lines
928 B
C++
43 lines
928 B
C++
|
#include "qw_globalmetadata.h"
|
||
|
#include <QString>
|
||
|
#include <QJsonObject>
|
||
|
#include <QJsonDocument>
|
||
|
#include <QFile>
|
||
|
#include <QDir>
|
||
|
|
||
|
QJsonObject QWGlobalMetadata::config = QJsonObject();
|
||
|
|
||
|
void QWGlobalMetadata::load()
|
||
|
{
|
||
|
QFile file("config.json");
|
||
|
|
||
|
if (!file.exists())
|
||
|
QFile::copy(":/res/config.json", file.fileName());
|
||
|
|
||
|
Q_ASSERT(file.open(QIODevice::ReadOnly));
|
||
|
const QByteArray json_arr = file.readAll();
|
||
|
file.close();
|
||
|
config = QJsonDocument::fromJson(json_arr).object();
|
||
|
}
|
||
|
|
||
|
void QWGlobalMetadata::save()
|
||
|
{
|
||
|
QFile file("config.json");
|
||
|
|
||
|
Q_ASSERT(file.open(QIODevice::WriteOnly));
|
||
|
file.write(QJsonDocument(config).toJson());
|
||
|
file.close();
|
||
|
}
|
||
|
|
||
|
////////////////////////
|
||
|
|
||
|
QVariant QWGlobalMetadata::valueBy(QString &&key)
|
||
|
{
|
||
|
return config[key].toVariant();
|
||
|
}
|
||
|
|
||
|
void QWGlobalMetadata::setValue(QString &&key, const QVariant &val) noexcept
|
||
|
{
|
||
|
config.insert(key, val.toJsonValue());
|
||
|
}
|