diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 34bc1152..1ba3bc6c 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -894,6 +894,8 @@ public class Presenter implements IPlugInPort { if (instantiationManager.getComponentTypeSlot() != null) { if (isSnapToGrid()) { CalcUtils.snapPointToGrid(previousScaledPoint, currentProject.getGridSpacing()); + } else if (isSnapToObjects()) { + CalcUtils.snapPointToObjects(previousScaledPoint, currentProject.getGridSpacing(), null, currentProject.getComponents()); } boolean refresh = false; switch (instantiationManager.getComponentTypeSlot().getCreationMethod()) { diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index d1ea68e2..e9bd4a01 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -4053,5 +4053,21 @@ https://github.com/bancika/diy-layout-creator/releases + + + 4 + 31 + 0 + + 2022-10-23 00:00:00.000 CET + + + + IMPROVEMENT + "Snap to Components" features now works when creating new components as well as when moving existing ones + + + https://github.com/bancika/diy-layout-creator/releases + diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java index c46d2185..d808998f 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java @@ -62,6 +62,7 @@ import org.diylc.core.IDIYComponent; import org.diylc.core.Template; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; +import org.diylc.presenter.Presenter; import org.diylc.swing.ActionFactory; import org.diylc.swing.ISwingUI; import org.diylc.swing.gui.TranslatedMenu; @@ -423,7 +424,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { @Override public void unitsChanged(boolean isMetric) { - plugInPort.setMetric(isMetric); + configManager.writeValue(Presenter.METRIC_KEY, isMetric); } });