mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-13 17:44:48 -07:00
Give settings managers default groups instead of manually specifying them everywhere. (#6273)
* Give settings managers default groups instead of manually specifying them everywhere. Took 1 hour 2 minutes Took 41 seconds Took 32 seconds Took 5 minutes * Fix dbconverter mock. Took 2 minutes --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
5df00de246
commit
f62e29f5d5
13 changed files with 161 additions and 83 deletions
|
|
@ -1,10 +1,35 @@
|
|||
#include "settings_manager.h"
|
||||
|
||||
SettingsManager::SettingsManager(const QString &settingPath, QObject *parent)
|
||||
: QObject(parent), settings(settingPath, QSettings::IniFormat)
|
||||
SettingsManager::SettingsManager(const QString &settingPath,
|
||||
const QString &_defaultGroup,
|
||||
const QString &_defaultSubGroup,
|
||||
QObject *parent)
|
||||
: QObject(parent), settings(settingPath, QSettings::IniFormat), defaultGroup(_defaultGroup),
|
||||
defaultSubGroup(_defaultSubGroup)
|
||||
{
|
||||
}
|
||||
|
||||
void SettingsManager::setValue(const QVariant &value, const QString &name)
|
||||
{
|
||||
if (!defaultGroup.isEmpty()) {
|
||||
settings.beginGroup(defaultGroup);
|
||||
}
|
||||
|
||||
if (!defaultSubGroup.isEmpty()) {
|
||||
settings.beginGroup(defaultSubGroup);
|
||||
}
|
||||
|
||||
settings.setValue(name, value);
|
||||
|
||||
if (!defaultSubGroup.isEmpty()) {
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
if (!defaultGroup.isEmpty()) {
|
||||
settings.endGroup();
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsManager::setValue(const QVariant &value,
|
||||
const QString &name,
|
||||
const QString &group,
|
||||
|
|
@ -29,6 +54,27 @@ void SettingsManager::setValue(const QVariant &value,
|
|||
}
|
||||
}
|
||||
|
||||
void SettingsManager::deleteValue(const QString &name)
|
||||
{
|
||||
if (!defaultGroup.isEmpty()) {
|
||||
settings.beginGroup(defaultGroup);
|
||||
}
|
||||
|
||||
if (!defaultSubGroup.isEmpty()) {
|
||||
settings.beginGroup(defaultSubGroup);
|
||||
}
|
||||
|
||||
settings.remove(name);
|
||||
|
||||
if (!defaultSubGroup.isEmpty()) {
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
if (!defaultGroup.isEmpty()) {
|
||||
settings.endGroup();
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsManager::deleteValue(const QString &name, const QString &group, const QString &subGroup)
|
||||
{
|
||||
if (!group.isEmpty()) {
|
||||
|
|
@ -50,6 +96,29 @@ void SettingsManager::deleteValue(const QString &name, const QString &group, con
|
|||
}
|
||||
}
|
||||
|
||||
QVariant SettingsManager::getValue(const QString &name)
|
||||
{
|
||||
if (!defaultGroup.isEmpty()) {
|
||||
settings.beginGroup(defaultGroup);
|
||||
}
|
||||
|
||||
if (!defaultSubGroup.isEmpty()) {
|
||||
settings.beginGroup(defaultSubGroup);
|
||||
}
|
||||
|
||||
QVariant value = settings.value(name);
|
||||
|
||||
if (!defaultSubGroup.isEmpty()) {
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
if (!defaultGroup.isEmpty()) {
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
QVariant SettingsManager::getValue(const QString &name, const QString &group, const QString &subGroup)
|
||||
{
|
||||
if (!group.isEmpty()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue