summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2011-06-28 13:24:18 +0200
committerMarco Bubke <marco.bubke@nokia.com>2011-06-28 13:36:48 +0200
commit08e4b339f174fb97776c6efa195190ae767f8bcf (patch)
tree5cb6dec5e3d8b3cddc47248b260f9b459d4bbdf0 /src
parent5d87d4c49bb2ffd06f088658a024c378995818bd (diff)
downloadqt-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.cpp15
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);
}