From 03aa367276a8bb88ea2845e478ffb681504e95a4 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com> Date: Wed, 15 Jul 2015 17:28:18 +0200 Subject: [PATCH] QmlDesigner: Fix for the navigator If we update a subtree, because a node was moved or reparented, we have to expand this subtree. Change-Id: I7f8f004b649a695dddddde4dbec5af19c700d109 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com> --- .../components/navigator/navigatorview.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp index 0c0311f5ca..0e25eefee8 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp @@ -160,7 +160,7 @@ void NavigatorView::nodeAboutToBeRemoved(const ModelNode &removedNode) m_treeModel->removeSubTree(removedNode); } -void NavigatorView::nodeReparented(const ModelNode &node, const NodeAbstractProperty & /*newPropertyParent*/, const NodeAbstractProperty & /*oldPropertyParent*/, AbstractView::PropertyChangeFlags /*propertyChange*/) +void NavigatorView::nodeReparented(const ModelNode &node, const NodeAbstractProperty & newPropertyParent, const NodeAbstractProperty & /*oldPropertyParent*/, AbstractView::PropertyChangeFlags /*propertyChange*/) { bool blocked = blockSelectionChangedSignal(true); @@ -172,6 +172,11 @@ void NavigatorView::nodeReparented(const ModelNode &node, const NodeAbstractProp // make sure selection is in sync again updateItemSelection(); + if (newPropertyParent.parentModelNode().isValid()) { + QModelIndex index = m_treeModel->indexForNode(newPropertyParent.parentModelNode()); + treeWidget()->expand(index); + } + blockSelectionChangedSignal(blocked); } @@ -223,6 +228,10 @@ void NavigatorView::nodeOrderChanged(const NodeListProperty &listProperty, const if (node.isInHierarchy()) m_treeModel->addSubTree(listProperty.parentModelNode()); + if (listProperty.parentModelNode().isValid()) { + QModelIndex index = m_treeModel->indexForNode(listProperty.parentModelNode()); + treeWidget()->expand(index); + } } } -- GitLab