Add Sticky Zoom to keep zoom level across image switches - #775
Merged
Conversation
Navigating to another frame always reset the canvas to fit-to-window. Sticky Zoom (toolbar overflow menu, canvas right-click menu, and a bindable shortcut) keeps the current zoom level instead, and persists across restarts like Immersive Canvas.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Switching to a different frame always resets the canvas to fit-to-window. That's normally the right first look, but sometimes a smaller-than-fit image reads its composition better — easier to judge as a whole rather than blown up — especially on a larger screen. Previously you'd zoom out to that size, then have to redo it on every next frame.
Sticky Zoom (toolbar overflow ⋯ menu, canvas right-click menu, and a bindable shortcut) keeps the current zoom level instead of resetting it when you move to another image. Off by default, so nothing changes unless you opt in, and persists across restarts like Immersive Canvas.
This is a fairly common convention in other image-viewing/editing apps, so it should feel familiar rather than novel.
Test plan
make all: 3476 passed, 1 pre-existing unrelatedtest_overflow_bar.pyfailure (confirmed failing identically onmainbefore this branch)set_sticky_zoompersistence (tests/test_desktop_session.py), navigation wiring — zoom resets by default, preserved when Sticky Zoom is on (tests/test_controller.py)