chore: ensure the setting is saved as string

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2025-06-02 09:29:37 +03:00
parent 492769aea6
commit ca54971499
No known key found for this signature in database
GPG key ID: 55EF5DA53DB36318
5 changed files with 36 additions and 5 deletions

View file

@ -279,4 +279,29 @@ QJsonValue requireIsType<QJsonValue>(const QJsonValue& value, const QString& wha
return value;
}
QStringList toStringList(const QString& jsonString)
{
QJsonParseError parseError;
QJsonDocument doc = QJsonDocument::fromJson(jsonString.toUtf8(), &parseError);
if (parseError.error != QJsonParseError::NoError || !doc.isArray())
return {};
try {
return ensureIsArrayOf<QString>(doc.array(), "");
} catch (Json::JsonException& e) {
return {};
}
}
QString fromStringList(const QStringList& list)
{
QJsonArray array;
for (const QString& str : list) {
array.append(str);
}
QJsonDocument doc(toJsonArray(list));
return QString::fromUtf8(doc.toJson(QJsonDocument::Compact));
}
} // namespace Json