-
-
Notifications
You must be signed in to change notification settings - Fork 734
Magnifier implementation #19228
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
base: master
Are you sure you want to change the base?
Magnifier implementation #19228
Conversation
f5a86b5 to
7b3ee4f
Compare
CyrilleB79
left a comment
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.
Two missing commas.
Though unfortunately, I do not know where to see all required changes. I seem to remember that it was possible but do not rmember how.
|
It might explain 2 errors but I have 6 so I don't know, I'll try to push these 2 and check again the others |
|
So I had to comment a line in the pre-commit-config.yaml to make it work locally. markdownlint-cli2 was failling and as it was not what github wanted me to change, I just simply commented the lines. I'll revert it back |
|
as said previously, my computer may not be the best machine to run all test, I marked it as ready to review to see if Github test are working. I'll put it as a draft after the results. |
|
Thanks @CyrilleB79 and @Boumtchack for the fixups, I can see tests are passing now which is good. I think the overall design here is very solid, there's just minor fix-ups and documentation left. Note I haven't reviewed the full code in detail yet, particularly the tests. |
|
Here's what I still have to work on:
I'll work on that tomorrow |
|
I have not done an in-depth review, but here are points that I have noted: Screen curtain conflictIf NVDA magnifier is applying color filters, this conflicts with NVDA's Screen Curtain, since they both use the color transformation matrix. Trying to enable or disable in any order creates unexpected issues. Thus:
DocumentationA section in the User Guide as well as a Change log item ("New features" section) are required. The description in the User Guide should help understand if the feature is implemented as expected. LoggingYou are using Again, thanks for this work. I had not yet tested all the features, but the spotlight seems a very nice one (visual double check needs to be done by someone else than I though). |
|
I'll try to see what I can do for the screen curtain, but if is there a reason someone that uses screen curtain would use the magnifier and the other way around? I'm not sure both are used by the same users. for the log.info, I was going to remove them anyway when everything was clean, it's just helpfull for me to see where I'm at. I'm kinda lost on where and what I should do for Documentation, is there a way you could give me a placeholder on the files I should change? |
I am such a user. Today, I use NVDA speech feedback as main information channel, in conjunction with Windows Magnifier (with color filter inverted colors) as additional information channel. In case I work with sensitive information, I activate Screen Curtain and use only speech channel. Today, I need to exit Magnifier or to remove color filter before enabling Screen Curtain, and to reopen Magnifier or to restore color filter after I have finished with Screen Curtain. Being able to enable and disable screen curtain keeping the same Magnifier configuration would be a plus. Regarding the other way around, i.e. enabling / disabling Magnifier while Screen curtain is active, I have no real use cases in mind. But I can imagine these ones:
OK. Nice.
The Change log is at The User Guide is at First, in section " Also, it seems quite likely that describing the panel's options is not enough. Since the Magnifier will be a full NVDA specific feature (not just a little feature), it needs to be described in its own section. I think that you need to write a "
Only English documentation needs to be updated; the documentation in other languages will then be updated by translators from the English one. |
|
Thanks for the feedback! |
|
i have a hard time making a way to switch between magnifier and the Screen Curtain without errors, so I kept it it simple for now with just preventing one to launch if the other is enabled, I will still try to find a way to make it work as Cyrille said it would be a good point to be abble to toggle them. |
Link to issue number:
Closes #12539
Summary of the issue:
This pull request introduces a new NVDA magnifier feature, including docked and lens magnifier modes, color filter support, and a set of global commands for controlling magnification. The changes add new classes for handling magnifier windows, provide optimized color filtering, and implement keyboard shortcuts for toggling magnification, zooming, cycling modes, and color filters.
Description of user facing changes:
Implemented new script commands in globalCommands.py for starting/stopping the magnifier, zooming in/out, cycling color filters, toggling fullscreen mode, cycling magnifier types, and spotlighting the magnifier window, each with descriptive messages and gestures.
Description of developer facing changes:
Description of development approach:
Creating 3 types of magnifier that will be called based on prefered choice of the user. each one got his class and will share settings through parents class
Testing strategy:
unit test
Known issues with pull request:
Code Review Checklist: