extends Container signal return_pressed signal font_changed( value ) func _ready(): $Menus/TabContainer/Display/ScrollContainer/VBoxContainer/Fullscreen/CheckBox.pressed = ProjectSettings.get_setting( "display/window/size/fullscreen" ) $Menus/TabContainer/Display/ScrollContainer/VBoxContainer/Borderless/CheckBox.pressed = ProjectSettings.get_setting( "display/window/size/borderless" ) $Menus/TabContainer/Display/ScrollContainer/VBoxContainer/Resizable/CheckBox.pressed = ProjectSettings.get_setting( "display/window/size/resizable" ) $Menus/TabContainer/Display/ScrollContainer/VBoxContainer/CurrentScreen/SpinBox.value = OS.current_screen $Menus/TabContainer/connexion/v_box_container/h_box_container4/language.add_item("fr") $Menus/TabContainer/connexion/v_box_container/h_box_container4/language.add_item("en") load_settings() func _on_font_size_bar_value_changed(value): $Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size/font_size_value.text = str( value ) $Menus.get_theme().default_font.size = value emit_signal( "font_changed", value ) func load_settings(): var config_file = ConfigFile.new() var err = config_file.load( "user://settings.cfg" ) if err == ERR_CANT_OPEN or err == ERR_FILE_NOT_FOUND: # On suppose que le fichier n'existe pas encore, donc on le crée. config_file.set_value( "theme", "font_size", 14 ) config_file.save( "user://settings.cfg" ) elif not err == OK: print("[res://gui_scene/GUI/Settings/Settings.gd:load_settings] Error code when loading config file: ", err) global.font_size = config_file.get_value( "theme", "font_size" ) if $Menus.get_theme(): $Menus.get_theme().default_font.size = global.font_size $Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size_bar.value = global.font_size $Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size/font_size_value.text = str( global.font_size ) #var connexion = load("res://assets/Scripts/Config/connexion.gd").new() var script_connexion = preload("res://assets/Scripts/Config/connexion.gd") var connexion = script_connexion.connexion.new() var language = connexion.get_language() $Menus/TabContainer/connexion/v_box_container/h_box_container/register.text = connexion.get_url_register() $Menus/TabContainer/connexion/v_box_container/h_box_container2/connexion.text = connexion.get_url_login() $Menus/TabContainer/connexion/v_box_container/h_box_container3/certificate_valid.pressed = connexion.get_valid_certificate() # language for i in range(0, $Menus/TabContainer/connexion/v_box_container/h_box_container4/language.get_item_count()): if $Menus/TabContainer/connexion/v_box_container/h_box_container4/language.get_item_text(i) == language: $Menus/TabContainer/connexion/v_box_container/h_box_container4/language.select(i) break #$Menus/TabContainer/connexion/v_box_container/h_box_container4/language. #.selected = language #$Menus/TabContainer/connexion/v_box_container/h_box_container4/language.selected #func _on_ReturnButton_pressed(): # var config_file = ConfigFile.new() # var err = config_file.load( "user://settings.cfg" ) # if err: # print("[Settings:_on_ReturnButton_pressed] Error code when loading config file: ", err) # config_file.set_value("theme", "font_size", $Menus.get_theme().default_font.size) # config_file.save( "user://settings.cfg" ) # emit_signal( "return_pressed" ) func _on_Title_text_changed(new_text): # ---------------------------------- # Changing windows title var new_title = "Khanat" new_text = new_text.strip_edges() if not new_text == "": new_title = new_text new_title += " (" + String(OS.get_window_size().x) + "x" + String(OS.get_window_size().y) + ")" OS.set_window_title( new_title ) # ---------------------------------- func _on_Fullscreen_toggled(button_pressed): if ProjectSettings.has_setting( "display/window/size/fullscreen" ): ProjectSettings.set_setting("display/window/size/fullscreen", button_pressed) OS.window_fullscreen = ProjectSettings.get_setting("display/window/size/fullscreen") func _on_Borderless_toggled(button_pressed): if ProjectSettings.has_setting( "display/window/size/borderless" ): ProjectSettings.set_setting("display/window/size/borderless", button_pressed) OS.window_borderless = ProjectSettings.get_setting("display/window/size/borderless") func _on_Resizable_toggled(button_pressed): if ProjectSettings.has_setting( "display/window/size/resizable" ): ProjectSettings.set_setting("display/window/size/resizable", button_pressed) OS.window_resizable = ProjectSettings.get_setting("display/window/size/resizable") # La fonction existe dans la doc mais le moteur lui ne la reconnait pas, # soit il y a une subtilité quelquepart soit la doc n'est pas à jour. func _on_AlwaysOnTop_toggled(button_pressed): # OS.set_window_always_on_top( button_pressed ) pass func _on_SpinBox_value_changed(value): OS.current_screen = value func _on_ApplyButton_pressed(): var config_file = ConfigFile.new() var err = config_file.load( "user://settings.cfg" ) if err: print("[res://gui_scene/GUI/Settings/Settings.gd:_on_ApplyButton_pressed] Error code when loading config file: ", err) config_file.set_value("theme", "font_size", $Menus.get_theme().default_font.size) config_file.save( "user://settings.cfg" ) # Save Connexion var script_connexion = preload("res://assets/Scripts/Config/connexion.gd") var connexion = script_connexion.connexion.new() connexion.set_url_register($Menus/TabContainer/connexion/v_box_container/h_box_container/register.text) connexion.set_url_login($Menus/TabContainer/connexion/v_box_container/h_box_container2/connexion.text) var id = $Menus/TabContainer/connexion/v_box_container/h_box_container4/language.get_selected_id() var language = $Menus/TabContainer/connexion/v_box_container/h_box_container4/language.get_item_text(id) connexion.set_language(language) connexion.set_valid_certificate($Menus/TabContainer/connexion/v_box_container/h_box_container3/certificate_valid.pressed) connexion.save() emit_signal( "return_pressed" ) func _on_CancelButton_pressed(): emit_signal( "return_pressed" ) func _unhandled_input(event): if event is InputEventKey: if event.pressed and event.scancode == KEY_ESCAPE: emit_signal( "return_pressed" )