Persist magnifier zoom, filter, full screen mode (#20050)
Fixes #19493
Fixes #20110
Fixes #20149
Summary of the issue:
Magnifier zoom, filter and full screen mode were not persisted when set via keyboard gestures
Description of user facing changes:
Persist Magnifier zoom, filter and full screen mode in settings
Description of developer facing changes:
none
Description of development approach:
Settings Synchronization and Immediate Application:
Added _applyCurrentSettingsToConfigAndRuntime method to MagnifierPanel, which applies the current UI control values to both the configuration and the active magnifier instance, ensuring settings changes are reflected immediately. Immediate updates are now handled for zoom, pan step, filter, fullscreen mode, "true centered", follow focus, and "keep mouse centered" settings.
The onSave and onDiscard methods now use the new synchronization logic, improving reliability when saving or discarding changes. Initial values are stored and restored as needed.
Magnifier Runtime Updates:
When toggling filter, fullscreen mode, or zoom, the corresponding runtime setter (setFilter, setFullscreenMode, setZoomLevel) is now called to ensure the running magnifier instance is updated immediately.
Codebase Cleanup and Modernization:
Removed unused getDefaultFullscreenMode and setDefaultFullscreenMode functions from the config module, a
Testing Improvements:
The magnifier test setup now explicitly sets default values for zoomLevel and _filterType, improving test reliability and clarity.