Repository navigation
Pan the canvas and preview with the middle mouse button - #14
Merged
Merged
Conversation
DesignView takes the middle press before the scene, so items are never selected, moved or resized; the preview's scroll area gets the same pan through an event filter that keeps the middle click away from live widgets. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Hold the middle mouse button anywhere on the design canvas — empty area or on top of a widget, selected or not — and drag: the content follows the mouse 1:1 at any zoom, with a closed-hand cursor. Nothing is selected, moved or resized, and the click never reaches a widget. A middle press during a left drag does not start a pan. When the canvas fits in the view there is nothing to scroll.
The same behaviour lands in FluentHMI Studio, PyQt UI Designer and the web editor on modusignal.cn.
DesignView(app/designer/canvas.py) takes the middle press before the scene;MiddlePandrives the scroll bars.ScrollAreaMiddlePan, an event filter that keeps middle clicks away from the live widgets (no X11 paste into line edits).Tested: offscreen drags on empty canvas, a selected LineEdit and an unselected PushButton, and on the preview scroll area;
python -m unittest discover -s tests234 OK; tried by hand.🤖 Generated with Claude Code