diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-06 23:43:42 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-06 23:43:42 +0200 |
commit | 06baf4555dc1c7a64bed7d059fbe34c99e9638fb (patch) | |
tree | 923d343033a8c1aa28a8d6c834c0332ddd2201ab /client/menu/settings.gd | |
parent | d7fefc69c0a8a4b70d3553125af5f5cabdba6b3b (diff) | |
download | hurrycurry-06baf4555dc1c7a64bed7d059fbe34c99e9638fb.tar hurrycurry-06baf4555dc1c7a64bed7d059fbe34c99e9638fb.tar.bz2 hurrycurry-06baf4555dc1c7a64bed7d059fbe34c99e9638fb.tar.zst |
refactor settings again (part 1)
Diffstat (limited to 'client/menu/settings.gd')
-rw-r--r-- | client/menu/settings.gd | 43 |
1 files changed, 4 insertions, 39 deletions
diff --git a/client/menu/settings.gd b/client/menu/settings.gd index eb143900..b47331c6 100644 --- a/client/menu/settings.gd +++ b/client/menu/settings.gd @@ -16,52 +16,17 @@ # extends Menu -const SETTINGS_ROW_SCENE = preload("res://menu/settings/settings_row.tscn") - -@onready var settings_tabs: TabContainer = $OuterGap/Panel/InnerGap/VBoxContainer/TabContainer +@onready var container = $OuterGap/Panel/InnerGap/VBoxContainer func _ready(): super() - update_rows() + Global.settings_tree._update_row() + container.add_child(Global.settings_tree.row) + container.move_child(Global.settings_tree.row, 1) func _on_back_pressed(): exit() func exit(): Global.save_settings() - Global.apply_settings() super() - -func update_rows(fix_focus = false): - for c in settings_tabs.get_children(): - c.queue_free() - - for category: SettingsCategory in Global.default_settings: - var category_settings = category.settings - var scroll := ScrollContainerCustom.new() - var options := VBoxContainer.new() - scroll.name = category.name - scroll.size_flags_horizontal = Control.SIZE_EXPAND_FILL - settings_tabs.add_child(scroll) - options.size_flags_horizontal = Control.SIZE_EXPAND_FILL - scroll.add_child(options) - - var category_presets = category.presets - if category_presets != null: - for i: Preset in category_presets: - var row: SettingsRow = SETTINGS_ROW_SCENE.instantiate() - options.add_child(row) - row.label.text = i.label - row.reset_button.visible = false - for b in i.buttons(): - row.value_parent.add_child(b) - - for k: String in category_settings.keys(): - var row: SettingsRow = Global.settings[k].get_row() - options.add_child(row) - - if fix_focus: - pass - # TODO: Not implemented! - # await get_tree().process_frame - # Global.focus_first(self) |