diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index f6ab1481..18e32d3d 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -3168,7 +3168,7 @@ NEW_FEATURE - Added keyboard shortcuts for zoom in and out using standard Ctrl and +/- key combination + Added keyboard shortcuts for zoom in and out using standard Ctrl and +/- key combination and Ctrl+0 to reset to 100% IMPROVEMENT 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 ec68be09..0534ad84 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 @@ -141,6 +141,10 @@ public class CanvasPanel extends JComponent implements Autoscroll { .put(KeyStroke.getKeyStroke(KeyEvent.VK_ADD, 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_0, KeyEvent.CTRL_DOWN_MASK), "resetZoom"); + getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) + .put(KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_DOWN_MASK), "resetZoom"); for (int i = 1; i <= 12; i++) { final int x = i; @@ -186,6 +190,17 @@ public class CanvasPanel extends JComponent implements Autoscroll { CanvasPanel.this.plugInPort.setZoomLevel(availableZoomLevels[index - 1]); } }); + + getActionMap().put("resetZoom", new AbstractAction() { + + private static final long serialVersionUID = 1L; + + @Override + public void actionPerformed(ActionEvent e) { + LOG.debug("Keyboard reset zoom triggered"); + CanvasPanel.this.plugInPort.setZoomLevel(1d); + } + }); getActionMap().put("clearSlot", new AbstractAction() {