From 23fd884b2e67b0a986c4e93a7246b9f936015f46 Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Tue, 8 Oct 2019 08:56:51 -0500 Subject: [PATCH] Various changes: * Add automatic speaking of percentages when changed. * Remove icon for now. --- Accessible.gd | 29 +++++++++++++++++++++++++++++ Plugin.gd | 2 +- icon.png | Bin 7569 -> 0 bytes 3 files changed, 30 insertions(+), 1 deletion(-) delete mode 100644 icon.png 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 6ad9b4311700295590d65d2634a34661cd29a312..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7569 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 U){O*H&;K*zq?9Eq#EpOaANs6-!vFvP