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

@@ -767,7 +767,7 @@ void DebuggerItemModel::readDebuggers(const FilePath &fileName, bool isSystem)
const Key key = DEBUGGER_DATA_KEY + Key::number(i);
if (!data.contains(key))
continue;
const Store dbMap = data.value(key).value<Store>();
const Store dbMap = storeFromVariant(data.value(key));
DebuggerItem item(dbMap);
if (isSystem) {
item.setAutoDetected(true);
@@ -821,7 +821,7 @@ void DebuggerItemModel::saveDebuggers()
if (item.isValid() && item.engineType() != NoEngineType) {
Store tmp = item.toMap();
if (!tmp.isEmpty()) {
data.insert(DEBUGGER_DATA_KEY + Key::number(count), QVariant::fromValue(tmp));
data.insert(DEBUGGER_DATA_KEY + Key::number(count), variantFromStore(tmp));
++count;
}
}