From 455fecff13a291889a25e6860221a91903e78ce9 Mon Sep 17 00:00:00 2001 From: Federico Fissore Date: Fri, 5 Jun 2015 16:23:40 +0200 Subject: [PATCH] Better tab switching but still unable to switch backwards (CTRL+SHIFT+TAB) --- app/src/processing/app/Editor.java | 1 + app/src/processing/app/EditorListener.java | 18 +++++++----------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index 7a796830f..be3e31dc8 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -989,6 +989,7 @@ public class Editor extends JFrame implements RunnerListener { private SketchTextArea createTextArea() throws IOException { final SketchTextArea textArea = new SketchTextArea(base.getPdeKeywords()); + textArea.setFocusTraversalKeysEnabled(false); textArea.requestFocusInWindow(); textArea.setMarkOccurrences(PreferencesData.getBoolean("editor.advanced")); textArea.setMarginLineEnabled(false); diff --git a/app/src/processing/app/EditorListener.java b/app/src/processing/app/EditorListener.java index 19e90b1c3..cbd082cfc 100644 --- a/app/src/processing/app/EditorListener.java +++ b/app/src/processing/app/EditorListener.java @@ -1,7 +1,7 @@ package processing.app; import java.awt.Toolkit; -import java.awt.event.ActionEvent; +import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; @@ -17,12 +17,9 @@ public class EditorListener implements KeyListener { } /** ctrl-alt on windows and linux, cmd-alt on mac os x */ - static final int CTRL_ALT = ActionEvent.ALT_MASK | Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); - - static final int CTRL_SHIFT = ActionEvent.SHIFT_MASK | Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); - - static final int CTRL = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); - + private static final int CTRL = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); + private static final int CTRL_ALT = InputEvent.ALT_MASK | CTRL; + private static final int CTRL_SHIFT = InputEvent.SHIFT_MASK | CTRL; public void keyTyped(KeyEvent event) { char c = event.getKeyChar(); @@ -37,7 +34,7 @@ public class EditorListener implements KeyListener { @Override public void keyPressed(KeyEvent event) { - + SketchTextArea textarea = editor.getTextArea(); if (!textarea.isEditable()) return; @@ -53,8 +50,7 @@ public class EditorListener implements KeyListener { // Navigation.. // FIXME: not working on LINUX !!! - if (((event.getModifiers() & CTRL_SHIFT) == CTRL_SHIFT)) { - if(code == KeyEvent.VK_TAB) + if ((event.getModifiers() & CTRL_SHIFT) == CTRL_SHIFT && code == KeyEvent.VK_TAB) { sketch.handlePrevCode(); } @@ -80,4 +76,4 @@ public class EditorListener implements KeyListener { } -} \ No newline at end of file +}