summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-01-27 00:20:49 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-01-27 00:20:49 +0100
commit48f53abdcef532c38af65c7fe925e9ba0d1c7745 (patch)
tree9e8fc95ae0fd720d4bdae47810385b7cf992a502
parent2edef2a79559c9e93df7a828cffb5f68ffa8be5a (diff)
parentb8493dca823232f13eb21ecd976276c3187d2c25 (diff)
Merge pull request #71874 from KoBeWi/relesetc
Reselect signal after tree update
-rw-r--r--editor/connections_dialog.cpp13
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;