Click & Drag Selection on Patch Changes
See original GitHub issueCurrent behaviour:
When selecting Patch
all lines are checked. The only way to change the selection is to click on all checkboxes of the lines that should be deselected.
To me this feels very inefficient and a little bit annoying, especially with long commits (>100 lines) which need patching the most.
Feature proposal: Make it possible to select or deselect multiple lines at once by clicking and holding on the first checkbox and releasing the mouse on the last line. To make this feature easier to understand and find it would be nice if the state of the checkboxes would change while moving the mouse around.
More ideas: It would be nice if the clickable area of the checkboxes would be a little bit bigger (maybe a square which fills the whole height of the line). A button which selects/deselects all checkboxes would also be very useful.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:15 (7 by maintainers)
I’ve actually written a simple ~15 line change which allows clicking (or tapping) any part of the line to toggle the checkbox. I’ve was gonna tidy it up and offer it as a PR but life is coming at us all rather fast at the minute, huh… It doesn’t have any dragging support, but it’s a really simple change that improves usability considerably in the kind of scenario @Sogolumbo is describing (at least, for me imo). It doesn’t implement the fancy UI described here (which sounds cool btw), but I reckon it’s one of those 80/20 things – it eases a lot of the pain with a minimally invasive intervention. If no ones actually currently working on a more involved solution to this issue, it might be a worthwhile halfway house in the interim?
How about a select strip: when you use the mouse you need to click and drag to toggle lines. For touch, you simly need to touch and drag. The first state you toggle is the one that is repeated across the drag. That seems very fast to me.
It needs to be a strip because otherwise you can’t scroll any more on touch surfaces.
And if you hit a screen boundary, it scrolls the window for you while continuing the drag?