diff --git a/src/plugins/qmldesigner/designercore/include/qmlchangeset.h b/src/plugins/qmldesigner/designercore/include/qmlchangeset.h index 25db8b51fe1e07670f20ab359625de2b5c39d997..417a75d805a62c6d38e9079ace62600af8c3d426 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 852b77f04551ae79465dddaccc9957bce41ee41d..b4a052b4008de1b2a557d95a7dcdf12aad9956dc 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("<cpp>.QDeclarative1StateOperation", -1, -1) - || modelNode().metaInfo().isSubclassOf("<cpp>.QQuickStateOperation", -1, -1)); + return isValidQmlModelStateOperation(modelNode()); +} + +bool QmlModelStateOperation::isValidQmlModelStateOperation(const ModelNode &modelNode) +{ + return isValidQmlModelNodeFacade(modelNode) + && (modelNode.metaInfo().isSubclassOf("<cpp>.QDeclarative1StateOperation", -1, -1) + || modelNode.metaInfo().isSubclassOf("<cpp>.QQuickStateOperation", -1, -1)); } void QmlPropertyChanges::removeProperty(const PropertyName &name)