Skip to content

Change Magnifier settings into a more organised way#19913

Draft
Boumtchack wants to merge 11 commits into
nvaccess:betafrom
France-Travail:MagnifierSettingsRework
Draft

Change Magnifier settings into a more organised way#19913
Boumtchack wants to merge 11 commits into
nvaccess:betafrom
France-Travail:MagnifierSettingsRework

Conversation

@Boumtchack
Copy link
Copy Markdown
Contributor

Link to issue number:

pre - #19473
parts of #19810

Summary of the issue:

#19810 was still to big so I focused on settingsDiallogs

Description of user facing changes:

Magnifier setttings will be better ordred with sections according to each categories

Description of developer facing changes:

Used groupbox to create groups

Description of development approach:

Separation of General settings that will impact all magnifiers, Magnifier types with their specific settings, placeholder for focus type group.

Testing strategy:

Unit

Known issues with pull request:

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@Boumtchack Boumtchack marked this pull request as ready for review April 7, 2026 09:28
@Boumtchack Boumtchack requested a review from a team as a code owner April 7, 2026 09:28
@Boumtchack Boumtchack requested review from Copilot and seanbudd April 7, 2026 09:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Reorganizes the Magnifier settings panel UI to better group related settings (General / Focus / Fullscreen) using static group boxes.

Changes:

  • Introduces grouped sections in the Magnifier settings panel (General, Focus, Fullscreen).
  • Renames/restructures several Magnifier controls and their associated help bindings.
  • Adds placeholder UI entries for future “Focus” tracking options.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
@Boumtchack Boumtchack requested a review from a team as a code owner April 7, 2026 09:58
@Boumtchack Boumtchack requested a review from Qchristensen April 7, 2026 09:58
@seanbudd
Copy link
Copy Markdown
Member

seanbudd commented Apr 7, 2026

@Boumtchack - please provide a descriptive title

@seanbudd seanbudd marked this pull request as draft April 7, 2026 23:09
@seanbudd seanbudd mentioned this pull request Apr 7, 2026
5 tasks
@seanbudd
Copy link
Copy Markdown
Member

seanbudd commented Apr 7, 2026

Let's focus on #19732 #19739 #19780 #19882 for now. Once most of these are merged, we can work on #19473 #19915 and #19913. Otherwise, there's too much conflicts between the different PRs. We want to ensure work which has already started gets completed before new work is started.

@seanbudd seanbudd closed this Apr 7, 2026
@seanbudd seanbudd changed the title initial commit [needs descriptive title] Apr 20, 2026
@seanbudd seanbudd reopened this Apr 20, 2026
@Boumtchack Boumtchack changed the title [needs descriptive title] Change Magnifier settings into a more organised way Apr 21, 2026
@seanbudd seanbudd changed the base branch from master to beta May 11, 2026 08:21
@seanbudd seanbudd added this to the 2026.2 milestone May 11, 2026
@seanbudd seanbudd changed the base branch from beta to master May 11, 2026 09:32
@seanbudd seanbudd changed the base branch from master to beta May 11, 2026 09:33
@seanbudd
Copy link
Copy Markdown
Member

I think work on this should be blocked/suspended until #20050 is merged

@seanbudd
Copy link
Copy Markdown
Member

#20050 has been merged now, so this is unblocked

@Boumtchack Boumtchack marked this pull request as ready for review June 1, 2026 14:41
@Boumtchack Boumtchack requested a review from Copilot June 1, 2026 14:42
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 7 comments.

Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Jun 1, 2026
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py
@seanbudd seanbudd marked this pull request as draft June 2, 2026 01:47
Comment thread source/gui/settingsDialogs.py Outdated
# Translators: The label for a setting in magnifier settings to select whether true center is used in full-screen mode
trueCenterText = _("Use &true center in fullscreen mode")
self.trueCenterCheckBox = sHelper.addItem(wx.CheckBox(self, label=trueCenterText))
trueCenterText = _("Use &true center")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel that calling the feature "True center tracking" is much clearer than only "True center" which is not very clear. By the way, it's called "True center tracking" in Zoomtext too, from where the feature has been copied.

Also, optionally, I'd remove "Use" since there is no need to overload GUI labels/text. It's already clear, when we have a checkbox labeled with just a feature name, that checking it means "Use feature X". E.g. we already have no problem these options which haven't "Use':

  • "Automatic language switching"
  • "Blink cursor" (in braille settings)
  • "Simple review mode"
Suggested change
trueCenterText = _("Use &true center")
trueCenterText = _("&true center tracking")

Or if you disagree with "Use" removal:

Suggested change
trueCenterText = _("Use &true center")
trueCenterText = _("Use &true center tracking")

Note:

  • @seanbudd "in full screen" has been removed because the checkbox is now in the "Full-screen" group, so no need to overload the GUI repeating it. I fully agree with this removal.
  • I was about to suggest name change / improvement in Magnifier UI improvement #20261 but if you change it already here, it's OK.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"in full screen" has been removed because the checkbox is now in the "Full-screen" group, so no need to overload the GUI repeating it. I fully agree with this removal.

But it hasn't? the setting is in general group

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But it hasn't? the setting is in general group

Oh sorry, you're right.
In any case, "full-screen" should not be in the label since we have a "full-screen" group:

  • either the feature applies to full-screen mode only and it should be moved in the "full-scren" group
  • or it applies to more than one mode (e.g. maybe fixed or docked can support it); in this case it remains in general group but it become incorrect to add "full-screen" in the label

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's two settings that might get mistake:

  • true center, wich change the screen to make the mouse/focus appear at the center of the physicall screen. This one is global
  • Keep mouse center, move the mouse so it stays at the center of the screen while moving, to prevent it getting out of the magnifier view. This is the one is Fullscreen only.

maybe the last one can be replaced by a gesture to get the mouse back into the frame as mentionned in an other comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'll change it to true center tracking

@Boumtchack Boumtchack marked this pull request as ready for review June 3, 2026 07:44
@Boumtchack Boumtchack requested a review from Copilot June 3, 2026 07:46
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Comment thread source/gui/settingsDialogs.py
Comment thread user_docs/en/userGuide.md Outdated
Comment thread user_docs/en/userGuide.md
| Grayscale | Converts all colors to shades of gray, which can help reduce eye strain and improve contrast. |
| Inverted | Inverts all colors on the screen, which can be helpful for users who prefer light text on dark backgrounds or have photophobia. |

##### Focus mode {#MagnifierFullscreenFocusMode}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be moved down further to match the move in settings dialog

Comment thread user_docs/en/userGuide.md
| Border | The magnified area only moves when the focus approaches the edge of the visible area. |
| Relative | The magnified area maintains the relative position of the focus within the screen. |

##### Use true center tracking {#MagnifierUseTrueCenterTracking}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't this need to be moved further down too?

@seanbudd seanbudd marked this pull request as draft June 4, 2026 03:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants