summaryrefslogtreecommitdiff
path: root/client/menu
diff options
context:
space:
mode:
Diffstat (limited to 'client/menu')
-rw-r--r--client/menu/settings/preset_row.gd25
-rw-r--r--client/menu/settings/range_setting.gd7
-rw-r--r--client/menu/settings/settings_category.gd15
-rw-r--r--client/menu/warning_popup.gd1
4 files changed, 22 insertions, 26 deletions
diff --git a/client/menu/settings/preset_row.gd b/client/menu/settings/preset_row.gd
index 808f6381..7eca0c3c 100644
--- a/client/menu/settings/preset_row.gd
+++ b/client/menu/settings/preset_row.gd
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
-class_name Preset
+class_name PresetRow
extends GameSetting
var options: Dictionary
@@ -24,15 +24,22 @@ func _init(id: String, options_: Dictionary):
super(id)
options = options_
+var prefix = ""
+func set_parent(parent):
+ super(parent)
+ if parent != null: prefix = parent.key
+
func apply(preset_name: String):
- var preset: Dictionary = options[preset_name]
+ var preset = options[preset_name]
for i in preset.keys():
- var setting_name: String = i
- Global.set_setting(setting_name, preset[setting_name])
+ Global.set_setting(prefix + "." + i, preset[i])
func _update_row():
- for i in options.keys():
- var button := Button.new()
- button.pressed.connect(apply.bind(i))
- button.text = i
- arr.push_back(button)
+ super()
+ if row.value_node == null:
+ row.value_node = HBoxContainer.new()
+ for i in options.keys():
+ var button := Button.new()
+ button.pressed.connect(apply.bind(i))
+ button.text = tr(nskey + "." + i)
+ row.value_node.add_child(button)
diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd
index d8616d54..49db7c21 100644
--- a/client/menu/settings/range_setting.gd
+++ b/client/menu/settings/range_setting.gd
@@ -37,7 +37,8 @@ func _update_row():
row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count
row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1))
row.value_node.value = Global.get_setting(key)
- if not row.value_node.value_changed.is_connected(from_ui): row.value_node.value_changed.connect(from_ui)
+ if not row.value_node.value_changed.is_connected(from_ui):
+ row.value_node.value_changed.connect(from_ui)
-func from_ui():
- Global.set_setting(key, row.value_node.value)
+func from_ui(value):
+ Global.set_setting(key, value)
diff --git a/client/menu/settings/settings_category.gd b/client/menu/settings/settings_category.gd
index 7425ea19..a80c12c9 100644
--- a/client/menu/settings/settings_category.gd
+++ b/client/menu/settings/settings_category.gd
@@ -17,14 +17,12 @@ class_name SettingsCategory
extends GameSetting
var settings: Array # Dictionary[String, GameSetting]
-var presets # Array[Preset]
var options: VBoxContainer
-func _init(new_id: String, new_settings: Array, new_presets = []):
+func _init(new_id: String, new_settings: Array):
super(new_id)
settings = new_settings
- presets = new_presets
func set_parent(parent: GameSetting):
super(parent)
@@ -41,19 +39,10 @@ func _update_row():
if options.get_parent() != row:
row.add_child(options)
- if presets != null:
- for i in presets:
- var prow: SettingsRow = preload("res://menu/settings/settings_row.tscn").instantiate()
- options.add_child(prow)
- prow.label.text = i.label
- prow.reset_button.visible = false
- for b in i.buttons():
- prow.value_parent.add_child(b)
-
for r in settings:
r._update_row()
+ print(r.row)
if r.row.get_parent() != options:
- print(r.row)
options.add_child(r.row)
func check():
diff --git a/client/menu/warning_popup.gd b/client/menu/warning_popup.gd
index 20741834..fd23a30a 100644
--- a/client/menu/warning_popup.gd
+++ b/client/menu/warning_popup.gd
@@ -2,7 +2,6 @@ extends Menu
class_name WarningPopup
func _ready():
- print(self.data)
$CenterContainer/Panel/MarginContainer/VBoxContainer/Message.text = self.data
func _on_accept_pressed():