Dragging multiple selected elements

• Nov 21, 2019 - 12:27
Reported version
Ergonomical (UX)
S4 - Minor

To reproduce: Select any two notes (either using Ctrl+LMB for a discontinuous selection, or Shift+LMB-drag for a range selection). Left-click-and-drag either of the notes.

Expected behaviour: In other applications (e.g. Microsoft Word, Adobe Illustrator), when multiple elements are selected, left-click-and-drag repositions them all simultaneously.

Observed behaviour: When the left-click-and-drag operation begins, the multiple selection is dismissed. Only the note under the mouse cursor is selected, and therefore only that note's pitch is changed by the subsequent drag-and-drop operation.

I'm aware that it's possible to drag all notes within a range selection by holding down Shift+LMB when the selection is first created, then dragging-and-dropping from there. However, I believe a simple LMB drag-and-drop, without any modifier keys, would be the more straightforward option.


Title When changing note pitch using drag-and-drop, if multiple items are selected, all but one of them will be deselected Dragging multiple selected elements

This is not limited to changing the pitches of selected notes; it actually applies to all drag and drop operations on score elements. The selection is dropped as soon as the mouse is pressed, before the actual drag begins. Admittedly, this is not ideal. Presumably, however, we want to keep the current behavior of deselecting all other elements when a selected element is clicked (but not dragged), even though this is not exactly standard behavior in other applications. I have created a solution based on this assumption, but I welcome discussion on this point.

Status PR created fixed

Fixed in branch master, commit 9cf489c2d8

_fix #297425: Dragging multiple selected elements

Do not deselect other elements upon mouse press if the element under the mouse is selected. This allows for easier dragging of multiple selected elements. The current behavior of deselecting other elements is retained if a drag is not initiated._

Fix version