You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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());
}