diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-27 00:20:49 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-27 00:20:49 +0100 |
commit | 48f53abdcef532c38af65c7fe925e9ba0d1c7745 (patch) | |
tree | 9e8fc95ae0fd720d4bdae47810385b7cf992a502 | |
parent | 2edef2a79559c9e93df7a828cffb5f68ffa8be5a (diff) | |
parent | b8493dca823232f13eb21ecd976276c3187d2c25 (diff) |
Merge pull request #71874 from KoBeWi/relesetc
Reselect signal after tree update
-rw-r--r-- | editor/connections_dialog.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp index af528e0381..dee130ed0f 100644 --- a/editor/connections_dialog.cpp +++ b/editor/connections_dialog.cpp @@ -1170,6 +1170,10 @@ void ConnectionsDock::set_node(Node *p_node) { } void ConnectionsDock::update_tree() { + String prev_selected; + if (tree->is_anything_selected()) { + prev_selected = tree->get_selected()->get_text(0); + } tree->clear(); if (!selected_node) { @@ -1261,7 +1265,14 @@ void ConnectionsDock::update_tree() { // Create the children of the subsection - the actual list of signals. TreeItem *signal_item = tree->create_item(section_item); - signal_item->set_text(0, String(signal_name) + signaldesc); + String signame = String(signal_name) + signaldesc; + signal_item->set_text(0, signame); + + if (signame == prev_selected) { + signal_item->select(0); + prev_selected = ""; + } + Dictionary sinfo; sinfo["name"] = signal_name; sinfo["args"] = argnames; |