mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	Merge pull request #83577 from DennisManaa/fix-translation-for-item-list
Add automatic translation of items to ItemList
This commit is contained in:
		
						commit
						5eb22a317d
					
				
					 20 changed files with 40 additions and 2 deletions
				
			
		|  | @ -794,6 +794,7 @@ CreateDialog::CreateDialog() { | ||||||
| 	rec_vb->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	rec_vb->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 
 | 
 | ||||||
| 	recent = memnew(ItemList); | 	recent = memnew(ItemList); | ||||||
|  | 	recent->set_auto_translate(false); | ||||||
| 	rec_vb->add_margin_child(TTR("Recent:"), recent, true); | 	rec_vb->add_margin_child(TTR("Recent:"), recent, true); | ||||||
| 	recent->set_allow_reselect(true); | 	recent->set_allow_reselect(true); | ||||||
| 	recent->connect("item_selected", callable_mp(this, &CreateDialog::_history_selected)); | 	recent->connect("item_selected", callable_mp(this, &CreateDialog::_history_selected)); | ||||||
|  |  | ||||||
|  | @ -398,6 +398,7 @@ DependencyEditorOwners::DependencyEditorOwners() { | ||||||
| 	file_options->connect("id_pressed", callable_mp(this, &DependencyEditorOwners::_file_option)); | 	file_options->connect("id_pressed", callable_mp(this, &DependencyEditorOwners::_file_option)); | ||||||
| 
 | 
 | ||||||
| 	owners = memnew(ItemList); | 	owners = memnew(ItemList); | ||||||
|  | 	owners->set_auto_translate(false); | ||||||
| 	owners->set_select_mode(ItemList::SELECT_MULTI); | 	owners->set_select_mode(ItemList::SELECT_MULTI); | ||||||
| 	owners->connect("item_clicked", callable_mp(this, &DependencyEditorOwners::_list_rmb_clicked)); | 	owners->connect("item_clicked", callable_mp(this, &DependencyEditorOwners::_list_rmb_clicked)); | ||||||
| 	owners->connect("item_activated", callable_mp(this, &DependencyEditorOwners::_select_file)); | 	owners->connect("item_activated", callable_mp(this, &DependencyEditorOwners::_select_file)); | ||||||
|  |  | ||||||
|  | @ -99,6 +99,7 @@ ScrollContainer *EditorAbout::_populate_list(const String &p_name, const List<St | ||||||
| 			vbc->add_child(lbl); | 			vbc->add_child(lbl); | ||||||
| 
 | 
 | ||||||
| 			ItemList *il = memnew(ItemList); | 			ItemList *il = memnew(ItemList); | ||||||
|  | 			il->set_auto_translate(false); | ||||||
| 			il->set_h_size_flags(Control::SIZE_EXPAND_FILL); | 			il->set_h_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 			il->set_same_column_width(true); | 			il->set_same_column_width(true); | ||||||
| 			il->set_auto_height(true); | 			il->set_auto_height(true); | ||||||
|  |  | ||||||
|  | @ -114,6 +114,7 @@ EditorLayoutsDialog::EditorLayoutsDialog() { | ||||||
| 	add_child(makevb); | 	add_child(makevb); | ||||||
| 
 | 
 | ||||||
| 	layout_names = memnew(ItemList); | 	layout_names = memnew(ItemList); | ||||||
|  | 	layout_names->set_auto_translate(false); | ||||||
| 	layout_names->set_auto_height(true); | 	layout_names->set_auto_height(true); | ||||||
| 	layout_names->set_custom_minimum_size(Size2(300 * EDSCALE, 50 * EDSCALE)); | 	layout_names->set_custom_minimum_size(Size2(300 * EDSCALE, 50 * EDSCALE)); | ||||||
| 	layout_names->set_visible(true); | 	layout_names->set_visible(true); | ||||||
|  |  | ||||||
|  | @ -1191,6 +1191,7 @@ ProjectExportDialog::ProjectExportDialog() { | ||||||
| 	preset_vb->add_child(mc); | 	preset_vb->add_child(mc); | ||||||
| 	mc->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	mc->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	presets = memnew(ItemList); | 	presets = memnew(ItemList); | ||||||
|  | 	presets->set_auto_translate(false); | ||||||
| 	SET_DRAG_FORWARDING_GCD(presets, ProjectExportDialog); | 	SET_DRAG_FORWARDING_GCD(presets, ProjectExportDialog); | ||||||
| 	mc->add_child(presets); | 	mc->add_child(presets); | ||||||
| 	presets->connect("item_selected", callable_mp(this, &ProjectExportDialog::_edit_preset)); | 	presets->connect("item_selected", callable_mp(this, &ProjectExportDialog::_edit_preset)); | ||||||
|  |  | ||||||
|  | @ -1909,6 +1909,7 @@ EditorFileDialog::EditorFileDialog() { | ||||||
| 	fav_down->connect("pressed", callable_mp(this, &EditorFileDialog::_favorite_move_down)); | 	fav_down->connect("pressed", callable_mp(this, &EditorFileDialog::_favorite_move_down)); | ||||||
| 
 | 
 | ||||||
| 	favorites = memnew(ItemList); | 	favorites = memnew(ItemList); | ||||||
|  | 	favorites->set_auto_translate(false); | ||||||
| 	fav_vb->add_child(favorites); | 	fav_vb->add_child(favorites); | ||||||
| 	favorites->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	favorites->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	favorites->connect("item_selected", callable_mp(this, &EditorFileDialog::_favorite_selected)); | 	favorites->connect("item_selected", callable_mp(this, &EditorFileDialog::_favorite_selected)); | ||||||
|  | @ -1918,6 +1919,7 @@ EditorFileDialog::EditorFileDialog() { | ||||||
| 	rec_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); | 	rec_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); | ||||||
| 	rec_vb->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	rec_vb->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	recent = memnew(ItemList); | 	recent = memnew(ItemList); | ||||||
|  | 	recent->set_auto_translate(false); | ||||||
| 	recent->set_allow_reselect(true); | 	recent->set_allow_reselect(true); | ||||||
| 	rec_vb->add_margin_child(TTR("Recent:"), recent, true); | 	rec_vb->add_margin_child(TTR("Recent:"), recent, true); | ||||||
| 	recent->connect("item_selected", callable_mp(this, &EditorFileDialog::_recent_selected)); | 	recent->connect("item_selected", callable_mp(this, &EditorFileDialog::_recent_selected)); | ||||||
|  | @ -1941,6 +1943,7 @@ EditorFileDialog::EditorFileDialog() { | ||||||
| 	// Item (files and folders) list with context menu.
 | 	// Item (files and folders) list with context menu.
 | ||||||
| 
 | 
 | ||||||
| 	item_list = memnew(ItemList); | 	item_list = memnew(ItemList); | ||||||
|  | 	item_list->set_auto_translate(false); | ||||||
| 	item_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	item_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	item_list->connect("item_clicked", callable_mp(this, &EditorFileDialog::_item_list_item_rmb_clicked)); | 	item_list->connect("item_clicked", callable_mp(this, &EditorFileDialog::_item_list_item_rmb_clicked)); | ||||||
| 	item_list->connect("empty_clicked", callable_mp(this, &EditorFileDialog::_item_list_empty_clicked)); | 	item_list->connect("empty_clicked", callable_mp(this, &EditorFileDialog::_item_list_empty_clicked)); | ||||||
|  |  | ||||||
|  | @ -248,6 +248,7 @@ HistoryDock::HistoryDock() { | ||||||
| 	global_history_checkbox->connect("toggled", callable_mp(this, &HistoryDock::refresh_history).unbind(1)); | 	global_history_checkbox->connect("toggled", callable_mp(this, &HistoryDock::refresh_history).unbind(1)); | ||||||
| 
 | 
 | ||||||
| 	action_list = memnew(ItemList); | 	action_list = memnew(ItemList); | ||||||
|  | 	action_list->set_auto_translate(false); | ||||||
| 	add_child(action_list); | 	add_child(action_list); | ||||||
| 	action_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	action_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	action_list->connect("item_selected", callable_mp(this, &HistoryDock::seek_history)); | 	action_list->connect("item_selected", callable_mp(this, &HistoryDock::seek_history)); | ||||||
|  |  | ||||||
|  | @ -3860,6 +3860,7 @@ ScriptEditor::ScriptEditor(WindowWrapper *p_wrapper) { | ||||||
| 	scripts_vbox->add_child(filter_scripts); | 	scripts_vbox->add_child(filter_scripts); | ||||||
| 
 | 
 | ||||||
| 	script_list = memnew(ItemList); | 	script_list = memnew(ItemList); | ||||||
|  | 	script_list->set_auto_translate(false); | ||||||
| 	scripts_vbox->add_child(script_list); | 	scripts_vbox->add_child(script_list); | ||||||
| 	script_list->set_custom_minimum_size(Size2(150, 60) * EDSCALE); //need to give a bit of limit to avoid it from disappearing
 | 	script_list->set_custom_minimum_size(Size2(150, 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); | ||||||
|  | @ -3904,6 +3905,7 @@ ScriptEditor::ScriptEditor(WindowWrapper *p_wrapper) { | ||||||
| 	overview_vbox->add_child(filter_methods); | 	overview_vbox->add_child(filter_methods); | ||||||
| 
 | 
 | ||||||
| 	members_overview = memnew(ItemList); | 	members_overview = memnew(ItemList); | ||||||
|  | 	members_overview->set_auto_translate(false); | ||||||
| 	overview_vbox->add_child(members_overview); | 	overview_vbox->add_child(members_overview); | ||||||
| 
 | 
 | ||||||
| 	members_overview->set_allow_reselect(true); | 	members_overview->set_allow_reselect(true); | ||||||
|  | @ -3912,6 +3914,7 @@ ScriptEditor::ScriptEditor(WindowWrapper *p_wrapper) { | ||||||
| 	members_overview->set_allow_rmb_select(true); | 	members_overview->set_allow_rmb_select(true); | ||||||
| 
 | 
 | ||||||
| 	help_overview = memnew(ItemList); | 	help_overview = memnew(ItemList); | ||||||
|  | 	help_overview->set_auto_translate(false); | ||||||
| 	overview_vbox->add_child(help_overview); | 	overview_vbox->add_child(help_overview); | ||||||
| 	help_overview->set_allow_reselect(true); | 	help_overview->set_allow_reselect(true); | ||||||
| 	help_overview->set_custom_minimum_size(Size2(0, 60) * EDSCALE); //need to give a bit of limit to avoid it from disappearing
 | 	help_overview->set_custom_minimum_size(Size2(0, 60) * EDSCALE); //need to give a bit of limit to avoid it from disappearing
 | ||||||
|  |  | ||||||
|  | @ -657,6 +657,7 @@ ShaderEditorPlugin::ShaderEditorPlugin() { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	shader_list = memnew(ItemList); | 	shader_list = memnew(ItemList); | ||||||
|  | 	shader_list->set_auto_translate(false); | ||||||
| 	shader_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	shader_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	vb->add_child(shader_list); | 	vb->add_child(shader_list); | ||||||
| 	shader_list->connect("item_selected", callable_mp(this, &ShaderEditorPlugin::_shader_selected)); | 	shader_list->connect("item_selected", callable_mp(this, &ShaderEditorPlugin::_shader_selected)); | ||||||
|  |  | ||||||
|  | @ -256,6 +256,7 @@ ShaderFileEditor::ShaderFileEditor() { | ||||||
| 	add_child(main_hs); | 	add_child(main_hs); | ||||||
| 
 | 
 | ||||||
| 	versions = memnew(ItemList); | 	versions = memnew(ItemList); | ||||||
|  | 	versions->set_auto_translate(false); | ||||||
| 	versions->connect("item_selected", callable_mp(this, &ShaderFileEditor::_version_selected)); | 	versions->connect("item_selected", callable_mp(this, &ShaderFileEditor::_version_selected)); | ||||||
| 	versions->set_custom_minimum_size(Size2i(200 * EDSCALE, 0)); | 	versions->set_custom_minimum_size(Size2i(200 * EDSCALE, 0)); | ||||||
| 	main_hs->add_child(versions); | 	main_hs->add_child(versions); | ||||||
|  |  | ||||||
|  | @ -1880,6 +1880,7 @@ SpriteFramesEditor::SpriteFramesEditor() { | ||||||
| 	add_child(file); | 	add_child(file); | ||||||
| 
 | 
 | ||||||
| 	frame_list = memnew(ItemList); | 	frame_list = memnew(ItemList); | ||||||
|  | 	frame_list->set_auto_translate(false); | ||||||
| 	frame_list->set_v_size_flags(SIZE_EXPAND_FILL); | 	frame_list->set_v_size_flags(SIZE_EXPAND_FILL); | ||||||
| 	frame_list->set_icon_mode(ItemList::ICON_MODE_TOP); | 	frame_list->set_icon_mode(ItemList::ICON_MODE_TOP); | ||||||
| 	frame_list->set_texture_filter(TEXTURE_FILTER_NEAREST_WITH_MIPMAPS); | 	frame_list->set_texture_filter(TEXTURE_FILTER_NEAREST_WITH_MIPMAPS); | ||||||
|  |  | ||||||
|  | @ -2247,6 +2247,7 @@ ThemeTypeDialog::ThemeTypeDialog() { | ||||||
| 	add_type_vb->add_child(add_type_options_label); | 	add_type_vb->add_child(add_type_options_label); | ||||||
| 
 | 
 | ||||||
| 	add_type_options = memnew(ItemList); | 	add_type_options = memnew(ItemList); | ||||||
|  | 	add_type_options->set_auto_translate(false); | ||||||
| 	add_type_options->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	add_type_options->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	add_type_vb->add_child(add_type_options); | 	add_type_vb->add_child(add_type_options); | ||||||
| 	add_type_options->connect("item_selected", callable_mp(this, &ThemeTypeDialog::_add_type_options_cbk)); | 	add_type_options->connect("item_selected", callable_mp(this, &ThemeTypeDialog::_add_type_options_cbk)); | ||||||
|  |  | ||||||
|  | @ -311,6 +311,7 @@ AtlasMergingDialog::AtlasMergingDialog() { | ||||||
| 
 | 
 | ||||||
| 	// Atlas sources item list.
 | 	// Atlas sources item list.
 | ||||||
| 	atlas_merging_atlases_list = memnew(ItemList); | 	atlas_merging_atlases_list = memnew(ItemList); | ||||||
|  | 	atlas_merging_atlases_list->set_auto_translate(false); | ||||||
| 	atlas_merging_atlases_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); | 	atlas_merging_atlases_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); | ||||||
| 	atlas_merging_atlases_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); | 	atlas_merging_atlases_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	atlas_merging_atlases_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	atlas_merging_atlases_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
|  |  | ||||||
|  | @ -2421,6 +2421,7 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { | ||||||
| 	sources_bottom_actions->add_child(source_sort_button); | 	sources_bottom_actions->add_child(source_sort_button); | ||||||
| 
 | 
 | ||||||
| 	sources_list = memnew(ItemList); | 	sources_list = memnew(ItemList); | ||||||
|  | 	sources_list->set_auto_translate(false); | ||||||
| 	sources_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); | 	sources_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); | ||||||
| 	sources_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); | 	sources_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	sources_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	sources_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
|  | @ -2460,6 +2461,7 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { | ||||||
| 
 | 
 | ||||||
| 	// Scenes collection source.
 | 	// Scenes collection source.
 | ||||||
| 	scene_tiles_list = memnew(ItemList); | 	scene_tiles_list = memnew(ItemList); | ||||||
|  | 	scene_tiles_list->set_auto_translate(false); | ||||||
| 	scene_tiles_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); | 	scene_tiles_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	scene_tiles_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	scene_tiles_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	scene_tiles_list->set_select_mode(ItemList::SELECT_MULTI); | 	scene_tiles_list->set_select_mode(ItemList::SELECT_MULTI); | ||||||
|  | @ -2485,6 +2487,7 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { | ||||||
| 
 | 
 | ||||||
| 	int thumbnail_size = 64; | 	int thumbnail_size = 64; | ||||||
| 	patterns_item_list = memnew(ItemList); | 	patterns_item_list = memnew(ItemList); | ||||||
|  | 	patterns_item_list->set_auto_translate(false); | ||||||
| 	patterns_item_list->set_max_columns(0); | 	patterns_item_list->set_max_columns(0); | ||||||
| 	patterns_item_list->set_icon_mode(ItemList::ICON_MODE_TOP); | 	patterns_item_list->set_icon_mode(ItemList::ICON_MODE_TOP); | ||||||
| 	patterns_item_list->set_fixed_column_width(thumbnail_size * 3 / 2); | 	patterns_item_list->set_fixed_column_width(thumbnail_size * 3 / 2); | ||||||
|  | @ -3560,6 +3563,7 @@ TileMapEditorTerrainsPlugin::TileMapEditorTerrainsPlugin() { | ||||||
| 	tilemap_tab_terrains->add_child(terrains_tree); | 	tilemap_tab_terrains->add_child(terrains_tree); | ||||||
| 
 | 
 | ||||||
| 	terrains_tile_list = memnew(ItemList); | 	terrains_tile_list = memnew(ItemList); | ||||||
|  | 	terrains_tile_list->set_auto_translate(false); | ||||||
| 	terrains_tile_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); | 	terrains_tile_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	terrains_tile_list->set_max_columns(0); | 	terrains_tile_list->set_max_columns(0); | ||||||
| 	terrains_tile_list->set_same_column_width(true); | 	terrains_tile_list->set_same_column_width(true); | ||||||
|  |  | ||||||
|  | @ -345,6 +345,7 @@ TileProxiesManagerDialog::TileProxiesManagerDialog() { | ||||||
| 	vbox_container->add_child(source_level_label); | 	vbox_container->add_child(source_level_label); | ||||||
| 
 | 
 | ||||||
| 	source_level_list = memnew(ItemList); | 	source_level_list = memnew(ItemList); | ||||||
|  | 	source_level_list->set_auto_translate(false); | ||||||
| 	source_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	source_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	source_level_list->set_select_mode(ItemList::SELECT_MULTI); | 	source_level_list->set_select_mode(ItemList::SELECT_MULTI); | ||||||
| 	source_level_list->set_allow_rmb_select(true); | 	source_level_list->set_allow_rmb_select(true); | ||||||
|  | @ -356,6 +357,7 @@ TileProxiesManagerDialog::TileProxiesManagerDialog() { | ||||||
| 	vbox_container->add_child(coords_level_label); | 	vbox_container->add_child(coords_level_label); | ||||||
| 
 | 
 | ||||||
| 	coords_level_list = memnew(ItemList); | 	coords_level_list = memnew(ItemList); | ||||||
|  | 	coords_level_list->set_auto_translate(false); | ||||||
| 	coords_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	coords_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	coords_level_list->set_select_mode(ItemList::SELECT_MULTI); | 	coords_level_list->set_select_mode(ItemList::SELECT_MULTI); | ||||||
| 	coords_level_list->set_allow_rmb_select(true); | 	coords_level_list->set_allow_rmb_select(true); | ||||||
|  | @ -367,6 +369,7 @@ TileProxiesManagerDialog::TileProxiesManagerDialog() { | ||||||
| 	vbox_container->add_child(alternative_level_label); | 	vbox_container->add_child(alternative_level_label); | ||||||
| 
 | 
 | ||||||
| 	alternative_level_list = memnew(ItemList); | 	alternative_level_list = memnew(ItemList); | ||||||
|  | 	alternative_level_list->set_auto_translate(false); | ||||||
| 	alternative_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | 	alternative_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); | ||||||
| 	alternative_level_list->set_select_mode(ItemList::SELECT_MULTI); | 	alternative_level_list->set_select_mode(ItemList::SELECT_MULTI); | ||||||
| 	alternative_level_list->set_allow_rmb_select(true); | 	alternative_level_list->set_allow_rmb_select(true); | ||||||
|  |  | ||||||
|  | @ -854,6 +854,7 @@ TileSetEditor::TileSetEditor() { | ||||||
| 	p->set_item_checked(TilesEditorUtils::SOURCE_SORT_ID, true); | 	p->set_item_checked(TilesEditorUtils::SOURCE_SORT_ID, true); | ||||||
| 
 | 
 | ||||||
| 	sources_list = memnew(ItemList); | 	sources_list = memnew(ItemList); | ||||||
|  | 	sources_list->set_auto_translate(false); | ||||||
| 	sources_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); | 	sources_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); | ||||||
| 	sources_list->set_h_size_flags(SIZE_EXPAND_FILL); | 	sources_list->set_h_size_flags(SIZE_EXPAND_FILL); | ||||||
| 	sources_list->set_v_size_flags(SIZE_EXPAND_FILL); | 	sources_list->set_v_size_flags(SIZE_EXPAND_FILL); | ||||||
|  | @ -933,6 +934,7 @@ TileSetEditor::TileSetEditor() { | ||||||
| 	//// Patterns ////
 | 	//// Patterns ////
 | ||||||
| 	int thumbnail_size = 64; | 	int thumbnail_size = 64; | ||||||
| 	patterns_item_list = memnew(ItemList); | 	patterns_item_list = memnew(ItemList); | ||||||
|  | 	patterns_item_list->set_auto_translate(false); | ||||||
| 	patterns_item_list->set_max_columns(0); | 	patterns_item_list->set_max_columns(0); | ||||||
| 	patterns_item_list->set_icon_mode(ItemList::ICON_MODE_TOP); | 	patterns_item_list->set_icon_mode(ItemList::ICON_MODE_TOP); | ||||||
| 	patterns_item_list->set_fixed_column_width(thumbnail_size * 3 / 2); | 	patterns_item_list->set_fixed_column_width(thumbnail_size * 3 / 2); | ||||||
|  |  | ||||||
|  | @ -549,6 +549,7 @@ TileSetScenesCollectionSourceEditor::TileSetScenesCollectionSourceEditor() { | ||||||
| 	split_container_right_side->add_child(right_vbox_container); | 	split_container_right_side->add_child(right_vbox_container); | ||||||
| 
 | 
 | ||||||
| 	scene_tiles_list = memnew(ItemList); | 	scene_tiles_list = memnew(ItemList); | ||||||
|  | 	scene_tiles_list->set_auto_translate(false); | ||||||
| 	scene_tiles_list->set_h_size_flags(SIZE_EXPAND_FILL); | 	scene_tiles_list->set_h_size_flags(SIZE_EXPAND_FILL); | ||||||
| 	scene_tiles_list->set_v_size_flags(SIZE_EXPAND_FILL); | 	scene_tiles_list->set_v_size_flags(SIZE_EXPAND_FILL); | ||||||
| 	SET_DRAG_FORWARDING_CDU(scene_tiles_list, TileSetScenesCollectionSourceEditor); | 	SET_DRAG_FORWARDING_CDU(scene_tiles_list, TileSetScenesCollectionSourceEditor); | ||||||
|  |  | ||||||
|  | @ -1316,6 +1316,7 @@ GridMapEditor::GridMapEditor() { | ||||||
| 	EDITOR_DEF("editors/grid_map/preview_size", 64); | 	EDITOR_DEF("editors/grid_map/preview_size", 64); | ||||||
| 
 | 
 | ||||||
| 	mesh_library_palette = memnew(ItemList); | 	mesh_library_palette = memnew(ItemList); | ||||||
|  | 	mesh_library_palette->set_auto_translate(false); | ||||||
| 	add_child(mesh_library_palette); | 	add_child(mesh_library_palette); | ||||||
| 	mesh_library_palette->set_v_size_flags(SIZE_EXPAND_FILL); | 	mesh_library_palette->set_v_size_flags(SIZE_EXPAND_FILL); | ||||||
| 	mesh_library_palette->connect("gui_input", callable_mp(this, &GridMapEditor::_mesh_library_palette_input)); | 	mesh_library_palette->connect("gui_input", callable_mp(this, &GridMapEditor::_mesh_library_palette_input)); | ||||||
|  |  | ||||||
|  | @ -44,7 +44,7 @@ void ItemList::_shape_text(int p_idx) { | ||||||
| 	} else { | 	} else { | ||||||
| 		item.text_buf->set_direction((TextServer::Direction)item.text_direction); | 		item.text_buf->set_direction((TextServer::Direction)item.text_direction); | ||||||
| 	} | 	} | ||||||
| 	item.text_buf->add_string(item.text, theme_cache.font, theme_cache.font_size, item.language); | 	item.text_buf->add_string(item.xl_text, theme_cache.font, theme_cache.font_size, item.language); | ||||||
| 	if (icon_mode == ICON_MODE_TOP && max_text_lines > 0) { | 	if (icon_mode == ICON_MODE_TOP && max_text_lines > 0) { | ||||||
| 		item.text_buf->set_break_flags(TextServer::BREAK_MANDATORY | TextServer::BREAK_WORD_BOUND | TextServer::BREAK_GRAPHEME_BOUND | TextServer::BREAK_TRIM_EDGE_SPACES); | 		item.text_buf->set_break_flags(TextServer::BREAK_MANDATORY | TextServer::BREAK_WORD_BOUND | TextServer::BREAK_GRAPHEME_BOUND | TextServer::BREAK_TRIM_EDGE_SPACES); | ||||||
| 	} else { | 	} else { | ||||||
|  | @ -58,6 +58,7 @@ int ItemList::add_item(const String &p_item, const Ref<Texture2D> &p_texture, bo | ||||||
| 	Item item; | 	Item item; | ||||||
| 	item.icon = p_texture; | 	item.icon = p_texture; | ||||||
| 	item.text = p_item; | 	item.text = p_item; | ||||||
|  | 	item.xl_text = atr(p_item); | ||||||
| 	item.selectable = p_selectable; | 	item.selectable = p_selectable; | ||||||
| 	items.push_back(item); | 	items.push_back(item); | ||||||
| 	int item_id = items.size() - 1; | 	int item_id = items.size() - 1; | ||||||
|  | @ -94,6 +95,7 @@ void ItemList::set_item_text(int p_idx, const String &p_text) { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	items.write[p_idx].text = p_text; | 	items.write[p_idx].text = p_text; | ||||||
|  | 	items.write[p_idx].xl_text = atr(p_text); | ||||||
| 	_shape_text(p_idx); | 	_shape_text(p_idx); | ||||||
| 	queue_redraw(); | 	queue_redraw(); | ||||||
| 	shape_changed = true; | 	shape_changed = true; | ||||||
|  | @ -1001,7 +1003,6 @@ void ItemList::_notification(int p_what) { | ||||||
| 		} break; | 		} break; | ||||||
| 
 | 
 | ||||||
| 		case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: | 		case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: | ||||||
| 		case NOTIFICATION_TRANSLATION_CHANGED: |  | ||||||
| 		case NOTIFICATION_THEME_CHANGED: { | 		case NOTIFICATION_THEME_CHANGED: { | ||||||
| 			for (int i = 0; i < items.size(); i++) { | 			for (int i = 0; i < items.size(); i++) { | ||||||
| 				_shape_text(i); | 				_shape_text(i); | ||||||
|  | @ -1009,6 +1010,14 @@ void ItemList::_notification(int p_what) { | ||||||
| 			shape_changed = true; | 			shape_changed = true; | ||||||
| 			queue_redraw(); | 			queue_redraw(); | ||||||
| 		} break; | 		} break; | ||||||
|  | 		case NOTIFICATION_TRANSLATION_CHANGED: { | ||||||
|  | 			for (int i = 0; i < items.size(); i++) { | ||||||
|  | 				items.write[i].xl_text = atr(items[i].text); | ||||||
|  | 				_shape_text(i); | ||||||
|  | 			} | ||||||
|  | 			shape_changed = true; | ||||||
|  | 			queue_redraw(); | ||||||
|  | 		} break; | ||||||
| 
 | 
 | ||||||
| 		case NOTIFICATION_DRAW: { | 		case NOTIFICATION_DRAW: { | ||||||
| 			force_update_list_size(); | 			force_update_list_size(); | ||||||
|  |  | ||||||
|  | @ -57,6 +57,7 @@ private: | ||||||
| 		Color icon_modulate = Color(1, 1, 1, 1); | 		Color icon_modulate = Color(1, 1, 1, 1); | ||||||
| 		Ref<Texture2D> tag_icon; | 		Ref<Texture2D> tag_icon; | ||||||
| 		String text; | 		String text; | ||||||
|  | 		String xl_text; | ||||||
| 		Ref<TextParagraph> text_buf; | 		Ref<TextParagraph> text_buf; | ||||||
| 		String language; | 		String language; | ||||||
| 		TextDirection text_direction = TEXT_DIRECTION_AUTO; | 		TextDirection text_direction = TEXT_DIRECTION_AUTO; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Rémi Verschelde
						Rémi Verschelde