fix: Ctrl+Click on section/MIDI items toggled selection, locked item
Ctrl+Click handler toggled selection + set pending drag. Once selected, drag system treated it as 'move selection' instead of 'copy'. Removed selection toggle - Ctrl+Click now only sets pending drag for copy operation.
This commit is contained in:
@@ -1083,15 +1083,8 @@ const WaveformLane = ({
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
if (e.ctrlKey) {
|
||||
// Ctrl+Click: toggle selection only, never start drag immediately
|
||||
var preToggleSnapshot = selectedItemIds ? new Set(selectedItemIds) : new Set();
|
||||
if (selectedItemIds && selectedItemIds.has(hitItem.id)) {
|
||||
if (onDeselectItem) onDeselectItem(hitItem.id);
|
||||
} else if (onAddToSelection) {
|
||||
onAddToSelection(hitItem.id);
|
||||
}
|
||||
// Store pre-toggle snapshot so drag copies the ORIGINAL group
|
||||
if (onSetPendingDrag) onSetPendingDrag(track.id, hitItem.type, hitItem.id, time - hitItem.start, e.nativeEvent || e, preToggleSnapshot);
|
||||
// Ctrl+Click: copy on drag, do NOT toggle selection
|
||||
if (onSetPendingDrag) onSetPendingDrag(track.id, hitItem.type, hitItem.id, time - hitItem.start, e.nativeEvent || e, selectedItemIds ? new Set(selectedItemIds) : new Set());
|
||||
} else {
|
||||
// No modifier: start drag immediately (single or multi move)
|
||||
if (onSectionItemDragStart) onSectionItemDragStart(track.id, hitItem.type, hitItem.id, time - hitItem.start, false);
|
||||
|
||||
Reference in New Issue
Block a user