-
-
Notifications
You must be signed in to change notification settings - Fork 631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add filtering functionality to the symbols list #8790
Conversation
Korean symbol dictionary has many items. Can you expect to see speed improvements when navigating the list box with this patch? |
Wow! I'm coming across like 31000 symbols here, taking like 20 seconds to load with the current Alpha version of NVDA. This pr reduces that to 2 seconds. |
Thanks.
|
@hi leonardder I am the maintainer of NVDA Simplified Chinese. I found that NVDA can't generate Simplified Chinese emoticon dictionary using the scons command. |
Hi, that’ll be because it isn’t clear at the first glance which XML file is for which Chinese variant. This is something that should be addressed sometime in October. Thanks.
|
thank josephsl |
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. |
Hi, I can assist with this, as I work with Asian languages in a regular basis. When creating this new issue, please at mention me (CC me). Thanks.
|
This comment has been minimized.
This comment has been minimized.
@feerrenrut: I've removed the blocked label since #8006 is merged. However, I'm not yet sure what to do to make this dialog scale correctly, other than setting resizable to True. The size of the list control and its columns is undefined. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 SettingsDialog
Then there is no need to do anything to get the DPI scaling, except, if you specify a size manually, you must pass it through self.scaleSize()
.
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. |
Otherwise the items only change when they receive focus. It appears (visually) as if the list has not changed, until you start to scroll or select items.
…em text at construction time of an AutoWidthColumnListCtrl. A weak reference to the callable is saved on the control. If we wouldn't, closing the punctuation dialog and reopening it would result in a multi instance error. The extensionPoints module provides functionality to deal with instance method weakrefs. Updated that code to allow weak references without an unregister callback.
@feerrenrut: Thanks for fixing the list updating issue. Would be great if you can fix the replacement column width as well, since it would really help to do that with a pair of eyes. |
Yep, I'll take a look at the widths in the dialog tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've looked through this again and I'm happy for it to be merged. @LeonarddeR Are you happy with the latest changes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've got some comments. Also, you could consider adding a convenience wrapper for the new LabeledTextControl to BoxSizerHelper.
hi |
This was a clumsy attempt to be able to support making the textCtrls resize with the dialog. The real problem is that GuiHelper is not felixible enough to do it in a simple way. For now, we will just set a reasonable starting size.
The parameter was deceptively named "index" where it affected columns numbers, first column is 1 not 0.
Reduce nesting, clarify some comments.
@LeonarddeR I've made a few changes here, if you are happy with this I think it is ready to be merged. |
…y to focus a nonexistent item. Also properly disable the remove button when disabling the controls
@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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I'll merge this in.
New features: - You can now filter symbols in the punctuation/symbol pronunciation dialog, similar to how filtering works in the elements list and input gestures dialog. (#5761) Bug fixes: - Loading the punctuation/symbol pronunciation dialog is now much faster when using symbol dictionaries containing over 1000 entries. (#8790)
Link to issue number:
Closes #5761
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:
Testing performed:
Filtering, adding and removing items, closing the dialog and reopening it again quickly after that.
Known issues with pull request:
Change log entry:
New features
Bug fixes