settings.gd 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. extends Window
  2. signal open_cdp_location
  3. signal console_on_top
  4. var interface_settings
  5. # Called when the node enters the scene tree for the first time.
  6. func _ready() -> void:
  7. pass
  8. func _on_change_cdp_button_down() -> void:
  9. self.hide()
  10. open_cdp_location.emit()
  11. func _on_close_requested() -> void:
  12. self.hide()
  13. func _on_about_to_popup() -> void:
  14. interface_settings = ConfigHandler.load_interface_settings()
  15. $VBoxContainer/HBoxContainer5/ThemeList.select(interface_settings.theme, true)
  16. $VBoxContainer/HBoxContainer/CustomColourPicker.color = Color(interface_settings.theme_custom_colour)
  17. $VBoxContainer/HBoxContainer2/PvocWarning.button_pressed = interface_settings.disable_pvoc_warning
  18. $VBoxContainer/HBoxContainer3/AutoCloseConsole.button_pressed = interface_settings.auto_close_console
  19. $VBoxContainer/HBoxContainer4/ConsoleAlwaysOnTop.button_pressed = interface_settings.console_on_top
  20. func _on_pvoc_warning_toggled(toggled_on: bool) -> void:
  21. ConfigHandler.save_interface_settings("disable_pvoc_warning", toggled_on)
  22. func _on_auto_close_console_toggled(toggled_on: bool) -> void:
  23. ConfigHandler.save_interface_settings("auto_close_console", toggled_on)
  24. func _on_console_always_on_top_toggled(toggled_on: bool) -> void:
  25. ConfigHandler.save_interface_settings("console_on_top", toggled_on)
  26. console_on_top.emit(toggled_on)
  27. func _on_theme_list_item_selected(index: int) -> void:
  28. ConfigHandler.save_interface_settings("theme", index)
  29. match index:
  30. 0:
  31. RenderingServer.set_default_clear_color(Color("#2f4f4e"))
  32. 1:
  33. RenderingServer.set_default_clear_color(Color("#000807"))
  34. 2:
  35. RenderingServer.set_default_clear_color(Color("#98d4d2"))
  36. 3:
  37. RenderingServer.set_default_clear_color(Color(interface_settings.theme_custom_colour))
  38. func _on_custom_colour_picker_color_changed(color: Color) -> void:
  39. ConfigHandler.save_interface_settings("theme_custom_colour", color.to_html(false))
  40. if $VBoxContainer/HBoxContainer5/ThemeList.is_selected(3):
  41. RenderingServer.set_default_clear_color(color)