mirror of
https://git.outfoxxed.me/quickshell/quickshell.git
synced 2026-04-10 06:11:54 +10:00
io/fileview: try to convert values to json before handling sequences
The previous code was interpreting a string as a list of characters and therefore a sequence.
This commit is contained in:
parent
854088c48c
commit
9b98d10178
1 changed files with 11 additions and 5 deletions
|
|
@ -136,13 +136,19 @@ QJsonObject JsonAdapter::serializeRec(const QObject* obj, const QMetaObject* bas
|
||||||
} else {
|
} else {
|
||||||
if (val.canConvert<QJSValue>()) val = val.value<QJSValue>().toVariant();
|
if (val.canConvert<QJSValue>()) val = val.value<QJSValue>().toVariant();
|
||||||
|
|
||||||
if (val.canConvert<QAssociativeIterable>()) {
|
auto jsonVal = QJsonValue::fromVariant(val);
|
||||||
val.convert(QMetaType::fromType<QVariantMap>());
|
|
||||||
} else if (val.canConvert<QSequentialIterable>()) {
|
if (jsonVal.isNull() && !val.isNull() && val.isValid()) {
|
||||||
val.convert(QMetaType::fromType<QVariantList>());
|
if (val.canConvert<QAssociativeIterable>()) {
|
||||||
|
val.convert(QMetaType::fromType<QVariantMap>());
|
||||||
|
} else if (val.canConvert<QSequentialIterable>()) {
|
||||||
|
val.convert(QMetaType::fromType<QVariantList>());
|
||||||
|
}
|
||||||
|
|
||||||
|
jsonVal = QJsonValue::fromVariant(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
json.insert(prop.name(), QJsonValue::fromVariant(val));
|
json.insert(prop.name(), jsonVal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue