Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Add filtering functionality to the symbols list #8790
Link to issue number:
Summary of the issue:
Now that emoji's have been introduced in NVDA symbol dictionaries, the list of symbols was getting pretty big. This also introduced a major lag when opening the speech symbols dialog.
Description of how this pull request fixes the issue:
Filtering, adding and removing items, closing the dialog and reopening it again quickly after that.
Known issues with pull request:
Change log entry:
I must have missed the Chinese annotations.
@dingpengyu: Could you please open a new issue for this? I'm not yet known with the various differences in the Chinese language, so it is quite difficult to decided what would be the best assignments. In NVDA, we have the zh-cn, zh-hk and zh-tw locales.
When filtering, the list does not update. The entries only update as they gain focus. Visually this is quite confusing.
Because this dialog is a
I think this dialog could be wider, because the text in the replacement column is often long enough to exceed the width of the column. The replacement field (once populated) often isn't wide enough. There is plenty of space to widen this field, and the dialog itself isn't very wide either.
Some emoji don't seem to be supported by the font. Visually they are just squares. Not a blocking issue right now, since I believe this is already the case. An issue should be created for this.
I can take a look at these points.
Ugh, might this be because the list is virtual? Does this also mean that there's only one item visible at a time or something like that?
No, the list looks correct. After entering a filter the list does not seem to change, until you move focus to the first item, and it suddenly changes. Moving to the next item causes that one to change.
@feerrenrut: I'm ok with your changes and did a small round of tests.
Found and fixed the following:
What happened is that the list of symbols was empty, yet the old logic tried to select a new symbol. Removing a symbol didn't check for the item count properly. Now it does.