diff options
Diffstat (limited to 'editor/inspector_dock.cpp')
| -rw-r--r-- | editor/inspector_dock.cpp | 39 |
1 files changed, 16 insertions, 23 deletions
diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index 4bd1d7e83e..99d4e59bfe 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -142,10 +142,11 @@ void InspectorDock::_menu_option_confirm(int p_option, bool p_confirmed) { ti->set_text(0, bool(EDITOR_GET("interface/inspector/capitalize_properties")) ? propname.capitalize() : propname); } + unique_resources_label->set_text(TTR("The following resources will be duplicated and embedded within this resource/object.")); unique_resources_confirmation->popup_centered(); } else { - unique_resources_confirmation->set_text(TTR("This object has no resources.")); current_option = -1; + unique_resources_label->set_text(TTR("This object has no resources.")); unique_resources_confirmation->popup_centered(); } } else { @@ -256,12 +257,8 @@ void InspectorDock::_resource_file_selected(String p_file) { } void InspectorDock::_save_resource(bool save_as) { - ObjectID current_id = EditorNode::get_singleton()->get_editor_selection_history()->get_current(); - Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr; - - ERR_FAIL_COND(!Object::cast_to<Resource>(current_obj)); - - Ref<Resource> current_res = Ref<Resource>(Object::cast_to<Resource>(current_obj)); + Ref<Resource> current_res = _get_current_resource(); + ERR_FAIL_COND(current_res.is_null()); if (save_as) { EditorNode::get_singleton()->save_resource_as(current_res); @@ -271,24 +268,15 @@ void InspectorDock::_save_resource(bool save_as) { } void InspectorDock::_unref_resource() { - ObjectID current_id = EditorNode::get_singleton()->get_editor_selection_history()->get_current(); - Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr; - - ERR_FAIL_COND(!Object::cast_to<Resource>(current_obj)); - - Ref<Resource> current_res = Ref<Resource>(Object::cast_to<Resource>(current_obj)); + Ref<Resource> current_res = _get_current_resource(); + ERR_FAIL_COND(current_res.is_null()); current_res->set_path(""); EditorNode::get_singleton()->edit_current(); } void InspectorDock::_copy_resource() { - ObjectID current_id = EditorNode::get_singleton()->get_editor_selection_history()->get_current(); - Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr; - - ERR_FAIL_COND(!Object::cast_to<Resource>(current_obj)); - - Ref<Resource> current_res = Ref<Resource>(Object::cast_to<Resource>(current_obj)); - + Ref<Resource> current_res = _get_current_resource(); + ERR_FAIL_COND(current_res.is_null()); EditorSettings::get_singleton()->set_resource_clipboard(current_res); } @@ -305,6 +293,12 @@ void InspectorDock::_prepare_resource_extra_popup() { popup->set_item_disabled(popup->get_item_index(RESOURCE_EDIT_CLIPBOARD), r.is_null()); } +Ref<Resource> InspectorDock::_get_current_resource() const { + ObjectID current_id = EditorNode::get_singleton()->get_editor_selection_history()->get_current(); + Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr; + return Ref<Resource>(Object::cast_to<Resource>(current_obj)); +} + void InspectorDock::_prepare_history() { EditorSelectionHistory *editor_history = EditorNode::get_singleton()->get_editor_selection_history(); @@ -734,9 +728,8 @@ InspectorDock::InspectorDock(EditorData &p_editor_data) { VBoxContainer *container = memnew(VBoxContainer); unique_resources_confirmation->add_child(container); - Label *top_label = memnew(Label); - top_label->set_text(TTR("The following resources will be duplicated and embedded within this resource/object.")); - container->add_child(top_label); + unique_resources_label = memnew(Label); + container->add_child(unique_resources_label); unique_resources_list_tree = memnew(Tree); unique_resources_list_tree->set_hide_root(true); |