diff --git a/src/plugins/qmldesigner/components/componentcore/designericons.cpp b/src/plugins/qmldesigner/components/componentcore/designericons.cpp index ce604d6d8cd..2b3ce750848 100644 --- a/src/plugins/qmldesigner/components/componentcore/designericons.cpp +++ b/src/plugins/qmldesigner/components/componentcore/designericons.cpp @@ -79,21 +79,6 @@ EType DesignerIconEnums::value(const QString &keyStr, bool *ok) return static_cast(metaEnum.keyToValue(keyStr.toLatin1(), ok)); } -Q_GLOBAL_STATIC(QStringList, _iconFontMandatoryKeys); - -const QStringList & iconFontMandatoryKeys() -{ - if (_iconFontMandatoryKeys->isEmpty()) { - *_iconFontMandatoryKeys - << DesignerIconEnums::keyName - << DesignerIconEnums::keyName - << DesignerIconEnums::keyName - << DesignerIconEnums::keyName - << "size"; - } - return *_iconFontMandatoryKeys; -} - QJsonObject mergeJsons(const QJsonObject &prior, const QJsonObject &joiner) { QJsonObject object = prior; @@ -237,8 +222,17 @@ struct JsonMap> static QJsonObject json(const QMap &map) { QJsonObject output; + +#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) for (const auto &[key, val] : map.asKeyValueRange()) output[DesignerIconEnums::toString(key)] = JsonMap::json(val); +#else + const auto mapKeys = map.keys(); + for (const Key &key : mapKeys) { + const Value &val = map.value(key); + output[DesignerIconEnums::toString(key)] = JsonMap::json(val); + } +#endif return output; } diff --git a/src/plugins/qmldesigner/components/componentcore/designericons.h b/src/plugins/qmldesigner/components/componentcore/designericons.h index 342016b77c1..425ac901211 100644 --- a/src/plugins/qmldesigner/components/componentcore/designericons.h +++ b/src/plugins/qmldesigner/components/componentcore/designericons.h @@ -24,14 +24,14 @@ public: QIcon::Mode mode = QIcon::Normal, QIcon::State state = QIcon::Off); + IconFontHelper(); + static IconFontHelper fromJson(const QJsonObject &jsonObject); QJsonObject toJson() const; Theme::Icon themeIcon() const; Theme::Color themeColor() const; private: - IconFontHelper(); - Theme::Icon mThemeIcon; Theme::Color mThemeColor; };