From f673d3d0b02722e90b7a43378bbeb765719b67dc Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 9 Jan 2023 15:54:15 +0200 Subject: [PATCH] QmlDesigner: Update child nodes in navigator when lock state changes Child nodes of a locked node should also appear locked, so they need to be updated whenever locked state changes on a ancestor node. Fixes: QDS-8732 Change-Id: I5675e129fb60c5ad8c0fdbc7e0a0a7fef410747a Reviewed-by: Mahmoud Badri --- .../qmldesigner/components/navigator/navigatorview.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp index 9a8aa127721..73ef6a32d47 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp @@ -403,6 +403,13 @@ void NavigatorView::auxiliaryDataChanged(const ModelNode &modelNode, [[maybe_unused]] const QVariant &data) { m_currentModelInterface->notifyDataChanged(modelNode); + + if (key == lockedProperty) { + // Also notify data changed on child nodes to redraw them + const QList childNodes = modelNode.allSubModelNodes(); + for (const auto &childNode : childNodes) + m_currentModelInterface->notifyDataChanged(childNode); + } } void NavigatorView::instanceErrorChanged(const QVector &errorNodeList)