Better loop handles + prevent negative loops #8015
Open
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.
Fixes #7984
Currently the "Handles" loop edit mode is kinda useless since the most common use (move one end of the loop) is restricted to a tiny area. On the other hand the "Grab closest" mode is infamously annoying because it cannot reach the other loop marker if it's far off screen.
This PR merges both modes into one. It grabs the closest handle, whether you click inside our outside the loop. If one handle is off screen it acts if that handle was at the screen's edge (so if you click closer to the edge, it grabs that handle instead). There's a small move handle in the middle. The move cursor is a hand instead of <-> to make it easier on your brain. If the loop is tiny, the whole loop becomes a move handle, and the empty spaces beside is used to resize.
Skarminspelning.2025-07-23.00-47-27.mp4
The video is a bit laggy...
Update: now only the middle handle is drawn and the setting is called "Grab closest".