aboutsummaryrefslogtreecommitdiff
path: root/client/menu/settings_row.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/menu/settings_row.gd')
-rw-r--r--client/menu/settings_row.gd22
1 files changed, 20 insertions, 2 deletions
diff --git a/client/menu/settings_row.gd b/client/menu/settings_row.gd
index 30b1fd67..d57bbee0 100644
--- a/client/menu/settings_row.gd
+++ b/client/menu/settings_row.gd
@@ -6,14 +6,16 @@ signal apply_preset
@onready var value_parent = $HBoxContainer/BoxContainer
@onready var label = $HBoxContainer/Label
+var setting
+var default
var value_node
var description = tr("no value was given to the row")
func setup(key: String, dict: Dictionary, defaults: Dictionary):
- var setting = dict[key]
+ setting = dict[key]
description = setting["description"]
var value = setting["value"]
- var default = defaults[key]["value"]
+ default = defaults[key]["value"]
match setting["type"]:
"toggle":
value_node = CheckButton.new()
@@ -71,3 +73,19 @@ func get_value():
return null
else:
return null
+
+func _on_reset_pressed():
+ match setting["type"]:
+ "toggle":
+ value_node.button_pressed = default
+ "line":
+ value_node.text = default
+ "dropdown":
+ value_node.select(default)
+ "dropdown_preset":
+ value_node.select(default)
+ value_node.emit_signal("item_selected", value_node.selected)
+ "range":
+ value_node.value = default
+ _:
+ push_error("Could not reset setting: Unknown setting type \"%s\"" % setting["type"])