From 24770ab7cc2bbb3d51d626ce4101500d23ef4525 Mon Sep 17 00:00:00 2001 From: huchenlei Date: Thu, 24 Oct 2024 07:56:56 -0400 Subject: [PATCH] Fix snap guide enable condition --- web/js/snapToGridGuide.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/web/js/snapToGridGuide.js b/web/js/snapToGridGuide.js index 75a975a..54a8a0c 100644 --- a/web/js/snapToGridGuide.js +++ b/web/js/snapToGridGuide.js @@ -97,11 +97,16 @@ const ext = { } }); + const alwaysSnapToGrid = () => + app.ui.settings.getSettingValue("pysssss.SnapToGrid", /* default=*/ false); + const snapToGridEnabled = () => + app.shiftDown || alwaysSnapToGrid(); + // Override drag-and-drop behavior to show orthogonal guide lines around selected node(s) and preview of where the node(s) will be placed - const origDrawNode = LGraphCanvas.prototype.drawNode + const origDrawNode = LGraphCanvas.prototype.drawNode; LGraphCanvas.prototype.drawNode = function (node, ctx) { const enabled = guide_config.lines.enabled || guide_config.block.enabled; - if (enabled && app.shiftDown && this.node_dragged && node.id in this.selected_nodes) { + if (enabled && this.node_dragged && node.id in this.selected_nodes && snapToGridEnabled()) { // discretize the canvas into grid let x = LiteGraph.CANVAS_GRID_SIZE * Math.round(node.pos[0] / LiteGraph.CANVAS_GRID_SIZE); let y = LiteGraph.CANVAS_GRID_SIZE * Math.round(node.pos[1] / LiteGraph.CANVAS_GRID_SIZE);