aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/listmodeleditor/listmodeleditormodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/listmodeleditor/listmodeleditormodel.cpp')
-rw-r--r--src/plugins/qmldesigner/components/listmodeleditor/listmodeleditormodel.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/plugins/qmldesigner/components/listmodeleditor/listmodeleditormodel.cpp b/src/plugins/qmldesigner/components/listmodeleditor/listmodeleditormodel.cpp
index b73a53f76c..c63b087389 100644
--- a/src/plugins/qmldesigner/components/listmodeleditor/listmodeleditormodel.cpp
+++ b/src/plugins/qmldesigner/components/listmodeleditor/listmodeleditormodel.cpp
@@ -199,13 +199,15 @@ void renameProperties(const QStandardItemModel *model,
}
ModelNode listModelNode(const ModelNode &listViewNode,
- const std::function<ModelNode()> &createModelCallback)
+ const std::function<ModelNode()> &createModelCallback,
+ const std::function<ModelNode(const ModelNode &)> &goIntoComponentCallback)
{
if (listViewNode.hasProperty("model")) {
- if (listViewNode.hasBindingProperty("model"))
- return listViewNode.bindingProperty("model").resolveToModelNode();
- else if (listViewNode.hasNodeProperty("model"))
- return listViewNode.nodeProperty("model").modelNode();
+ if (listViewNode.hasBindingProperty("model")) {
+ return goIntoComponentCallback(listViewNode.bindingProperty("model").resolveToModelNode());
+ } else if (listViewNode.hasNodeProperty("model")) {
+ return goIntoComponentCallback(listViewNode.nodeProperty("model").modelNode());
+ }
}
ModelNode newModel = createModelCallback();
@@ -251,7 +253,7 @@ void ListModelEditorModel::setListModel(ModelNode node)
void ListModelEditorModel::setListView(ModelNode listView)
{
- setListModel(listModelNode(listView, m_createModelCallback));
+ setListModel(listModelNode(listView, m_createModelCallback, m_goIntoComponentCallback));
}
void ListModelEditorModel::addRow()