75433eb5d6
Migrate focus restoration to _process
.
2019-12-27 12:50:33 -06:00
d6a6609673
Eliminate yield
in favor of _process
.
2019-12-27 12:46:09 -06:00
aea75e961e
Eliminate warnings about disconnection of nonexistent timeout signal.
2019-12-27 12:04:09 -06:00
b5a83e1c25
Add stub for detecting touchscreen events.
2019-12-27 11:19:49 -06:00
9051f381fe
Use WeakRef
to avoid double-free of timers.
2019-12-26 18:39:10 -06:00
d9c740abd6
Return to having Accessible
be a Node
under ScreenReader
, and having _exit_tree
free resources.
...
This eliminates the need to track and iterate through a separate array of `Accessible`s in `ScreenReader`.
The previous performance issues are resolved by ensuring that any nodes processed aren't children of the `ScreenReader` node. I don't know of another way to avoid triggering signals on a child node than checking ancestry and failing fast.
2019-12-26 18:25:26 -06:00
24483e4453
Patch another leak.
2019-12-23 09:59:12 -06:00
606766e0e8
Store list of Accessibles
and clean up manually.
2019-12-22 21:01:47 -06:00
dfe0c8179e
Make Accessible
extend Node
and parent it to ScreenReader
for easier cleanup.
2019-12-22 18:55:45 -06:00
6adce2706c
Ensure text
and old_text
are set before processing text changes.
2019-12-22 10:26:44 -06:00
4a8934abb3
Update README.
2019-12-22 09:56:22 -06:00
8e7f8c69f9
Connect signal in deferred mode to make plugin work on Beta 4.
2019-12-22 09:33:00 -06:00
ebf63b10e5
Update README.
2019-12-21 10:51:12 -06:00
b413961c52
Separate out editor accessibility from addition of the ScreenReader
node.
2019-12-21 10:13:06 -06:00
b4acee6dea
Support .godot-accessibility-editor-settings.ini file in project root. Currently supports setting rate and globally disabling plugin.
2019-12-21 09:54:12 -06:00
9f93730aa8
Switch order of Range
and ProgressBar
checks, resolving crash and restoring progress updates.
2019-12-20 13:59:31 -06:00
0a96ddb2e4
Don't hard-code rate to maximum.
2019-10-18 12:10:11 -05:00
6982e2023d
Don't speak range changes if the node isn't focused.
2019-10-18 11:35:04 -05:00
e1d24a00a4
Basic support for Range
.
...
Tested with `HSlider` and has basic support for other widget types, but I'm only adding support for what I'm immediately using or can access via the editor.
2019-10-18 10:58:16 -05:00
82b24801a3
Basic stub functionality for TextEdit
.
...
This can barely be called "support." It reads all text as a single block. I'd like to at least be able to unfocus the `TextEdit`, but it's going to require a custom key. Ctrl-tab and Ctrl-shift-tab seem like good candidates, but the editor grabs those already.
2019-10-18 10:44:31 -05:00
fc3c70e16c
#2 : Fix incorrect method name in signal connection.
...
Fixes #2 .
2019-10-17 10:02:55 -05:00
b7facbdf69
Merge branch 'ellenhp/godot-accessibility-fix_tree_multiselect'
2019-10-17 09:41:41 -05:00
Ellen Poe
fc475ae6b8
Fix tree traversal bug
2019-10-16 18:09:01 -07:00
dced450b46
Substitute is
checks with is_class
so they'll work in editor and export builds.
2019-10-14 09:36:08 -05:00
fdd5f1a5f6
Assorted changes:
...
* Try to improve list selection handling.
* Use `get_class()` to check class membership for editor classes not included in exported games.
2019-10-10 09:49:54 -05:00
792504deb6
Set default rate to 100.
2019-10-10 09:49:33 -05:00
6b0c920549
Crude mitigation for out-of-bounds list indices when arrowing through ItemList
.
2019-10-08 14:29:20 -05:00
23fd884b2e
Various changes:
...
* Add automatic speaking of percentages when changed.
* Remove icon for now.
2019-10-08 08:56:51 -05:00
723d4c298c
Very naive support for LineEdit
input, only single-character changes for now.
2019-10-03 10:28:54 -05:00
d0d80b1cb2
If unfocused, don't set an initial focus if one was restored in the meantime.
2019-10-03 09:52:41 -05:00
18943786a9
When setting up initial tree selection, don't render the node unless it is focused.
2019-10-03 09:47:24 -05:00
5a38aac4a9
Make naming a bit more consistent with signals.
2019-10-03 09:41:49 -05:00
0783dfb548
Add global signal-catching for better handling of cases where focus is lost.
2019-10-03 09:34:22 -05:00
0e8b6ae9e8
Use global TTS
singleton to avoid passing around instances.
2019-10-02 16:20:25 -05:00
8ef356b9bb
Special-case disallowing focus on bunches of nodes.
2019-09-30 15:24:02 -05:00
84857e1222
Present checkable menu items.
2019-09-30 15:15:00 -05:00
41550ceef6
When right-clicking TreeItem
s, set the click position to their center.
2019-09-30 14:48:11 -05:00
1faed4fee1
Speak a bit more context when switching screens, and don't pre-empt.
2019-09-30 14:28:36 -05:00
1037becadf
Only prevent checkbox toggles if node is focused.
2019-09-30 09:47:42 -05:00
5bf3bb285b
Set rate to maximum for now.
2019-09-30 09:46:16 -05:00
e68765165c
Revert "Add group navigation."
...
Going to be too complicated to implement the way I wanted to for now. Need to rethink this.
This reverts commit cafd50675b
.
2019-09-26 09:03:46 -05:00
cafd50675b
Add group navigation.
...
Moving through every focusable widget by tab/shift-tab is very slow. This commit introduces the concept of groups--widgets that can be skipped through via ctrl-tab/ctrl-shift-tab.
Right now this only includes containers where all children are focusable, but I'll expand the definition of groups over time to make navingating to large areas of the UI easier..
2019-09-26 08:10:48 -05:00
49d6eb8e59
Rename check_caret_moved
to be more consistent.
2019-09-26 07:52:51 -05:00
24d3ea596b
Slightly better ItemList
handling, though for some reason I can't make it work in file selections.
2019-09-25 17:18:01 -05:00
065f62181b
Merge branch 'master' of https://gitlab.com/lightsoutgames/godot-accessibility
2019-09-25 09:18:20 -05:00
ca73c2f255
Another attempted fix for cases where focus is unset and nothing can be done.
...
When we unfocus, wait a second. If we don't have focus after the timer elapses, warp the mouse to the global coordinates.
This seems to restore some semblance of focus whenever it is unset, while not breaking the case where a focus is set and the mouse suddenly jumps, thus changing the focus again.
2019-09-25 09:15:49 -05:00
af1bd8ec91
Merge branch 'master' of https://gitlab.com/lightsoutgames/godot-accessibility
2019-09-25 09:12:44 -05:00
7630fa3ec0
Capture arrow input on trees so UI focus doesn't skitter off randomly.
2019-09-25 09:12:40 -05:00
636c275c7f
Use create_timer
rather than keeping one around only for AcceptDialog
.
2019-09-25 09:07:26 -05:00
e60f5dcda1
Revert "Use queue_free
rather than free
."
...
This reverts commit 0786b6e6ab
.
2019-09-25 07:31:18 -05:00