Skip to content

Commit c36c153

Browse files
committedOct 4, 2024
Merge pull request #96379 from KoBeWi/wind_of_resource_changes
Add `_resource_changed()` helper method to EditorResourcePicker
2 parents 19081a8 + 4a747bd commit c36c153

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
lines changed
 

‎editor/editor_resource_picker.cpp

+13-17
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,11 @@ void EditorResourcePicker::_resource_selected() {
132132
emit_signal(SNAME("resource_selected"), edited_resource, false);
133133
}
134134

135+
void EditorResourcePicker::_resource_changed() {
136+
emit_signal(SNAME("resource_changed"), edited_resource);
137+
_update_resource();
138+
}
139+
135140
void EditorResourcePicker::_file_selected(const String &p_path) {
136141
Ref<Resource> loaded_resource = ResourceLoader::load(p_path);
137142
ERR_FAIL_COND_MSG(loaded_resource.is_null(), "Cannot load resource from path '" + p_path + "'.");
@@ -167,8 +172,7 @@ void EditorResourcePicker::_file_selected(const String &p_path) {
167172
}
168173

169174
edited_resource = loaded_resource;
170-
emit_signal(SNAME("resource_changed"), edited_resource);
171-
_update_resource();
175+
_resource_changed();
172176
}
173177

174178
void EditorResourcePicker::_resource_saved(Object *p_resource) {
@@ -353,8 +357,7 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
353357

354358
case OBJ_MENU_CLEAR: {
355359
edited_resource = Ref<Resource>();
356-
emit_signal(SNAME("resource_changed"), edited_resource);
357-
_update_resource();
360+
_resource_changed();
358361
} break;
359362

360363
case OBJ_MENU_MAKE_UNIQUE: {
@@ -366,8 +369,7 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
366369
ERR_FAIL_COND(unique_resource.is_null()); // duplicate() may fail.
367370

368371
edited_resource = unique_resource;
369-
emit_signal(SNAME("resource_changed"), edited_resource);
370-
_update_resource();
372+
_resource_changed();
371373
} break;
372374

373375
case OBJ_MENU_MAKE_UNIQUE_RECURSIVE: {
@@ -432,9 +434,7 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
432434
_edit_menu_cbk(OBJ_MENU_MAKE_UNIQUE);
433435
return;
434436
}
435-
436-
emit_signal(SNAME("resource_changed"), edited_resource);
437-
_update_resource();
437+
_resource_changed();
438438
} break;
439439

440440
case OBJ_MENU_SHOW_IN_FILE_SYSTEM: {
@@ -453,8 +453,7 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
453453
ERR_FAIL_INDEX(to_type, conversions.size());
454454

455455
edited_resource = conversions[to_type]->convert(edited_resource);
456-
emit_signal(SNAME("resource_changed"), edited_resource);
457-
_update_resource();
456+
_resource_changed();
458457
break;
459458
}
460459

@@ -481,8 +480,7 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
481480
// Prevent freeing of the object until the end of the update of the resource (GH-88286).
482481
Ref<Resource> old_edited_resource = edited_resource;
483482
edited_resource = Ref<Resource>(resp);
484-
emit_signal(SNAME("resource_changed"), edited_resource);
485-
_update_resource();
483+
_resource_changed();
486484
} break;
487485
}
488486
}
@@ -778,8 +776,7 @@ void EditorResourcePicker::drop_data_fw(const Point2 &p_point, const Variant &p_
778776
}
779777

780778
edited_resource = dropped_resource;
781-
emit_signal(SNAME("resource_changed"), edited_resource);
782-
_update_resource();
779+
_resource_changed();
783780
}
784781
}
785782

@@ -1046,8 +1043,7 @@ void EditorResourcePicker::_duplicate_selected_resources() {
10461043

10471044
if (meta.size() == 1) { // Root.
10481045
edited_resource = unique_resource;
1049-
emit_signal(SNAME("resource_changed"), edited_resource);
1050-
_update_resource();
1046+
_resource_changed();
10511047
} else {
10521048
Array parent_meta = item->get_parent()->get_metadata(0);
10531049
Ref<Resource> parent = parent_meta[0];

‎editor/editor_resource_picker.h

+1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class EditorResourcePicker : public HBoxContainer {
8686
void _update_resource_preview(const String &p_path, const Ref<Texture2D> &p_preview, const Ref<Texture2D> &p_small_preview, ObjectID p_obj);
8787

8888
void _resource_selected();
89+
void _resource_changed();
8990
void _file_selected(const String &p_path);
9091

9192
void _resource_saved(Object *p_resource);

0 commit comments

Comments
 (0)
Please sign in to comment.