From 1c983f6b8c59d5d2521780dd67c5ae168e7f406e Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Mon, 10 May 2021 10:52:34 +1000 Subject: [PATCH] nodeparamview: focus next best node when node is removed Fixes #1616 --- app/widget/nodeparamview/nodeparamview.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/widget/nodeparamview/nodeparamview.cpp b/app/widget/nodeparamview/nodeparamview.cpp index d3d07d72f..5bea49c09 100644 --- a/app/widget/nodeparamview/nodeparamview.cpp +++ b/app/widget/nodeparamview/nodeparamview.cpp @@ -342,8 +342,17 @@ void NodeParamView::RemoveNode(Node *n) delete items_.take(n); if (focused_node_ == n) { + // Try to find new node with gizmos to focus focused_node_ = nullptr; - emit FocusedNodeChanged(nullptr); + for (auto it=items_.cbegin(); it!=items_.cend(); it++) { + if (it.key()->HasGizmos()) { + focused_node_ = it.key(); + it.value()->SetHighlighted(true); + break; + } + } + + emit FocusedNodeChanged(focused_node_); } }