From 559d60eeefed91a304fbd130cd04a9e3a8b9b033 Mon Sep 17 00:00:00 2001 From: Adrian Schmid Date: Tue, 18 Jul 2023 21:00:21 +0200 Subject: [PATCH] 1st page accessibility settings (almost working except for fonts and ui scale) --- src/logic-scenes/startup/startup.tscn | 82 +++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 4 deletions(-) diff --git a/src/logic-scenes/startup/startup.tscn b/src/logic-scenes/startup/startup.tscn index 56d7b304..b6b7300a 100644 --- a/src/logic-scenes/startup/startup.tscn +++ b/src/logic-scenes/startup/startup.tscn @@ -8,9 +8,61 @@ [sub_resource type="GDScript" id="GDScript_a78qq"] script/source = "extends Panel +@onready var show_navigation_buttons = $\"CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin/show nav ui\" func starting(): $\"CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/Next\".grab_focus() + +# toggle for disable rendering +func _on_disable_rendering_toggled(button_pressed): + State.disable_rendering = button_pressed + +# toggle for simplified controls +func _on_simplified_controls_toggled(button_pressed): + State.simplified_navigation = button_pressed # this is how you reach the global state + show_navigation_buttons.disabled = not button_pressed # if simpl. controls was toggled - disabled = false + +# toggle for show nav buttons +func _on_show_nav_ui_toggled(button_pressed): + State.show_navigation_buttons = button_pressed + +# select font +# still needs handling to change the style +func _on_font_style_selected(index): + match index: + 0: + print_debug(\"messy handwriting selected\") + #self.theme.set_font(\"NanumBrushScript.ttf\") + return + 1: + print_debug(\"easy handwriting selected\") + #owner.theme.set_font(\"NanumPenScript.ttf\") + return + 2: + print_debug(\"legible serif selected\") + #owner.theme.set_font(\"Eczar-VariableFont_wght.ttf\") + return + 3: + print_debug(\"hyperlegible sans selected\") + #owner.theme.set_font(\"AtkinsonHyperlegible.ttf\") + return + 4: + print_debug(\"system front selected\") + #owner.theme.set_font(SystemFont.fallbacks[0]) + return + +func _on_subtitle_option_selected(index): + match index: + 0: + State.enable_subtitles = false + State.enable_closed_caption = false + 1: + State.enable_subtitles = true + State.enable_closed_caption = false + 2: + State.enable_subtitles = true + State.enable_closed_caption = true + print_debug(State.print_settings()) " [sub_resource type="GDScript" id="GDScript_ia432"] @@ -18,6 +70,9 @@ script/source = "extends TabContainer var focus_list: Array +@onready var disable_rendering = $\"physical Accessibility/Container2/margin2/show nav buttons\" +@onready var simplified_controls = $\"physical Accessibility/Container2/simplified controls\" + func _ready(): for child in get_children(): focus_list.append(_find_selectable_in(child)) @@ -61,7 +116,11 @@ func previous(): func _on_screenreader_toggled(button_pressed): State.screen_reader = button_pressed # this is how you reach the global state - print_debug(State.screen_reader) + disable_rendering.disabled = not button_pressed # if screenreader was toggled - disabled = false + simplified_controls.button_pressed = button_pressed + State.simplified_navigation = button_pressed + + " [sub_resource type="GDScript" id="GDScript_v567h"] @@ -152,7 +211,6 @@ layout_mode = 2 [node name="Screenreader" type="CheckBox" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2"] layout_mode = 2 -button_pressed = true text = "activate Screenreader" script = SubResource("GDScript_v567h") @@ -174,7 +232,6 @@ layout_mode = 2 [node name="show nav ui" type="CheckBox" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin"] layout_mode = 2 disabled = true -button_pressed = true text = "show Navigation Buttons" [node name="GridContainer" type="GridContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2"] @@ -210,7 +267,7 @@ layout_mode = 2 text = "Subtitles:" [node name="VSeparator2" type="VSeparator" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] -custom_minimum_size = Vector2(30, 0) +custom_minimum_size = Vector2(30, 60) layout_mode = 2 [node name="ItemList2" type="OptionButton" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] @@ -225,6 +282,18 @@ popup/item_1/id = 1 popup/item_2/text = "text and audio" popup/item_2/id = 2 +[node name="Label3" type="Label" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] +layout_mode = 2 +text = "UI scale:" + +[node name="VSeparator3" type="VSeparator" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] +custom_minimum_size = Vector2(30, 60) +layout_mode = 2 + +[node name="HSlider" type="HSlider" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] +custom_minimum_size = Vector2(0, 60) +layout_mode = 2 + [node name="navbuttons" type="VSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility"] layout_mode = 2 size_flags_horizontal = 4 @@ -538,6 +607,11 @@ grow_vertical = 2 text = "I stream this game, please show content notes." [connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/Screenreader" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="_on_screenreader_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin2/show nav buttons" to="." method="_on_disable_rendering_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/simplified controls" to="." method="_on_simplified_controls_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin/show nav ui" to="." method="_on_show_nav_ui_toggled"] +[connection signal="item_selected" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer/ItemList" to="." method="_on_font_style_selected"] +[connection signal="item_selected" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer/ItemList2" to="." method="_on_subtitle_option_selected"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"]