diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml
index f6e45d5b..03aac6b5 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/update.xml
+++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml
@@ -3280,11 +3280,23 @@
NEW_FEATURE
- macOS: added pinch zooming functionality
+ Added pinch zooming functionality for compatible devices (tested on Mac and Win laptops)
IMPROVEMENT
- macOS: added meta +/- (minus and equal keys) keyboard shortcuts for zooming
+ macOS: added meta +/- keyboard shortcuts for zooming
+
+
+ IMPROVEMENT
+ macOS: two finger click shows the popup menu without deselecting a selected component
+
+
+ IMPROVEMENT
+ Apply context menu rotation and mirroring to Trimmer potentiometers
+
+
+ IMPROVEMENT
+ Apply context menu rotation and mirroring to SMD components
https://github.com/bancika/diy-layout-creator/releases
diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar
index b9185f38..6fea02d4 100644
Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ
diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar
index 459b2fbf..6fea02d4 100644
Binary files a/diylc/diylc-swing/lib/diylc-core.jar and b/diylc/diylc-swing/lib/diylc-core.jar differ
diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar
index e2b6ddf8..49c4f5c0 100644
Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ
diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
index 2aa83a37..4556a48e 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
@@ -340,7 +340,7 @@ public class MainFrame extends JFrame implements ISwingUI {
rightPanel.add(component);
break;
case SwingConstants.CENTER:
- centerPanel.add(component, BorderLayout.CENTER);
+ centerPanel.add(component);
break;
default:
throw new BadPositionException();
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java
index 2417e0eb..7b1845ae 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java
@@ -139,10 +139,14 @@ public class CanvasPanel extends JComponent implements Autoscroll {
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
.put(KeyStroke.getKeyStroke(KeyEvent.VK_ADD, KeyEvent.CTRL_DOWN_MASK), "zoomIn");
+ getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
+ .put(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, KeyEvent.CTRL_DOWN_MASK), "zoomIn");
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
.put(KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, KeyEvent.CTRL_DOWN_MASK), "zoomOut");
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
- .put(KeyStroke.getKeyStroke(KeyEvent.VK_ADD, KeyEvent.META_DOWN_MASK), "zoomIn");
+ .put(KeyStroke.getKeyStroke(KeyEvent.VK_ADD, KeyEvent.META_DOWN_MASK), "zoomIn");
+ getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
+ .put(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, KeyEvent.META_DOWN_MASK), "zoomIn");
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
.put(KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, KeyEvent.META_DOWN_MASK), "zoomIn");
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
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 e6a08e6d..8e131608 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
@@ -258,9 +258,12 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
public void mouseClicked(MouseEvent e) {
if (scrollPane.isMouseScrollMode() || e.getButton() == MouseEvent.BUTTON2)
return;
+
+ // do not pass isMetaDown on mac when button3 (two finger click) is pressed
+ boolean ctrlDown = Utils.isMac() ? (e.getButton() == MouseEvent.BUTTON3 ? false : e.isMetaDown()): e.isControlDown();
+
plugInPort.mouseClicked(e.getPoint(), e.getButton(),
- Utils.isMac() ? e.isMetaDown() : e.isControlDown(), e.isShiftDown(), e.isAltDown(),
- e.getClickCount());
+ ctrlDown, e.isShiftDown(), e.isAltDown(), e.getClickCount());
}
@Override
@@ -466,7 +469,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
}
public void zoom(int direction) {
- Point mousePos = canvasPanel.getMousePosition(true);
+ Point mousePos = canvasPanel.getMousePosition(true);
// change zoom level
double oldZoom = plugInPort.getZoomLevel();
@@ -491,6 +494,9 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
JScrollBar horizontal = scrollPane.getHorizontalScrollBar();
JScrollBar vertical = scrollPane.getVerticalScrollBar();
+
+ if (mousePos == null)
+ mousePos = new Point((int)visibleRect.getCenterX(), (int)visibleRect.getCenterY());
if (selectionBounds == null) {
// center to cursor