From 7662a501a4c702abbc5d2614b812479d1b1d1f8f Mon Sep 17 00:00:00 2001 From: Dariusz L Date: Wed, 30 Jul 2025 11:06:37 +0200 Subject: [PATCH] Add right-click deselection for layers Implemented a new feature: right-clicking a layer in the layer panel now deselects it (if it was selected). --- js/CanvasLayersPanel.js | 10 ++++++++++ src/CanvasLayersPanel.ts | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/js/CanvasLayersPanel.js b/js/CanvasLayersPanel.js index d5afa15..6df4a6d 100644 --- a/js/CanvasLayersPanel.js +++ b/js/CanvasLayersPanel.js @@ -440,6 +440,16 @@ export class CanvasLayersPanel { } this.handleLayerClick(e, layer, index); }); + // --- PRAWY PRZYCISK: ODJAZNACZ LAYER --- + layerRow.addEventListener('contextmenu', (e) => { + e.preventDefault(); + e.stopPropagation(); + if (this.canvas.canvasSelection.selectedLayers.includes(layer)) { + const newSelection = this.canvas.canvasSelection.selectedLayers.filter((l) => l !== layer); + this.canvas.updateSelection(newSelection); + this.updateSelectionAppearance(); + } + }); layerRow.addEventListener('dblclick', (e) => { e.preventDefault(); e.stopPropagation(); diff --git a/src/CanvasLayersPanel.ts b/src/CanvasLayersPanel.ts index 105613a..431bc34 100644 --- a/src/CanvasLayersPanel.ts +++ b/src/CanvasLayersPanel.ts @@ -487,6 +487,17 @@ export class CanvasLayersPanel { this.handleLayerClick(e, layer, index); }); + // --- PRAWY PRZYCISK: ODJAZNACZ LAYER --- + layerRow.addEventListener('contextmenu', (e: MouseEvent) => { + e.preventDefault(); + e.stopPropagation(); + if (this.canvas.canvasSelection.selectedLayers.includes(layer)) { + const newSelection = this.canvas.canvasSelection.selectedLayers.filter((l: Layer) => l !== layer); + this.canvas.updateSelection(newSelection); + this.updateSelectionAppearance(); + } + }); + layerRow.addEventListener('dblclick', (e: MouseEvent) => { e.preventDefault(); e.stopPropagation();