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 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("Error code when loading config file: ", err) var font_size = config_file.get_value( "theme", "font_size" ) if $Menus.get_theme() and font_size: $Menus.get_theme().default_font.size = font_size $Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size_bar.value = font_size $Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size/font_size_value.text = str( font_size ) func _on_ReturnButton_pressed(): var config_file = ConfigFile.new() var err = config_file.load( "user://settings.cfg" ) if err: print("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