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.gd91
1 files changed, 0 insertions, 91 deletions
diff --git a/client/menu/settings_row.gd b/client/menu/settings_row.gd
deleted file mode 100644
index d57bbee0..00000000
--- a/client/menu/settings_row.gd
+++ /dev/null
@@ -1,91 +0,0 @@
-class_name SettingsRow
-extends PanelContainer
-
-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):
- setting = dict[key]
- description = setting["description"]
- var value = setting["value"]
- default = defaults[key]["value"]
- match setting["type"]:
- "toggle":
- value_node = CheckButton.new()
- value_node.button_pressed = value
- "line":
- value_node = LineEdit.new()
- value_node.text = value
- if default != "":
- value_node.placeholder_text = default
- else:
- value_node.placeholder_text = description
- "dropdown":
- value_node = OptionButton.new()
- for i in setting["options"]:
- value_node.add_item(i)
- value_node.select(value)
- "dropdown_preset":
- value_node = OptionButton.new()
- for i in setting["options"]:
- value_node.add_item(i)
- value_node.select(value)
- value_node.connect("item_selected", apply.bind(Global.get(setting["apply"])))
- "range":
- value_node = HSlider.new()
- value_node.min_value = setting["min"]
- value_node.max_value = setting["max"]
- value_node.tick_count = abs(setting["max"] - setting["min"])
- value_node.value = value
- _:
- push_error("Could not set up SettingsRow: Unknown setting type \"%s\"" % setting["type"])
-
-func _ready():
- if value_node != null:
- var c: Control = value_node
- c.size_flags_vertical = Control.SIZE_EXPAND_FILL
- c.size_flags_horizontal = Control.SIZE_EXPAND_FILL
- label.text = description
- value_parent.add_child(c)
-
-func apply(idx: int, apply: Array):
- emit_signal("apply_preset", apply[idx])
-
-func get_value():
- if value_node != null:
- if value_node is CheckButton:
- return value_node.button_pressed
- elif value_node is LineEdit:
- return value_node.text
- elif value_node is OptionButton:
- return value_node.selected
- elif value_node is HSlider:
- return value_node.value
- else:
- push_error("get_value() failed for unknown node type: %s" % value_node)
- 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"])