@@ -29,7 +29,7 @@ func _ready() -> void:
2929
3030#region POPULATING THE TREE
3131
32- func load_info (dict :Dictionary , parent :TreeItem = null ) -> void :
32+ func load_info (dict :Dictionary , parent :TreeItem = null , is_new : = false ) -> void :
3333 if parent == null :
3434 clear ()
3535 parent = add_folder_item ("VAR" , null )
@@ -38,12 +38,16 @@ func load_info(dict:Dictionary, parent:TreeItem = null) -> void:
3838 sorted_keys .sort ()
3939 for key in sorted_keys :
4040 if typeof (dict [key ]) != TYPE_DICTIONARY :
41- add_variable_item (key , dict [key ], parent )
41+ var item := add_variable_item (key , dict [key ], parent )
42+ if is_new :
43+ item .set_meta ("new" , true )
4244
4345 for key in sorted_keys :
4446 if typeof (dict [key ]) == TYPE_DICTIONARY :
4547 var folder := add_folder_item (key , parent )
46- load_info (dict [key ], folder )
48+ if is_new :
49+ folder .set_meta ("new" , true )
50+ load_info (dict [key ], folder , is_new )
4751
4852
4953
@@ -117,17 +121,21 @@ func get_variable_item_default(item:TreeItem) -> Variant:
117121func _on_button_clicked (item : TreeItem , column : int , id : int , mouse_button_index : int ) -> void :
118122 match id :
119123 TreeButtons .ADD_FOLDER :
120- add_folder_item ("Folder" , item ).select (0 )
124+ var new_item := add_folder_item ("Folder" , item )
125+ new_item .select (0 )
126+ new_item .set_meta ("new" , true )
121127 await get_tree ().process_frame
122128 edit_selected ()
123129 TreeButtons .ADD_VARIABLE :
124- add_variable_item ("Var" , "" , item ).select (0 )
130+ var new_item := add_variable_item ("Var" , "" , item )
131+ new_item .select (0 )
132+ new_item .set_meta ("new" , true )
125133 await get_tree ().process_frame
126134 edit_selected ()
127135 TreeButtons .DELETE :
128136 item .free ()
129137 TreeButtons .DUPLICATE_FOLDER :
130- load_info ({item .get_text (0 )+ "(copy)" :get_info (item )}, item .get_parent ())
138+ load_info ({item .get_text (0 )+ "(copy)" :get_info (item )}, item .get_parent (), true )
131139 TreeButtons .CHANGE_TYPE :
132140 % ChangeTypePopup .show ()
133141 % ChangeTypePopup .set_meta ('item' , item )
@@ -276,9 +284,13 @@ func _drop_data(position:Vector2, item:Variant) -> void:
276284 "VARIABLE" :
277285 new_item = add_variable_item (item .get_text (0 ), item .get_metadata (2 ), parent )
278286 new_item .set_meta ('prev_path' , get_item_path (item ))
287+ if item .get_meta ("new" , false ):
288+ new_item .set_meta ("new" , true )
279289 "FOLDER" :
280290 new_item = add_folder_item (item .get_text (0 ), parent )
281291 load_info (get_info (item ), new_item )
292+ if item .get_meta ("new" , false ):
293+ new_item .set_meta ("new" , true )
282294
283295 # If this was dropped on a variable (or the root node)
284296 if to_item != parent :
@@ -298,8 +310,11 @@ func _drop_data(position:Vector2, item:Variant) -> void:
298310## ##############################################################################
299311
300312func report_name_changes (item :TreeItem ) -> void :
313+
301314 match item .get_meta ('type' ):
302315 "VARIABLE" :
316+ if item .get_meta ("new" , false ):
317+ return
303318 var new_path := get_item_path (item )
304319 editor .variable_renamed (item .get_meta ('prev_path' ), new_path )
305320 item .set_meta ('prev_path' , new_path )
0 commit comments