@ -4948,6 +4948,13 @@ void EditorNode::_check_gui_base_size() {
}
}
void EditorNode : : _license_tree_selected ( ) {
TreeItem * selected = _tpl_tree - > get_selected ( ) ;
_tpl_text - > select ( 0 , 0 , 0 , 0 ) ;
_tpl_text - > set_text ( selected - > get_metadata ( 0 ) ) ;
}
void EditorNode : : open_export_template_manager ( ) {
export_template_manager - > popup_manager ( ) ;
@ -5037,6 +5044,8 @@ void EditorNode::_bind_methods() {
ClassDB : : bind_method ( D_METHOD ( " _dim_timeout " ) , & EditorNode : : _dim_timeout ) ;
ClassDB : : bind_method ( D_METHOD ( " _check_gui_base_size " ) , & EditorNode : : _check_gui_base_size ) ;
ClassDB : : bind_method ( D_METHOD ( " _license_tree_selected " ) , & EditorNode : : _license_tree_selected ) ;
ADD_SIGNAL ( MethodInfo ( " play_pressed " ) ) ;
ADD_SIGNAL ( MethodInfo ( " pause_pressed " ) ) ;
ADD_SIGNAL ( MethodInfo ( " stop_pressed " ) ) ;
@ -6110,15 +6119,6 @@ EditorNode::EditorNode() {
dev_base - > set_v_size_flags ( Control : : SIZE_EXPAND ) ;
tc - > add_child ( dev_base ) ;
TextEdit * license = memnew ( TextEdit ) ;
license - > set_name ( TTR ( " License " ) ) ;
license - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
license - > set_v_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
license - > set_wrap ( true ) ;
license - > set_readonly ( true ) ;
license - > set_text ( String : : utf8 ( about_license ) ) ;
tc - > add_child ( license ) ;
VBoxContainer * dev_vbc = memnew ( VBoxContainer ) ;
dev_vbc - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
dev_base - > add_child ( dev_vbc ) ;
@ -6151,6 +6151,90 @@ EditorNode::EditorNode() {
hs - > set_modulate ( Color ( 0 , 0 , 0 , 0 ) ) ;
dev_vbc - > add_child ( hs ) ;
}
TextEdit * license = memnew ( TextEdit ) ;
license - > set_name ( TTR ( " License " ) ) ;
license - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
license - > set_v_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
license - > set_wrap ( true ) ;
license - > set_readonly ( true ) ;
license - > set_text ( String : : utf8 ( about_license ) ) ;
tc - > add_child ( license ) ;
VBoxContainer * license_thirdparty = memnew ( VBoxContainer ) ;
license_thirdparty - > set_name ( TTR ( " Thirdparty License " ) ) ;
license_thirdparty - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
tc - > add_child ( license_thirdparty ) ;
Label * tpl_label = memnew ( Label ) ;
tpl_label - > set_custom_minimum_size ( Size2 ( 0 , 64 * EDSCALE ) ) ;
tpl_label - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
tpl_label - > set_autowrap ( true ) ;
tpl_label - > set_text ( TTR ( " Godot Engine relies on a number of thirdparty free and open source libraries, all compatible with the terms of its MIT license. The following is an exhaustive list of all such thirdparty components with their respective copyright statements and license terms. " ) ) ;
license_thirdparty - > add_child ( tpl_label ) ;
HSplitContainer * tpl_hbc = memnew ( HSplitContainer ) ;
tpl_hbc - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
tpl_hbc - > set_v_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
tpl_hbc - > set_split_offset ( 240 * EDSCALE ) ;
license_thirdparty - > add_child ( tpl_hbc ) ;
_tpl_tree = memnew ( Tree ) ;
_tpl_tree - > set_hide_root ( true ) ;
TreeItem * root = _tpl_tree - > create_item ( ) ;
TreeItem * tpl_ti_all = _tpl_tree - > create_item ( root ) ;
tpl_ti_all - > set_text ( 0 , TTR ( " All Components " ) ) ;
TreeItem * tpl_ti_tp = _tpl_tree - > create_item ( root ) ;
tpl_ti_tp - > set_text ( 0 , TTR ( " Components " ) ) ;
tpl_ti_tp - > set_selectable ( 0 , false ) ;
TreeItem * tpl_ti_lc = _tpl_tree - > create_item ( root ) ;
tpl_ti_lc - > set_text ( 0 , TTR ( " Licenses " ) ) ;
tpl_ti_lc - > set_selectable ( 0 , false ) ;
int read_idx = 0 ;
String long_text = " " ;
for ( int i = 0 ; i < THIRDPARTY_COUNT ; i + + ) {
TreeItem * ti = _tpl_tree - > create_item ( tpl_ti_tp ) ;
String thirdparty = String ( about_thirdparty [ i ] ) ;
ti - > set_text ( 0 , thirdparty ) ;
String text = thirdparty + " \n " ;
long_text + = " - " + thirdparty + " \n \n " ;
for ( int j = 0 ; j < about_tp_copyright_count [ i ] ; j + + ) {
text + = " \n Files: \n " + String ( about_tp_file [ read_idx ] ) . replace ( " \n " , " \n " ) + " \n " ;
String copyright = String : : utf8 ( " \u00A9 " ) + String : : utf8 ( about_tp_copyright [ read_idx ] ) . replace ( " \n " , String : : utf8 ( " \n \u00A9 " ) ) ;
text + = copyright ;
long_text + = copyright ;
String license = " \n License: " + String ( about_tp_license [ read_idx ] ) + " \n " ;
text + = license ;
long_text + = license + " \n " ;
read_idx + + ;
}
ti - > set_metadata ( 0 , text ) ;
}
for ( int i = 0 ; i < LICENSE_COUNT ; i + + ) {
TreeItem * ti = _tpl_tree - > create_item ( tpl_ti_lc ) ;
String licensename = String ( about_license_name [ i ] ) ;
ti - > set_text ( 0 , licensename ) ;
long_text + = " - " + licensename + " \n \n " ;
String licensebody = String ( about_license_body [ i ] ) ;
ti - > set_metadata ( 0 , licensebody ) ;
long_text + = " " + licensebody . replace ( " \n " , " \n " ) + " \n \n " ;
}
tpl_ti_all - > set_metadata ( 0 , long_text ) ;
tpl_hbc - > add_child ( _tpl_tree ) ;
_tpl_text = memnew ( TextEdit ) ;
_tpl_text - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
_tpl_text - > set_v_size_flags ( Control : : SIZE_EXPAND_FILL ) ;
_tpl_text - > set_wrap ( true ) ;
_tpl_text - > set_readonly ( true ) ;
tpl_hbc - > add_child ( _tpl_text ) ;
_tpl_tree - > connect ( " item_selected " , this , " _license_tree_selected " ) ;
tpl_ti_all - > select ( 0 ) ;
_tpl_text - > set_text ( tpl_ti_all - > get_metadata ( 0 ) ) ;
}
warning = memnew ( AcceptDialog ) ;