2025-10-31 15:24:06 +01:00
|
|
|
#include "settingshandler.h"
|
|
|
|
|
|
|
|
|
|
#include <QSettings>
|
|
|
|
|
|
|
|
|
|
QVariantMap SettingsHandler::getSettings(QString group) {
|
|
|
|
|
QSettings settings;
|
|
|
|
|
QVariantMap result;
|
|
|
|
|
|
|
|
|
|
if (!group.isEmpty()) {
|
|
|
|
|
settings.beginGroup(group);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (QString key, settings.allKeys()) {
|
|
|
|
|
result.insert(key, settings.value(key));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!group.isEmpty()) {
|
|
|
|
|
settings.endGroup();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SettingsHandler::saveSettings(QVariantMap settingMap, QString group) {
|
|
|
|
|
qInfo() << "saving settings...";
|
|
|
|
|
|
|
|
|
|
QSettings settings;
|
|
|
|
|
if (!group.isEmpty()) {
|
|
|
|
|
settings.beginGroup(group);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (QString key, settingMap.keys()) {
|
|
|
|
|
// qDebug() << "saving:" << key << "-" << settingMap.value(key);
|
|
|
|
|
settings.setValue(key, settingMap.value(key));
|
|
|
|
|
}
|
|
|
|
|
if (!group.isEmpty()) {
|
|
|
|
|
settings.endGroup();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
settings.sync();
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-08 14:44:40 +02:00
|
|
|
void SettingsHandler::deleteSettings(QStringList keys, QString group) {
|
|
|
|
|
qInfo() << "deleting settings...";
|
|
|
|
|
|
|
|
|
|
QSettings settings;
|
|
|
|
|
if (!group.isEmpty()) {
|
|
|
|
|
qDebug() << "starting group:" << group;
|
|
|
|
|
settings.beginGroup(group);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (QString key, keys) {
|
|
|
|
|
qDebug() << "removing:" << key;
|
|
|
|
|
settings.remove(key);
|
|
|
|
|
}
|
|
|
|
|
if (!group.isEmpty()) {
|
|
|
|
|
settings.endGroup();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
settings.sync();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QVariantMap SettingsHandler::getChangeset(QVariantMap newSettings, QString group) {
|
|
|
|
|
const QVariantMap oldSettings = getSettings(group);
|
|
|
|
|
|
|
|
|
|
QVariantMap result;
|
|
|
|
|
|
|
|
|
|
for (QVariantMap::const_iterator iter = newSettings.begin(); iter != newSettings.end(); ++iter) {
|
|
|
|
|
qDebug() << iter.key() << iter.value();
|
|
|
|
|
QString key = iter.key();
|
|
|
|
|
QVariant newValue = iter.value();
|
|
|
|
|
QVariant oldValue = oldSettings.value(key);
|
|
|
|
|
|
|
|
|
|
if (oldValue == newValue) {
|
|
|
|
|
qInfo() << "oldValue == newValue -> ignoring...";
|
|
|
|
|
} else {
|
|
|
|
|
const QString debugString =
|
|
|
|
|
QString("oldValue != newValue -> adding '%1' to changeset...").arg(key);
|
|
|
|
|
qInfo() << debugString;
|
|
|
|
|
result.insert(key, newValue);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-31 15:24:06 +01:00
|
|
|
SettingsHandler::SettingsHandler() {}
|