summaryrefslogtreecommitdiffstats
path: root/src/interfaceframework/qifconfiguration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaceframework/qifconfiguration.cpp')
-rw-r--r--src/interfaceframework/qifconfiguration.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/interfaceframework/qifconfiguration.cpp b/src/interfaceframework/qifconfiguration.cpp
index 19ddf989..8b0b09c0 100644
--- a/src/interfaceframework/qifconfiguration.cpp
+++ b/src/interfaceframework/qifconfiguration.cpp
@@ -41,8 +41,9 @@ QIfConfigurationManager *QIfConfigurationManager::instance()
QIfAbstractFeature::DiscoveryMode discoveryModeFromString(const QString &modeString)
{
QMetaEnum me = QMetaEnum::fromType<QIfAbstractFeature::DiscoveryMode>();
+ QByteArray modeStringUtf8 = modeString.toUtf8();
bool ok = false;
- int value = me.keyToValue(modeString.toUtf8().constData(), &ok);
+ int value = me.keyToValue(modeStringUtf8, &ok);
if (ok) {
return static_cast<QIfAbstractFeature::DiscoveryMode>(value);
} else {
@@ -63,9 +64,11 @@ QVariantMap QIfConfigurationManager::readGroup(QSettings *settings, QAnyStringVi
{
QVariantMap map;
settings->beginGroup(group);
- for (const QString& key : settings->childKeys())
+ const auto keys = settings->childKeys();
+ const auto groups = settings->childGroups();
+ for (const QString& key : keys)
map.insert(key, settings->value(key));
- for (const QString& group : settings->childGroups())
+ for (const QString& group : groups)
map.insert(group, readGroup(settings, group));
settings->endGroup();
return map;
@@ -77,7 +80,8 @@ void QIfConfigurationManager::readInitialSettings(const QString &configPath)
QSettings settings(configPath, QSettings::IniFormat);
- for (const QString& group : settings.childGroups()) {
+ const auto groups = settings.childGroups();
+ for (const QString& group : groups) {
auto settingsObject = new QIfSettingsObject;
settings.beginGroup(group);
@@ -318,7 +322,7 @@ bool QIfConfigurationManager::setServiceObject(QIfSettingsObject *so, QIfService
return true;
}
-void QIfConfigurationManager::parseEnv(const QByteArray &rulesSrc, std::function<void(const QString &, const QString &)> func)
+void QIfConfigurationManager::parseEnv(const QByteArray &rulesSrc, const std::function<void(const QString &, const QString &)> &func)
{
const QString content = QString::fromLocal8Bit(rulesSrc);
const auto lines = content.split(QLatin1Char(';'));