1st page accessibility settings (almost working except for fonts and ui scale)

This commit is contained in:
Adrian Schmid 2023-07-18 21:00:21 +02:00
parent 0d64f4adf6
commit 81dc810056
1 changed files with 78 additions and 4 deletions

View File

@ -8,9 +8,61 @@
[sub_resource type="GDScript" id="GDScript_a78qq"] [sub_resource type="GDScript" id="GDScript_a78qq"]
script/source = "extends Panel script/source = "extends Panel
@onready var show_navigation_buttons = $\"CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin/show nav ui\"
func starting(): func starting():
$\"CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/Next\".grab_focus() $\"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"] [sub_resource type="GDScript" id="GDScript_ia432"]
@ -18,6 +70,9 @@ script/source = "extends TabContainer
var focus_list: Array 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(): func _ready():
for child in get_children(): for child in get_children():
focus_list.append(_find_selectable_in(child)) focus_list.append(_find_selectable_in(child))
@ -61,7 +116,11 @@ func previous():
func _on_screenreader_toggled(button_pressed): func _on_screenreader_toggled(button_pressed):
State.screen_reader = button_pressed # this is how you reach the global state 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"] [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"] [node name="Screenreader" type="CheckBox" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2"]
layout_mode = 2 layout_mode = 2
button_pressed = true
text = "activate Screenreader" text = "activate Screenreader"
script = SubResource("GDScript_v567h") 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"] [node name="show nav ui" type="CheckBox" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin"]
layout_mode = 2 layout_mode = 2
disabled = true disabled = true
button_pressed = true
text = "show Navigation Buttons" text = "show Navigation Buttons"
[node name="GridContainer" type="GridContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2"] [node name="GridContainer" type="GridContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2"]
@ -210,7 +267,7 @@ layout_mode = 2
text = "Subtitles:" text = "Subtitles:"
[node name="VSeparator2" type="VSeparator" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] [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 layout_mode = 2
[node name="ItemList2" type="OptionButton" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] [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/text = "text and audio"
popup/item_2/id = 2 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"] [node name="navbuttons" type="VSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility"]
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 4 size_flags_horizontal = 4
@ -538,6 +607,11 @@ grow_vertical = 2
text = "I stream this game, please show content notes." 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/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/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/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"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"]