25 #include "ini/settingsprovider.h"
26 #include "ini/settingsproviderqt.h"
28 #include "strings.hpp"
31 #include <QRegularExpression>
43 d->provider = provider;
61 for (
const QString &key : d->provider->allKeys())
63 if (key.startsWith(sectionName +
"/", Qt::CaseInsensitive))
70 removeKey(sectionName +
"/" + settingName);
73 bool Ini::hasSetting(
const QString §ionname,
const QString &settingname)
const
75 return d->provider->hasKey(sectionname +
"/" + settingname);
78 void Ini::removeKey(
const QString &key)
80 d->provider->remove(key);
102 QVector<IniSection> sectionsReferencesArray;
104 QRegularExpression regExp(regexPattern, QRegularExpression::CaseInsensitiveOption);
106 QStringList groups = d->provider->allSections();
108 for (
const QString &key : groups)
110 if (key.contains(regExp))
111 sectionsReferencesArray <<
IniSection(
this, key);
114 return sectionsReferencesArray;
119 if (sectionName.isEmpty() || variableName.isEmpty())
129 void Ini::setValue(
const QString &key,
const QVariant &value)
131 assert(d->provider !=
nullptr);
133 d->provider->setValue(key, value);
136 QVariant Ini::value(
const QString &key)
const
138 assert(d->provider !=
nullptr);
140 return d->provider->value(key);