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")));
|
||||
|
||||
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()) {
|
||||
_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));
|
||||
scripts_vbox->add_child(filter_scripts);
|
||||
|
||||
_sort_list_on_update = true;
|
||||
script_list = memnew(ItemList);
|
||||
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_v_size_flags(SIZE_EXPAND_FILL);
|
||||
script_list->set_theme_type_variation("ItemListSecondary");
|
||||
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);
|
||||
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);
|
||||
|
||||
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>();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user