extends VBoxContainer @onready var settings_api_key = $"%settings_api_key" @onready var settings_location = $"%settings_location" @onready var settings_celsius = $"%settings_celsius" @onready var settings_fahrenheit = $"%settings_fahrenheit" @onready var settings_autodark = $"%settings_autodark" @onready var settings_12_hour_clock = $"%settings_12_hour_clock" var changed: bool = false func _ready(): settings_api_key.text = Config.flags.api_key settings_location.text = Config.flags.location settings_celsius.set_pressed_no_signal(Config.flags.show_celsius) settings_fahrenheit.set_pressed_no_signal(Config.flags.show_fahrenheit) settings_autodark.set_pressed_no_signal(Config.flags.automatic_dark_mode) settings_12_hour_clock.set_pressed_no_signal(Config.flags.use_12_hour_clock) $"%prevent_sleep_mode".set_pressed_no_signal(Config.flags.prevent_sleep_mode) func _on_settings_api_key_text_changed(new_text): $api_debounce.start(3.5) func _on_settings_location_text_changed(new_text): $api_debounce.start(3.5) func _on_settings_celsius_toggled(button_pressed): Config.flags.show_celsius = button_pressed Config.flags.emit_changed() func _on_settings_fahrenheit_toggled(button_pressed): Config.flags.show_fahrenheit = button_pressed Config.flags.emit_changed() func _on_settings_autodark_toggled(button_pressed): Config.flags.automatic_dark_mode = button_pressed Config.flags.emit_changed() func _on_settings_12_hour_clock_toggled(button_pressed): Config.flags.use_12_hour_clock = button_pressed Config.flags.emit_changed() func _on_location_debounce_timeout(): Config.flags.location = $"%settings_location".text Config.flags.api_key = $"%settings_api_key".text Config.flags.emit_changed() func _on_show_api_key_toggled(button_pressed): $"%settings_api_key".secret = !button_pressed func _on_prevent_sleep_mode_toggled(button_pressed): Config.flags.prevent_sleep_mode = button_pressed Config.flags.emit_changed() func _on_paste_key_pressed(): var clipboard = DisplayServer.clipboard_get() if not clipboard in ['', null]: $"%settings_api_key".text = clipboard _on_location_debounce_timeout()