From d37703def5c883bd18f3f62a46b8cca1f11c96df Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Sun, 12 May 2019 11:23:23 +0200 Subject: Write package name in text field on rename-in-place --- .../java/cuchaz/enigma/gui/panels/PanelEditor.java | 25 +++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/main/java') 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 @@ package cuchaz.enigma.gui.panels; +import cuchaz.enigma.Deobfuscator; +import cuchaz.enigma.analysis.EntryReference; import cuchaz.enigma.config.Config; import cuchaz.enigma.gui.BrowserCaret; import cuchaz.enigma.gui.Gui; +import cuchaz.enigma.translation.representation.entry.ClassEntry; +import cuchaz.enigma.translation.representation.entry.Entry; import javax.swing.*; import java.awt.*; @@ -68,9 +72,15 @@ public class PanelEditor extends JEditorPane { case KeyEvent.VK_O: gui.popupMenu.toggleMappingMenu.doClick(); break; + + case KeyEvent.VK_R: + gui.popupMenu.renameMenu.doClick(); + break; + case KeyEvent.VK_F5: gui.getController().refreshCurrentClass(); break; + default: break; } @@ -82,9 +92,22 @@ public class PanelEditor extends JEditorPane { @Override public void keyTyped(KeyEvent event) { if (!gui.popupMenu.renameMenu.isEnabled()) return; + if (!event.isControlDown() && !event.isAltDown()) { + Deobfuscator deobfuscator = gui.getController().getDeobfuscator(); + EntryReference, Entry> reference = deobfuscator.deobfuscate(gui.cursorReference); + Entry entry = reference.getNameableEntry(); + + String name = String.valueOf(event.getKeyChar()); + if (entry instanceof ClassEntry) { + String packageName = ((ClassEntry) entry).getPackageName(); + if (packageName != null) { + name = packageName + "/" + name; + } + } + gui.popupMenu.renameMenu.doClick(); - gui.renameTextField.setText(String.valueOf(event.getKeyChar())); + gui.renameTextField.setText(name); } } -- cgit v1.2.3