diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-06-28 13:24:18 +0200 |
---|---|---|
committer | Marco Bubke <marco.bubke@nokia.com> | 2011-06-28 13:36:48 +0200 |
commit | 08e4b339f174fb97776c6efa195190ae767f8bcf (patch) | |
tree | 5cb6dec5e3d8b3cddc47248b260f9b459d4bbdf0 /src | |
parent | 5d87d4c49bb2ffd06f088658a024c378995818bd (diff) | |
download | qt-creator-08e4b339f174fb97776c6efa195190ae767f8bcf.tar.gz |
QmlDesigner.instances: allow fallback to item
If we know from the (text editor) meta system that an object is an
(visible) item, we always create an item as fallback.
We might not be able to instaciate the original item.
Change-Id: I6851cd7a8de68d9d09b789927c204f0617017de7
Reviewed-on: http://codereview.qt.nokia.com/829
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marco Bubke <marco.bubke@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index eeb8073421..8417c36891 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -766,13 +766,19 @@ CreateSceneCommand NodeInstanceView::createCreateSceneCommand() QVector<InstanceContainer> instanceContainerList; foreach(const NodeInstance &instance, instanceList) { InstanceContainer::NodeSourceType nodeSourceType = static_cast<InstanceContainer::NodeSourceType>(instance.modelNode().nodeSourceType()); + + InstanceContainer::NodeMetaType nodeMetaType = nodeMetaType = InstanceContainer::ObjectMetaType; + if (instance.modelNode().metaInfo().isSubclassOf("QtQuick.Item", -1, -1)) + nodeMetaType = InstanceContainer::ItemMetaType; + InstanceContainer container(instance.instanceId(), instance.modelNode().type(), instance.modelNode().majorVersion(), instance.modelNode().minorVersion(), instance.modelNode().metaInfo().componentFileName(), instance.modelNode().nodeSource(), - nodeSourceType + nodeSourceType, + nodeMetaType ); instanceContainerList.append(container); @@ -862,8 +868,13 @@ CreateInstancesCommand NodeInstanceView::createCreateInstancesCommand(const QLis QVector<InstanceContainer> containerList; foreach(const NodeInstance &instance, instanceList) { InstanceContainer::NodeSourceType nodeSourceType = static_cast<InstanceContainer::NodeSourceType>(instance.modelNode().nodeSourceType()); + + InstanceContainer::NodeMetaType nodeMetaType = nodeMetaType = InstanceContainer::ObjectMetaType; + if (instance.modelNode().metaInfo().isSubclassOf("QtQuick.Item", -1, -1)) + nodeMetaType = InstanceContainer::ItemMetaType; + InstanceContainer container(instance.instanceId(), instance.modelNode().type(), instance.modelNode().majorVersion(), instance.modelNode().minorVersion(), - instance.modelNode().metaInfo().componentFileName(), instance.modelNode().nodeSource(), nodeSourceType); + instance.modelNode().metaInfo().componentFileName(), instance.modelNode().nodeSource(), nodeSourceType, nodeMetaType); containerList.append(container); } |