diff --git a/src/plugins/qmldesigner/designercore/include/bindingproperty.h b/src/plugins/qmldesigner/designercore/include/bindingproperty.h index 482534c9621..7d61cd512cb 100644 --- a/src/plugins/qmldesigner/designercore/include/bindingproperty.h +++ b/src/plugins/qmldesigner/designercore/include/bindingproperty.h @@ -56,6 +56,8 @@ public: bool isList() const; QList resolveToModelNodeList() const; + bool isAliasExport() const; + protected: BindingProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); }; diff --git a/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp b/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp index 6f705b1097a..a9e4194c965 100644 --- a/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp @@ -197,6 +197,18 @@ QList BindingProperty::resolveToModelNodeList() const return returnList; } +bool BindingProperty::isAliasExport() const +{ + if (!isValid()) + throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); + + return parentModelNode() == parentModelNode().view()->rootModelNode() + && isDynamic() + && dynamicTypeName() == "alias" + && name() == expression() + && parentModelNode().view()->modelNodeForId(expression()).isValid(); +} + void BindingProperty::setDynamicTypeNameAndExpression(const TypeName &typeName, const QString &expression) { Internal::WriteLocker locker(model());