|
@@ -471,6 +471,17 @@ void SceneTreeEditor::_node_removed(Node *p_node) {
|
|
|
emit_signal("node_selected");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+void SceneTreeEditor::_node_renamed(Node *p_node) {
|
|
|
+
|
|
|
+ emit_signal("node_renamed");
|
|
|
+
|
|
|
+ if (!tree_dirty) {
|
|
|
+ MessageQueue::get_singleton()->push_call(this, "_update_tree");
|
|
|
+ tree_dirty = true;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void SceneTreeEditor::_update_tree() {
|
|
|
|
|
|
if (!is_inside_tree()) {
|
|
@@ -594,6 +605,7 @@ void SceneTreeEditor::_notification(int p_what) {
|
|
|
|
|
|
get_tree()->connect("tree_changed", this, "_tree_changed");
|
|
|
get_tree()->connect("node_removed", this, "_node_removed");
|
|
|
+ get_tree()->connect("node_renamed", this, "_node_renamed");
|
|
|
get_tree()->connect("node_configuration_warning_changed", this, "_warning_changed");
|
|
|
|
|
|
tree->connect("item_collapsed", this, "_cell_collapsed");
|
|
@@ -604,6 +616,7 @@ void SceneTreeEditor::_notification(int p_what) {
|
|
|
|
|
|
get_tree()->disconnect("tree_changed", this, "_tree_changed");
|
|
|
get_tree()->disconnect("node_removed", this, "_node_removed");
|
|
|
+ get_tree()->disconnect("node_renamed", this, "_node_renamed");
|
|
|
tree->disconnect("item_collapsed", this, "_cell_collapsed");
|
|
|
get_tree()->disconnect("node_configuration_warning_changed", this, "_warning_changed");
|
|
|
} break;
|
|
@@ -685,12 +698,6 @@ void SceneTreeEditor::_rename_node(ObjectID p_node, const String &p_name) {
|
|
|
n->set_name(p_name);
|
|
|
item->set_metadata(0, n->get_path());
|
|
|
item->set_text(0, p_name);
|
|
|
- emit_signal("node_renamed");
|
|
|
-
|
|
|
- if (!tree_dirty) {
|
|
|
- MessageQueue::get_singleton()->push_call(this, "_update_tree");
|
|
|
- tree_dirty = true;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
void SceneTreeEditor::_renamed() {
|
|
@@ -1025,6 +1032,7 @@ void SceneTreeEditor::_bind_methods() {
|
|
|
ClassDB::bind_method("_tree_changed", &SceneTreeEditor::_tree_changed);
|
|
|
ClassDB::bind_method("_update_tree", &SceneTreeEditor::_update_tree);
|
|
|
ClassDB::bind_method("_node_removed", &SceneTreeEditor::_node_removed);
|
|
|
+ ClassDB::bind_method("_node_renamed", &SceneTreeEditor::_node_renamed);
|
|
|
ClassDB::bind_method("_selected_changed", &SceneTreeEditor::_selected_changed);
|
|
|
ClassDB::bind_method("_deselect_items", &SceneTreeEditor::_deselect_items);
|
|
|
ClassDB::bind_method("_renamed", &SceneTreeEditor::_renamed);
|