Utils: Introduce variantFromStore and storeFromVariant

These are functional replacements for
  QVariant::fromValue(QVariantMap) (or QVariant::fromValue(Store)) and
  QVariant::toMap() (or QVariant::toValue<Store>())

We will have a few code paths in the end that need to explicitly
operarate on both QVariantMap and Store (e.g. actual reading/writing
to keep format compatibility etc), so these can't in the end be
simple to/fromValue(OneType) but need an internal 'if' or such.

Change-Id: I954f3cb24fa8fe123162b72bbd25d891dd19b768
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
hjk
2023-08-28 10:55:31 +02:00
parent bb59dfd636
commit 23149b27ab
39 changed files with 149 additions and 136 deletions

View File

@@ -224,7 +224,7 @@ void ToolChainSettingsAccessor::saveToolChains(const Toolchains &toolchains, QWi
tc->toMap(tmp);
if (tmp.isEmpty())
continue;
data.insert(TOOLCHAIN_DATA_KEY + Key::number(count), QVariant::fromValue(tmp));
data.insert(TOOLCHAIN_DATA_KEY + Key::number(count), variantFromStore(tmp));
++count;
}
data.insert(TOOLCHAIN_COUNT_KEY, count);
@@ -245,7 +245,7 @@ Toolchains ToolChainSettingsAccessor::toolChains(const Store &data) const
if (!data.contains(key))
break;
const Store tcMap = data.value(key).value<Store>();
const Store tcMap = storeFromVariant(data.value(key));
bool restored = false;
const Utils::Id tcType = ToolChainFactory::typeIdFromMap(tcMap);