diff --git a/src/plugins/qmldesigner/designercore/include/qmlchangeset.h b/src/plugins/qmldesigner/designercore/include/qmlchangeset.h index 25db8b51fe1..417a75d805a 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlchangeset.h +++ b/src/plugins/qmldesigner/designercore/include/qmlchangeset.h @@ -44,6 +44,7 @@ public: ModelNode target() const; void setTarget(const ModelNode &target); bool isValid() const; + static bool isValidQmlModelStateOperation(const ModelNode &modelNode); }; diff --git a/src/plugins/qmldesigner/designercore/model/qmlchangeset.cpp b/src/plugins/qmldesigner/designercore/model/qmlchangeset.cpp index 852b77f0455..b4a052b4008 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlchangeset.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlchangeset.cpp @@ -60,9 +60,14 @@ bool QmlPropertyChanges::isValidQmlPropertyChanges(const ModelNode &modelNode) bool QmlModelStateOperation::isValid() const { - return QmlModelNodeFacade::isValid() && ( - modelNode().metaInfo().isSubclassOf(".QDeclarative1StateOperation", -1, -1) - || modelNode().metaInfo().isSubclassOf(".QQuickStateOperation", -1, -1)); + return isValidQmlModelStateOperation(modelNode()); +} + +bool QmlModelStateOperation::isValidQmlModelStateOperation(const ModelNode &modelNode) +{ + return isValidQmlModelNodeFacade(modelNode) + && (modelNode.metaInfo().isSubclassOf(".QDeclarative1StateOperation", -1, -1) + || modelNode.metaInfo().isSubclassOf(".QQuickStateOperation", -1, -1)); } void QmlPropertyChanges::removeProperty(const PropertyName &name)