diff options
| author | 2019-05-12 11:23:23 +0200 | |
|---|---|---|
| committer | 2019-05-12 11:23:23 +0200 | |
| commit | d37703def5c883bd18f3f62a46b8cca1f11c96df (patch) | |
| tree | 96993759a4452fb335e11aa827a6bd8cd59ce958 /src | |
| parent | Rename in place functionality (#131) (diff) | |
| download | enigma-d37703def5c883bd18f3f62a46b8cca1f11c96df.tar.gz enigma-d37703def5c883bd18f3f62a46b8cca1f11c96df.tar.xz enigma-d37703def5c883bd18f3f62a46b8cca1f11c96df.zip | |
Write package name in text field on rename-in-place
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java index 849c7c1a..ff84648c 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java | |||
| @@ -1,8 +1,12 @@ | |||
| 1 | package cuchaz.enigma.gui.panels; | 1 | package cuchaz.enigma.gui.panels; |
| 2 | 2 | ||
| 3 | import cuchaz.enigma.Deobfuscator; | ||
| 4 | import cuchaz.enigma.analysis.EntryReference; | ||
| 3 | import cuchaz.enigma.config.Config; | 5 | import cuchaz.enigma.config.Config; |
| 4 | import cuchaz.enigma.gui.BrowserCaret; | 6 | import cuchaz.enigma.gui.BrowserCaret; |
| 5 | import cuchaz.enigma.gui.Gui; | 7 | import cuchaz.enigma.gui.Gui; |
| 8 | import cuchaz.enigma.translation.representation.entry.ClassEntry; | ||
| 9 | import cuchaz.enigma.translation.representation.entry.Entry; | ||
| 6 | 10 | ||
| 7 | import javax.swing.*; | 11 | import javax.swing.*; |
| 8 | import java.awt.*; | 12 | import java.awt.*; |
| @@ -68,9 +72,15 @@ public class PanelEditor extends JEditorPane { | |||
| 68 | case KeyEvent.VK_O: | 72 | case KeyEvent.VK_O: |
| 69 | gui.popupMenu.toggleMappingMenu.doClick(); | 73 | gui.popupMenu.toggleMappingMenu.doClick(); |
| 70 | break; | 74 | break; |
| 75 | |||
| 76 | case KeyEvent.VK_R: | ||
| 77 | gui.popupMenu.renameMenu.doClick(); | ||
| 78 | break; | ||
| 79 | |||
| 71 | case KeyEvent.VK_F5: | 80 | case KeyEvent.VK_F5: |
| 72 | gui.getController().refreshCurrentClass(); | 81 | gui.getController().refreshCurrentClass(); |
| 73 | break; | 82 | break; |
| 83 | |||
| 74 | default: | 84 | default: |
| 75 | break; | 85 | break; |
| 76 | } | 86 | } |
| @@ -82,9 +92,22 @@ public class PanelEditor extends JEditorPane { | |||
| 82 | @Override | 92 | @Override |
| 83 | public void keyTyped(KeyEvent event) { | 93 | public void keyTyped(KeyEvent event) { |
| 84 | if (!gui.popupMenu.renameMenu.isEnabled()) return; | 94 | if (!gui.popupMenu.renameMenu.isEnabled()) return; |
| 95 | |||
| 85 | if (!event.isControlDown() && !event.isAltDown()) { | 96 | if (!event.isControlDown() && !event.isAltDown()) { |
| 97 | Deobfuscator deobfuscator = gui.getController().getDeobfuscator(); | ||
| 98 | EntryReference<Entry<?>, Entry<?>> reference = deobfuscator.deobfuscate(gui.cursorReference); | ||
| 99 | Entry<?> entry = reference.getNameableEntry(); | ||
| 100 | |||
| 101 | String name = String.valueOf(event.getKeyChar()); | ||
| 102 | if (entry instanceof ClassEntry) { | ||
| 103 | String packageName = ((ClassEntry) entry).getPackageName(); | ||
| 104 | if (packageName != null) { | ||
| 105 | name = packageName + "/" + name; | ||
| 106 | } | ||
| 107 | } | ||
| 108 | |||
| 86 | gui.popupMenu.renameMenu.doClick(); | 109 | gui.popupMenu.renameMenu.doClick(); |
| 87 | gui.renameTextField.setText(String.valueOf(event.getKeyChar())); | 110 | gui.renameTextField.setText(name); |
| 88 | } | 111 | } |
| 89 | } | 112 | } |
| 90 | 113 | ||