summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/documentmanager.cpp45
1 files changed, 30 insertions, 15 deletions
diff --git a/src/plugins/qmldesigner/documentmanager.cpp b/src/plugins/qmldesigner/documentmanager.cpp
index 9aa0e9ddb0..cafe064a1b 100644
--- a/src/plugins/qmldesigner/documentmanager.cpp
+++ b/src/plugins/qmldesigner/documentmanager.cpp
@@ -118,10 +118,33 @@ static inline void openFileForComponent(const ModelNode &node)
//rootModelNode.setAuxiliaryData("height", height);
}
-static inline void openInlineComponent(const ModelNode &node)
+
+static void handleComponent(const ModelNode &modelNode)
{
+ if (modelNode.nodeSourceType() == ModelNode::NodeWithComponentSource)
+ currentDesignDocument()->changeToSubComponent(modelNode);
+}
- if (!node.isValid() || !node.metaInfo().isValid())
+static void handleDelegate(const ModelNode &modelNode)
+{
+ if (modelNode.metaInfo().isView()
+ && modelNode.hasNodeProperty("delegate")
+ && modelNode.nodeProperty("delegate").modelNode().nodeSourceType() == ModelNode::NodeWithComponentSource)
+ currentDesignDocument()->changeToSubComponent(modelNode.nodeProperty("delegate").modelNode());
+}
+
+static void handleTabComponent(const ModelNode &modelNode)
+{
+ if (modelNode.hasNodeProperty("component")
+ && modelNode.nodeProperty("component").modelNode().nodeSourceType() == ModelNode::NodeWithComponentSource) {
+ currentDesignDocument()->changeToSubComponent(modelNode.nodeProperty("component").modelNode());
+ }
+}
+
+static inline void openInlineComponent(const ModelNode &modelNode)
+{
+
+ if (!modelNode.isValid() || !modelNode.metaInfo().isValid())
return;
if (!currentDesignDocument())
@@ -129,22 +152,14 @@ static inline void openInlineComponent(const ModelNode &node)
QHash<PropertyName, QVariant> propertyHash;
- if (node.nodeSourceType() == ModelNode::NodeWithComponentSource) {
- //getWidthHeight(node, width, height);
- getProperties(node, propertyHash);
- currentDesignDocument()->changeToSubComponent(node);
- } else if (node.metaInfo().isView()
- && node.hasNodeProperty("delegate")
- && node.nodeProperty("delegate").modelNode().nodeSourceType() == ModelNode::NodeWithComponentSource) {
- //getWidthHeight(node, width, height);
- getProperties(node, propertyHash);
- currentDesignDocument()->changeToSubComponent(node.nodeProperty("delegate").modelNode());
- }
+ getProperties(modelNode, propertyHash);
+
+ handleComponent(modelNode);
+ handleDelegate(modelNode);
+ handleTabComponent(modelNode);
ModelNode rootModelNode = currentDesignDocument()->rewriterView()->rootModelNode();
applyProperties(rootModelNode, propertyHash);
- //rootModelNode.setAuxiliaryData("width", width);
- //rootModelNode.setAuxiliaryData("height", height);
}
static inline bool isFileComponent(const ModelNode &node)