forked from qt-creator/qt-creator
AssetImporter: Fix design system bindings for newly created types
Change-Id: I576db008bc309ee5715cc2247f9f3f06d81c0818 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
committed by
Thomas Hartmann
parent
49d1c12277
commit
fa8b156795
@@ -1432,6 +1432,9 @@ QmlDesigner::PropertyName TextToModelMerger::syncScriptBinding(ModelNode &modelN
|
|||||||
prefix,
|
prefix,
|
||||||
script->qualifiedId,
|
script->qualifiedId,
|
||||||
astValue);
|
astValue);
|
||||||
|
// Can happen if the type was just created and was not fully processed yet
|
||||||
|
const bool newlyCreatedTypeCase = !modelNode.metaInfo().properties().size();
|
||||||
|
|
||||||
if (enumValue.isValid()) { // It is a qualified enum:
|
if (enumValue.isValid()) { // It is a qualified enum:
|
||||||
AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8());
|
AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8());
|
||||||
syncVariantProperty(modelProperty, enumValue, TypeName(), differenceHandler); // TODO: parse type
|
syncVariantProperty(modelProperty, enumValue, TypeName(), differenceHandler); // TODO: parse type
|
||||||
@@ -1439,7 +1442,8 @@ QmlDesigner::PropertyName TextToModelMerger::syncScriptBinding(ModelNode &modelN
|
|||||||
} else { // Not an enum, so:
|
} else { // Not an enum, so:
|
||||||
if (isPropertyChangesType(modelNode.type()) || isConnectionsType(modelNode.type())
|
if (isPropertyChangesType(modelNode.type()) || isConnectionsType(modelNode.type())
|
||||||
|| isSupportedAttachedProperties(astPropertyName)
|
|| isSupportedAttachedProperties(astPropertyName)
|
||||||
|| modelNode.metaInfo().hasProperty(astPropertyName.toUtf8())) {
|
|| modelNode.metaInfo().hasProperty(astPropertyName.toUtf8())
|
||||||
|
|| newlyCreatedTypeCase) {
|
||||||
AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8());
|
AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8());
|
||||||
syncExpressionProperty(modelProperty, astValue, TypeName(), differenceHandler); // TODO: parse type
|
syncExpressionProperty(modelProperty, astValue, TypeName(), differenceHandler); // TODO: parse type
|
||||||
return astPropertyName.toUtf8();
|
return astPropertyName.toUtf8();
|
||||||
|
Reference in New Issue
Block a user