diff options
| author | 2020-04-15 05:30:26 +0200 | |
|---|---|---|
| committer | 2020-04-14 23:30:26 -0400 | |
| commit | 4e2e6aada308ee416b18998282504a3c87c0d0e9 (patch) | |
| tree | 5495be6dc5eec1cf7b1ab72f5de29fe9044abf3b /src | |
| parent | Convert javadoc escape codes into raw characters when loading Tiny v2 mapping... (diff) | |
| download | enigma-4e2e6aada308ee416b18998282504a3c87c0d0e9.tar.gz enigma-4e2e6aada308ee416b18998282504a3c87c0d0e9.tar.xz enigma-4e2e6aada308ee416b18998282504a3c87c0d0e9.zip | |
Added zoom for PanelEditor (#209)
* Added zoom for PanelEditor
* Updated french zoom translations. Renamed zoom function, Integer to int
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java | 20 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java | 26 | ||||
| -rw-r--r-- | src/main/resources/lang/en_us.json | 3 | ||||
| -rw-r--r-- | src/main/resources/lang/fr_fr.json | 3 |
4 files changed, 51 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java b/src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java index b0fb2b04..94da1d26 100644 --- a/src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java +++ b/src/main/java/cuchaz/enigma/gui/elements/PopupMenuBar.java | |||
| @@ -101,5 +101,25 @@ public class PopupMenuBar extends JPopupMenu { | |||
| 101 | this.add(menu); | 101 | this.add(menu); |
| 102 | this.toggleMappingMenu = menu; | 102 | this.toggleMappingMenu = menu; |
| 103 | } | 103 | } |
| 104 | { | ||
| 105 | this.add(new JSeparator()); | ||
| 106 | } | ||
| 107 | { | ||
| 108 | JMenuItem menu = new JMenuItem(I18n.translate("popup_menu.zoom.in")); | ||
| 109 | menu.addActionListener(event -> gui.editor.offsetEditorZoom(2)); | ||
| 110 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, InputEvent.CTRL_MASK)); | ||
| 111 | this.add(menu); | ||
| 112 | } | ||
| 113 | { | ||
| 114 | JMenuItem menu = new JMenuItem(I18n.translate("popup_menu.zoom.out")); | ||
| 115 | menu.addActionListener(event -> gui.editor.offsetEditorZoom(-2)); | ||
| 116 | menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, InputEvent.CTRL_MASK)); | ||
| 117 | this.add(menu); | ||
| 118 | } | ||
| 119 | { | ||
| 120 | JMenuItem menu = new JMenuItem(I18n.translate("popup_menu.zoom.reset")); | ||
| 121 | menu.addActionListener(event -> gui.editor.resetEditorZoom()); | ||
| 122 | this.add(menu); | ||
| 123 | } | ||
| 104 | } | 124 | } |
| 105 | } | 125 | } |
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java index 71ee34cd..bbb839e6 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java | |||
| @@ -17,11 +17,13 @@ import java.awt.event.MouseEvent; | |||
| 17 | 17 | ||
| 18 | public class PanelEditor extends JEditorPane { | 18 | public class PanelEditor extends JEditorPane { |
| 19 | private boolean mouseIsPressed = false; | 19 | private boolean mouseIsPressed = false; |
| 20 | public int fontSize = 12; | ||
| 20 | 21 | ||
| 21 | public PanelEditor(Gui gui) { | 22 | public PanelEditor(Gui gui) { |
| 22 | this.setEditable(false); | 23 | this.setEditable(false); |
| 23 | this.setSelectionColor(new Color(31, 46, 90)); | 24 | this.setSelectionColor(new Color(31, 46, 90)); |
| 24 | this.setCaret(new BrowserCaret()); | 25 | this.setCaret(new BrowserCaret()); |
| 26 | this.setFont(new Font(this.getFont().getFontName(), Font.PLAIN, this.fontSize)); | ||
| 25 | this.addCaretListener(event -> gui.onCaretMove(event.getDot(), mouseIsPressed)); | 27 | this.addCaretListener(event -> gui.onCaretMove(event.getDot(), mouseIsPressed)); |
| 26 | final PanelEditor self = this; | 28 | final PanelEditor self = this; |
| 27 | this.addMouseListener(new MouseAdapter() { | 29 | this.addMouseListener(new MouseAdapter() { |
| @@ -53,7 +55,6 @@ public class PanelEditor extends JEditorPane { | |||
| 53 | public void keyPressed(KeyEvent event) { | 55 | public void keyPressed(KeyEvent event) { |
| 54 | if (event.isControlDown()) { | 56 | if (event.isControlDown()) { |
| 55 | gui.setShouldNavigateOnClick(false); | 57 | gui.setShouldNavigateOnClick(false); |
| 56 | |||
| 57 | switch (event.getKeyCode()) { | 58 | switch (event.getKeyCode()) { |
| 58 | case KeyEvent.VK_I: | 59 | case KeyEvent.VK_I: |
| 59 | gui.popupMenu.showInheritanceMenu.doClick(); | 60 | gui.popupMenu.showInheritanceMenu.doClick(); |
| @@ -99,6 +100,16 @@ public class PanelEditor extends JEditorPane { | |||
| 99 | // prevent navigating on click when quick find activated | 100 | // prevent navigating on click when quick find activated |
| 100 | break; | 101 | break; |
| 101 | 102 | ||
| 103 | case KeyEvent.VK_ADD: | ||
| 104 | case KeyEvent.VK_EQUALS: | ||
| 105 | case KeyEvent.VK_PLUS: | ||
| 106 | self.offsetEditorZoom(2); | ||
| 107 | break; | ||
| 108 | case KeyEvent.VK_SUBTRACT: | ||
| 109 | case KeyEvent.VK_MINUS: | ||
| 110 | self.offsetEditorZoom(-2); | ||
| 111 | break; | ||
| 112 | |||
| 102 | default: | 113 | default: |
| 103 | gui.setShouldNavigateOnClick(true); // CTRL | 114 | gui.setShouldNavigateOnClick(true); // CTRL |
| 104 | break; | 115 | break; |
| @@ -135,6 +146,19 @@ public class PanelEditor extends JEditorPane { | |||
| 135 | }); | 146 | }); |
| 136 | } | 147 | } |
| 137 | 148 | ||
| 149 | public void offsetEditorZoom(int zoomAmount) { | ||
| 150 | int newResult = this.fontSize + zoomAmount; | ||
| 151 | if (newResult > 8 && newResult < 72) { | ||
| 152 | this.fontSize = newResult; | ||
| 153 | this.setFont(new Font(this.getFont().getFontName(), Font.PLAIN, this.fontSize)); | ||
| 154 | } | ||
| 155 | } | ||
| 156 | |||
| 157 | public void resetEditorZoom() { | ||
| 158 | this.fontSize = 12; | ||
| 159 | this.setFont(new Font(this.getFont().getFontName(), Font.PLAIN, this.fontSize)); | ||
| 160 | } | ||
| 161 | |||
| 138 | @Override | 162 | @Override |
| 139 | public Color getCaretColor() { | 163 | public Color getCaretColor() { |
| 140 | return new Color(Config.getInstance().caretColor); | 164 | return new Color(Config.getInstance().caretColor); |
diff --git a/src/main/resources/lang/en_us.json b/src/main/resources/lang/en_us.json index 9c114bb9..e7f76248 100644 --- a/src/main/resources/lang/en_us.json +++ b/src/main/resources/lang/en_us.json | |||
| @@ -56,6 +56,9 @@ | |||
| 56 | "popup_menu.forward": "Go forward", | 56 | "popup_menu.forward": "Go forward", |
| 57 | "popup_menu.mark_deobfuscated": "Mark as deobfuscated", | 57 | "popup_menu.mark_deobfuscated": "Mark as deobfuscated", |
| 58 | "popup_menu.reset_obfuscated": "Reset to obfuscated", | 58 | "popup_menu.reset_obfuscated": "Reset to obfuscated", |
| 59 | "popup_menu.zoom.in": "Zoom in", | ||
| 60 | "popup_menu.zoom.out": "Zoom out", | ||
| 61 | "popup_menu.zoom.reset": "Reset zoom", | ||
| 59 | 62 | ||
| 60 | "info_panel.classes.obfuscated": "Obfuscated Classes", | 63 | "info_panel.classes.obfuscated": "Obfuscated Classes", |
| 61 | "info_panel.classes.deobfuscated": "De-obfuscated Classes", | 64 | "info_panel.classes.deobfuscated": "De-obfuscated Classes", |
diff --git a/src/main/resources/lang/fr_fr.json b/src/main/resources/lang/fr_fr.json index cbd56d0b..d1b5a5a0 100644 --- a/src/main/resources/lang/fr_fr.json +++ b/src/main/resources/lang/fr_fr.json | |||
| @@ -55,6 +55,9 @@ | |||
| 55 | "popup_menu.forward": "Restaurer", | 55 | "popup_menu.forward": "Restaurer", |
| 56 | "popup_menu.mark_deobfuscated": "Marquer comme déobfusqué", | 56 | "popup_menu.mark_deobfuscated": "Marquer comme déobfusqué", |
| 57 | "popup_menu.reset_obfuscated": "Réinitialiser à obfusqué", | 57 | "popup_menu.reset_obfuscated": "Réinitialiser à obfusqué", |
| 58 | "popup_menu.zoom.in": "Zoomer", | ||
| 59 | "popup_menu.zoom.out": "Dézoomer", | ||
| 60 | "popup_menu.zoom.reset": "Réinitialiser le zoom", | ||
| 58 | 61 | ||
| 59 | "info_panel.classes.obfuscated": "Classes obfusquées", | 62 | "info_panel.classes.obfuscated": "Classes obfusquées", |
| 60 | "info_panel.classes.deobfuscated": "Classes déobfusquées", | 63 | "info_panel.classes.deobfuscated": "Classes déobfusquées", |