settings.gd 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. extends Window
  2. signal open_cdp_location
  3. signal console_on_top
  4. signal invert_ui
  5. signal swap_zoom_and_move
  6. signal ui_scale_multiplier_changed
  7. var interface_settings
  8. var main_theme = preload("res://theme/main_theme.tres")
  9. var cdpprogs_location
  10. # Called when the node enters the scene tree for the first time.
  11. func _ready() -> void:
  12. pass
  13. func _on_change_cdp_button_down() -> void:
  14. self.hide()
  15. open_cdp_location.emit()
  16. func _on_close_requested() -> void:
  17. self.hide()
  18. func _on_about_to_popup() -> void:
  19. interface_settings = ConfigHandler.load_interface_settings()
  20. $MainContainer/HBoxContainer/VBoxContainer/HBoxContainer5/ThemeList.select(interface_settings.theme, true)
  21. $MainContainer/HBoxContainer/VBoxContainer/HBoxContainer/CustomColourPicker.color = Color(interface_settings.theme_custom_colour)
  22. $MainContainer/HBoxContainer/VBoxContainer/invert_ui_container/InvertUI.button_pressed = interface_settings.invert_theme
  23. $MainContainer/HBoxContainer/VBoxContainer/high_contrast_cables_container/HighContrastCablesToggle.button_pressed = interface_settings.high_contrast_selected_cables
  24. $MainContainer/HBoxContainer/VBoxContainer/ui_scale_container2/UIScaleOffsetSpinbox.value = interface_settings.ui_scale_multiplier
  25. $MainContainer/HBoxContainer/VBoxContainer2/HBoxContainer8/SwapZoomAndMoveToggle.button_pressed = interface_settings.swap_zoom_and_move
  26. $MainContainer/HBoxContainer/VBoxContainer2/HBoxContainer9/RightClickOpensExploreToggle.button_pressed = interface_settings.right_click_opens_explore
  27. $MainContainer/HBoxContainer/VBoxContainer2/HBoxContainer2/PvocWarning.button_pressed = interface_settings.disable_pvoc_warning
  28. $MainContainer/HBoxContainer/VBoxContainer2/HBoxContainer6/ProgressBar.button_pressed = interface_settings.disable_progress_bar
  29. $MainContainer/HBoxContainer/VBoxContainer2/HBoxContainer3/AutoCloseConsole.button_pressed = interface_settings.auto_close_console
  30. $MainContainer/HBoxContainer/VBoxContainer2/HBoxContainer4/ConsoleAlwaysOnTop.button_pressed = interface_settings.console_on_top
  31. $MainContainer/HBoxContainer/VBoxContainer/HBoxContainer7/cdprogsLocationLabel.text = cdpprogs_location
  32. $MainContainer/HBoxContainer/VBoxContainer/HBoxContainer7.tooltip_text = cdpprogs_location
  33. func _on_pvoc_warning_toggled(toggled_on: bool) -> void:
  34. ConfigHandler.save_interface_settings("disable_pvoc_warning", toggled_on)
  35. func _on_progress_bar_toggled(toggled_on: bool) -> void:
  36. ConfigHandler.save_interface_settings("disable_progress_bar", toggled_on)
  37. func _on_auto_close_console_toggled(toggled_on: bool) -> void:
  38. ConfigHandler.save_interface_settings("auto_close_console", toggled_on)
  39. func _on_console_always_on_top_toggled(toggled_on: bool) -> void:
  40. ConfigHandler.save_interface_settings("console_on_top", toggled_on)
  41. console_on_top.emit(toggled_on)
  42. func _on_theme_list_item_selected(index: int) -> void:
  43. interface_settings = ConfigHandler.load_interface_settings()
  44. ConfigHandler.save_interface_settings("theme", index)
  45. match index:
  46. 0:
  47. RenderingServer.set_default_clear_color(Color("#2f4f4e"))
  48. 1:
  49. RenderingServer.set_default_clear_color(Color("#000807"))
  50. 2:
  51. RenderingServer.set_default_clear_color(Color("#98d4d2"))
  52. 3:
  53. RenderingServer.set_default_clear_color(Color(interface_settings.theme_custom_colour))
  54. func _on_custom_colour_picker_color_changed(color: Color) -> void:
  55. ConfigHandler.save_interface_settings("theme_custom_colour", color.to_html(false))
  56. if $MainContainer/HBoxContainer/VBoxContainer/HBoxContainer5/ThemeList.is_selected(3):
  57. RenderingServer.set_default_clear_color(color)
  58. func _on_invert_ui_toggled(toggled_on: bool) -> void:
  59. ConfigHandler.save_interface_settings("invert_theme", toggled_on)
  60. invert_ui.emit(toggled_on)
  61. func _on_swap_zoom_and_move_toggle_toggled(toggled_on: bool) -> void:
  62. ConfigHandler.save_interface_settings("swap_zoom_and_move", toggled_on)
  63. swap_zoom_and_move.emit(toggled_on)
  64. func _on_high_contrast_cables_toggle_toggled(toggled_on: bool) -> void:
  65. ConfigHandler.save_interface_settings("high_contrast_selected_cables", toggled_on)
  66. func _on_ui_scale_offset_spinbox_value_changed(value: float) -> void:
  67. ConfigHandler.save_interface_settings("ui_scale_multiplier", value)
  68. ui_scale_multiplier_changed.emit(value)
  69. func _on_right_click_opens_explore_toggle_toggled(toggled_on: bool) -> void:
  70. ConfigHandler.save_interface_settings("right_click_opens_explore", toggled_on)