aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/settingsaccessor.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-08-23 18:18:46 +0200
committerhjk <hjk@qt.io>2023-08-24 08:51:00 +0000
commit621a2850d0ff084c5ebb119aae4fc96f6224b2ef (patch)
tree58e56f9071f69efa1a1ea84ec1d194baf2c9dbc9 /src/libs/utils/settingsaccessor.cpp
parent0490266723ac0424d1b44c907797038b2f6881e8 (diff)
Utils etc: More use of Key and Store
Change-Id: Idd2d70617f775d783aee93a2fe82544ad335a739 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Diffstat (limited to 'src/libs/utils/settingsaccessor.cpp')
-rw-r--r--src/libs/utils/settingsaccessor.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/libs/utils/settingsaccessor.cpp b/src/libs/utils/settingsaccessor.cpp
index 09ea90033f..06dd1354c3 100644
--- a/src/libs/utils/settingsaccessor.cpp
+++ b/src/libs/utils/settingsaccessor.cpp
@@ -388,7 +388,7 @@ Store VersionUpgrader::renameKeys(const QList<Change> &changes, Store map) const
while (i != map.end()) {
QVariant v = i.value();
if (v.type() == QVariant::Map)
- i.value() = renameKeys(changes, v.value<Store>());
+ i.value() = QVariant::fromValue(renameKeys(changes, v.value<Store>()));
++i;
}
@@ -648,7 +648,7 @@ MergingSettingsAccessor::mergeSettings(const SettingsAccessor::RestoreData &main
/*!
* Returns true for housekeeping related keys.
*/
-bool MergingSettingsAccessor::isHouseKeepingKey(const QString &key)
+bool MergingSettingsAccessor::isHouseKeepingKey(const Key &key)
{
return key == VERSION_KEY || key == ORIGINAL_VERSION_KEY || key == SETTINGS_ID_KEY;
}
@@ -697,7 +697,7 @@ void setSettingsIdInMap(Store &data, const QByteArray &id)
}
static QVariant mergeQVariantMapsRecursion(const Store &mainTree, const Store &secondaryTree,
- const QString &keyPrefix,
+ const Key &keyPrefix,
const Store &mainSubtree, const Store &secondarySubtree,
const SettingsMergeFunction &merge)
{
@@ -718,10 +718,11 @@ static QVariant mergeQVariantMapsRecursion(const Store &mainTree, const Store &s
QPair<Key, QVariant> kv = mergeResult.value();
if (kv.second.type() == QVariant::Map) {
- const QString newKeyPrefix = keyPrefix + kv.first + '/';
+ const Key newKeyPrefix = keyPrefix + kv.first + '/';
kv.second = mergeQVariantMapsRecursion(mainTree, secondaryTree, newKeyPrefix,
- kv.second.toMap(), secondarySubtree.value(kv.first)
- .toMap(), merge);
+ kv.second.value<Store>(),
+ secondarySubtree.value(kv.first).value<Store>(),
+ merge);
}
if (!kv.second.isNull())
result.insert(kv.first, kv.second);
@@ -733,7 +734,7 @@ static QVariant mergeQVariantMapsRecursion(const Store &mainTree, const Store &s
QVariant mergeQVariantMaps(const Store &mainTree, const Store &secondaryTree,
const SettingsMergeFunction &merge)
{
- return mergeQVariantMapsRecursion(mainTree, secondaryTree, QString(),
+ return mergeQVariantMapsRecursion(mainTree, secondaryTree, Key(),
mainTree, secondaryTree, merge);
}