You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-04 17:04:49 +00:00
Support extension icons in Script Editor
This commit is contained in:
@@ -1835,6 +1835,7 @@ void ScriptEditor::_notification(int p_what) {
|
|||||||
filter_methods->set_right_icon(get_editor_theme_icon(SNAME("Search")));
|
filter_methods->set_right_icon(get_editor_theme_icon(SNAME("Search")));
|
||||||
|
|
||||||
recent_scripts->reset_size();
|
recent_scripts->reset_size();
|
||||||
|
script_list->set_fixed_icon_size(Vector2i(1, 1) * get_theme_constant("class_icon_size", EditorStringName(Editor)));
|
||||||
|
|
||||||
if (is_inside_tree()) {
|
if (is_inside_tree()) {
|
||||||
_update_script_names();
|
_update_script_names();
|
||||||
@@ -4201,16 +4202,16 @@ ScriptEditor::ScriptEditor(WindowWrapper *p_wrapper) {
|
|||||||
filter_scripts->connect(SceneStringName(text_changed), callable_mp(this, &ScriptEditor::_filter_scripts_text_changed));
|
filter_scripts->connect(SceneStringName(text_changed), callable_mp(this, &ScriptEditor::_filter_scripts_text_changed));
|
||||||
scripts_vbox->add_child(filter_scripts);
|
scripts_vbox->add_child(filter_scripts);
|
||||||
|
|
||||||
|
_sort_list_on_update = true;
|
||||||
script_list = memnew(ItemList);
|
script_list = memnew(ItemList);
|
||||||
script_list->set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED);
|
script_list->set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED);
|
||||||
scripts_vbox->add_child(script_list);
|
|
||||||
script_list->set_custom_minimum_size(Size2(100, 60) * EDSCALE); //need to give a bit of limit to avoid it from disappearing
|
script_list->set_custom_minimum_size(Size2(100, 60) * EDSCALE); //need to give a bit of limit to avoid it from disappearing
|
||||||
script_list->set_v_size_flags(SIZE_EXPAND_FILL);
|
script_list->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
script_list->set_theme_type_variation("ItemListSecondary");
|
script_list->set_theme_type_variation("ItemListSecondary");
|
||||||
script_split->set_split_offset(200 * EDSCALE);
|
script_split->set_split_offset(200 * EDSCALE);
|
||||||
_sort_list_on_update = true;
|
|
||||||
script_list->connect("item_clicked", callable_mp(this, &ScriptEditor::_script_list_clicked), CONNECT_DEFERRED);
|
|
||||||
script_list->set_allow_rmb_select(true);
|
script_list->set_allow_rmb_select(true);
|
||||||
|
scripts_vbox->add_child(script_list);
|
||||||
|
script_list->connect("item_clicked", callable_mp(this, &ScriptEditor::_script_list_clicked), CONNECT_DEFERRED);
|
||||||
SET_DRAG_FORWARDING_GCD(script_list, ScriptEditor);
|
SET_DRAG_FORWARDING_GCD(script_list, ScriptEditor);
|
||||||
|
|
||||||
context_menu = memnew(PopupMenu);
|
context_menu = memnew(PopupMenu);
|
||||||
|
|||||||
@@ -840,6 +840,18 @@ Ref<Texture2D> ScriptTextEditor::get_theme_icon() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Ref<Texture2D> extension_language_icon = EditorNode::get_editor_data().extension_class_get_icon(script->get_class());
|
||||||
|
Ref<Texture2D> extension_language_alt_icon;
|
||||||
|
if (script->is_built_in()) {
|
||||||
|
extension_language_alt_icon = EditorNode::get_editor_data().extension_class_get_icon(script->get_class() + "Internal");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (extension_language_alt_icon.is_valid()) {
|
||||||
|
return extension_language_alt_icon;
|
||||||
|
} else if (extension_language_icon.is_valid()) {
|
||||||
|
return extension_language_icon;
|
||||||
|
}
|
||||||
|
|
||||||
return Ref<Texture2D>();
|
return Ref<Texture2D>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user