diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp index 70686f31ae9..fbceb5dfea3 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp @@ -143,7 +143,7 @@ void PropertyEditorValue::setValue(const QVariant &value) QString PropertyEditorValue::enumeration() const { - return m_value.value().nameToString(); + return m_value.value().nameToString().split('.').last(); } QString PropertyEditorValue::expression() const diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 1c1aba5feb9..b66270dca12 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -94,21 +94,23 @@ bool isGlobalQtEnums(QStringView value) bool isKnownEnumScopes(QStringView value) { - static constexpr auto list = Utils::to_array({u"TextInput", - u"TextEdit", - u"Material", - u"Universal", - u"Font", - u"Shape", - u"ShapePath", - u"AbstractButton", - u"Text", - u"ShaderEffectSource", - u"Grid", - u"ItemLayer", - u"ImageLayer", - u"SpriteLayer", - u"Light"}); + static constexpr auto list = Utils::to_array( + {u"TextInput", + u"TextEdit", + u"Material", + u"Universal", + u"Font", + u"Shape", + u"ShapePath", + u"AbstractButton", + u"Text", + u"ShaderEffectSource", + u"Grid", + u"ItemLayer", + u"ImageLayer", + u"SpriteLayer", + u"Light", + u"ExtendedSceneEnvironment.GlowBlendMode"}); return std::find(std::begin(list), std::end(list), QmlDesigner::ModelUtils::toStdStringView(value)) != std::end(list); @@ -559,6 +561,11 @@ public: //Check for known enum scopes used globally if (isKnownEnumScopes(astValueList.constFirst())) return QVariant::fromValue(Enumeration(astValue)); + } else if (astValueList.size() == 3) { + QString enumName = astValueList.constFirst() + '.' + astValueList.at(1); + if (isKnownEnumScopes(enumName)) + return QVariant::fromValue( + Enumeration(enumName.toUtf8(), astValueList.constLast().toUtf8())); } auto eStmt = AST::cast(rhs);