diff --git a/Accessible.gd b/Accessible.gd index d51118f..da8a6ed 100644 --- a/Accessible.gd +++ b/Accessible.gd @@ -70,6 +70,12 @@ func button_focused(): TTS.speak(tokens.join(": "), false) func texturebutton_focused(): + var texture = node.texture_normal + print(texture.resource_name) + print(texture.resource_path) + var rid = texture.get_rid() + print(rid) + print(rid.get_id()) TTS.speak("button", false) func item_list_item_focused(idx): @@ -345,6 +351,23 @@ func tree_item_collapsed(item): else: TTS.speak("expanded", true) +func progress_bar_focused(): + var percentage = int(node.ratio * 100) + TTS.speak("%s percent" % percentage, false) + TTS.speak("progress bar", false) + +var last_percentage_spoken + +var last_percentage_spoken_at = 0 + +func progress_bar_value_changed(value): + var percentage = node.value / (node.max_value - node.min_value) * 100 + percentage = int(percentage) + if percentage != last_percentage_spoken and OS.get_ticks_msec() - last_percentage_spoken_at >= 10000: + TTS.speak("%s percent" % percentage) + last_percentage_spoken_at = OS.get_ticks_msec() + last_percentage_spoken = percentage + func tab_container_focused(): var text = node.get_tab_title(node.current_tab) text += ": tab: " + str(node.current_tab + 1) + " of " + str(node.get_tab_count()) @@ -392,8 +415,12 @@ func focused(): label_focused() elif node is LineEdit: line_edit_focused() + elif node is LinkButton: + button_focused() elif node is PopupMenu: popup_menu_focused() + elif node is ProgressBar: + progress_bar_focused() elif node is TabContainer: tab_container_focused() elif node is TextureButton: @@ -524,6 +551,8 @@ func _init(node): elif node is PopupMenu: node.connect("id_focused", self, "popup_menu_item_id_focused") node.connect("id_pressed", self, "popup_menu_item_id_pressed") + elif node is ProgressBar: + node.connect("value_changed", self, "progress_bar_value_changed") elif node is TabContainer: node.connect("tab_changed", self, "tab_container_tab_changed") elif node is Tree: diff --git a/Plugin.gd b/Plugin.gd index d884032..4d3d160 100644 --- a/Plugin.gd +++ b/Plugin.gd @@ -11,7 +11,7 @@ func _enter_tree(): get_tree().root.call_deferred("add_child", screen_reader) call_deferred("connect", "scene_changed", screen_reader, "set_initial_scene_focus") call_deferred("connect", "main_screen_changed", screen_reader, "set_initial_screen_focus") - add_custom_type("ScreenReader", "Node", preload("ScreenReader.gd"), preload("icon.png")) + add_custom_type("ScreenReader", "Node", preload("ScreenReader.gd"), null) func _exit_tree(): remove_custom_type("ScreenReader") diff --git a/icon.png b/icon.png deleted file mode 100644 index 6ad9b43..0000000 Binary files a/icon.png and /dev/null differ