aboutsummaryrefslogtreecommitdiff
path: root/client/menu/settings/dropdown_setting.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-09-07 03:31:25 +0200
committermetamuffin <metamuffin@disroot.org>2024-09-07 03:31:25 +0200
commit239619be774855b372eea82213b4d8da2d906f52 (patch)
treef2e3748a4a4e818361365796db21bdf9e70fee97 /client/menu/settings/dropdown_setting.gd
parent03bdf875aec224ee8f74c259ed776da52bad54ff (diff)
downloadhurrycurry-239619be774855b372eea82213b4d8da2d906f52.tar
hurrycurry-239619be774855b372eea82213b4d8da2d906f52.tar.bz2
hurrycurry-239619be774855b372eea82213b4d8da2d906f52.tar.zst
hook changed for rows
Diffstat (limited to 'client/menu/settings/dropdown_setting.gd')
-rw-r--r--client/menu/settings/dropdown_setting.gd16
1 files changed, 6 insertions, 10 deletions
diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd
index 62162320..8dffce5a 100644
--- a/client/menu/settings/dropdown_setting.gd
+++ b/client/menu/settings/dropdown_setting.gd
@@ -22,14 +22,10 @@ func _init(new_id: String, new_default, new_options: Array):
super(new_id, new_default)
options = new_options
-func _update_row():
- super()
+func create_row():
+ var row = super()
row.value_node = OptionButton.new()
- for i in options:
- row.value_node.add_item(tr(nskey + "." + i))
- row.value_node.select(options.find(Global.get_setting(key)))
- if not row.value_node.item_selected.is_connected(from_ui):
- row.value_node.item_selected.connect(from_ui)
-
-func from_ui(index):
- Global.set_setting(key, options[index])
+ for i in options: row.value_node.add_item(tr(nskey + "." + i))
+ Settings.hook_changed_init(func (value): row.value_node.select(options.find(Global.get_setting(value))))
+ row.value_node.item_selected.connect(func(item): Global.set_setting(key, options[item]))
+ return row