summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma
diff options
context:
space:
mode:
authorGravatar gegy10002019-06-18 20:20:40 +0200
committerGravatar gegy10002019-06-18 20:20:40 +0200
commit42243fa65e1d87f6a0498f6e2d83505605409411 (patch)
treec4127d7928c752360639b42b221c96678cdc5807 /src/main/java/cuchaz/enigma
parentPlugin rework along with API rework: Enigma split from EnigmaProject; plugins... (diff)
parentfix unwanted declaration navigation during Quick Find (diff)
downloadenigma-fork-42243fa65e1d87f6a0498f6e2d83505605409411.tar.gz
enigma-fork-42243fa65e1d87f6a0498f6e2d83505605409411.tar.xz
enigma-fork-42243fa65e1d87f6a0498f6e2d83505605409411.zip
Mostly resolve test failures
Diffstat (limited to 'src/main/java/cuchaz/enigma')
-rw-r--r--src/main/java/cuchaz/enigma/EnigmaProject.java1
-rw-r--r--src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java4
-rw-r--r--src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java7
-rw-r--r--src/main/java/cuchaz/enigma/gui/Gui.java8
-rw-r--r--src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java19
5 files changed, 28 insertions, 11 deletions
diff --git a/src/main/java/cuchaz/enigma/EnigmaProject.java b/src/main/java/cuchaz/enigma/EnigmaProject.java
index 82fc0bd..dd1f9fa 100644
--- a/src/main/java/cuchaz/enigma/EnigmaProject.java
+++ b/src/main/java/cuchaz/enigma/EnigmaProject.java
@@ -273,6 +273,7 @@ public class EnigmaProject {
273 } 273 }
274 274
275 void writeTo(Path path) throws IOException { 275 void writeTo(Path path) throws IOException {
276 Files.createDirectories(path.getParent());
276 try (BufferedWriter writer = Files.newBufferedWriter(path)) { 277 try (BufferedWriter writer = Files.newBufferedWriter(path)) {
277 writer.write(source); 278 writer.write(source);
278 } 279 }
diff --git a/src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java b/src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java
index c24e661..b0d2a7d 100644
--- a/src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java
+++ b/src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java
@@ -32,8 +32,6 @@ public class DeobfuscateCommand extends Command {
32 ProgressListener progress = new ConsoleProgressListener(); 32 ProgressListener progress = new ConsoleProgressListener();
33 33
34 EnigmaProject.JarExport jar = project.exportRemappedJar(progress); 34 EnigmaProject.JarExport jar = project.exportRemappedJar(progress);
35 EnigmaProject.SourceExport source = jar.decompile(progress); 35 jar.write(fileJarOut, progress);
36
37 source.write(fileJarOut, progress);
38 } 36 }
39} 37}
diff --git a/src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java b/src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java
index 0c1d4cd..c912be3 100644
--- a/src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java
+++ b/src/main/java/cuchaz/enigma/gui/EnigmaQuickFindDialog.java
@@ -36,7 +36,12 @@ public class EnigmaQuickFindDialog extends QuickFindDialog {
36 public void showFor(JTextComponent target) { 36 public void showFor(JTextComponent target) {
37 String selectedText = target.getSelectedText(); 37 String selectedText = target.getSelectedText();
38 38
39 super.showFor(target); 39 try {
40 super.showFor(target);
41 } catch (Exception e) {
42 e.printStackTrace();
43 return;
44 }
40 45
41 Container view = target.getParent(); 46 Container view = target.getParent();
42 Point loc = new Point(0, view.getHeight() - getSize().height); 47 Point loc = new Point(0, view.getHeight() - getSize().height);
diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java
index f5dd8a0..6fc9fcf 100644
--- a/src/main/java/cuchaz/enigma/gui/Gui.java
+++ b/src/main/java/cuchaz/enigma/gui/Gui.java
@@ -529,16 +529,15 @@ public class Gui {
529 return combo; 529 return combo;
530 } 530 }
531 531
532 public void onCaretMove(int pos) { 532 public void onCaretMove(int pos, boolean fromClick) {
533 EntryRemapper mapper = controller.project.getMapper(); 533 EntryRemapper mapper = controller.project.getMapper();
534
535 Token token = this.controller.getToken(pos); 534 Token token = this.controller.getToken(pos);
536 boolean isToken = token != null; 535 boolean isToken = token != null;
537 536
538 cursorReference = this.controller.getReference(token); 537 cursorReference = this.controller.getReference(token);
539 Entry<?> referenceEntry = cursorReference != null ? cursorReference.entry : null; 538 Entry<?> referenceEntry = cursorReference != null ? cursorReference.entry : null;
540 539
541 if (referenceEntry != null && shouldNavigateOnClick) { 540 if (referenceEntry != null && shouldNavigateOnClick && fromClick) {
542 shouldNavigateOnClick = false; 541 shouldNavigateOnClick = false;
543 Entry<?> navigationEntry = referenceEntry; 542 Entry<?> navigationEntry = referenceEntry;
544 if (cursorReference.context == null) { 543 if (cursorReference.context == null) {
@@ -773,8 +772,9 @@ public class Gui {
773 if (response == JOptionPane.YES_OPTION) { 772 if (response == JOptionPane.YES_OPTION) {
774 this.saveMapping(); 773 this.saveMapping();
775 this.frame.dispose(); 774 this.frame.dispose();
776 } else if (response == JOptionPane.NO_OPTION) 775 } else if (response == JOptionPane.NO_OPTION) {
777 this.frame.dispose(); 776 this.frame.dispose();
777 }
778 778
779 return null; 779 return null;
780 }, "Save and exit", "Discard changes", "Cancel"); 780 }, "Save and exit", "Discard changes", "Cancel");
diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java
index e8a9cad..123238f 100644
--- a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java
+++ b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java
@@ -16,14 +16,21 @@ import java.awt.event.MouseAdapter;
16import java.awt.event.MouseEvent; 16import java.awt.event.MouseEvent;
17 17
18public class PanelEditor extends JEditorPane { 18public class PanelEditor extends JEditorPane {
19 private boolean mouseIsPressed = false;
20
19 public PanelEditor(Gui gui) { 21 public PanelEditor(Gui gui) {
20 this.setEditable(false); 22 this.setEditable(false);
21 this.setSelectionColor(new Color(31, 46, 90)); 23 this.setSelectionColor(new Color(31, 46, 90));
22 this.setCaret(new BrowserCaret()); 24 this.setCaret(new BrowserCaret());
23 this.addCaretListener(event -> gui.onCaretMove(event.getDot())); 25 this.addCaretListener(event -> gui.onCaretMove(event.getDot(), mouseIsPressed));
24 final PanelEditor self = this; 26 final PanelEditor self = this;
25 this.addMouseListener(new MouseAdapter() { 27 this.addMouseListener(new MouseAdapter() {
26 @Override 28 @Override
29 public void mousePressed(MouseEvent mouseEvent) {
30 mouseIsPressed = true;
31 }
32
33 @Override
27 public void mouseReleased(MouseEvent e) { 34 public void mouseReleased(MouseEvent e) {
28 switch (e.getButton()) { 35 switch (e.getButton()) {
29 case MouseEvent.BUTTON3: // Right click 36 case MouseEvent.BUTTON3: // Right click
@@ -38,12 +45,15 @@ public class PanelEditor extends JEditorPane {
38 gui.getController().openNextReference(); 45 gui.getController().openNextReference();
39 break; 46 break;
40 } 47 }
48 mouseIsPressed = false;
41 } 49 }
42 }); 50 });
43 this.addKeyListener(new KeyAdapter() { 51 this.addKeyListener(new KeyAdapter() {
44 @Override 52 @Override
45 public void keyPressed(KeyEvent event) { 53 public void keyPressed(KeyEvent event) {
46 if (event.isControlDown()) { 54 if (event.isControlDown()) {
55 gui.setShouldNavigateOnClick(false);
56
47 switch (event.getKeyCode()) { 57 switch (event.getKeyCode()) {
48 case KeyEvent.VK_I: 58 case KeyEvent.VK_I:
49 gui.popupMenu.showInheritanceMenu.doClick(); 59 gui.popupMenu.showInheritanceMenu.doClick();
@@ -81,12 +91,15 @@ public class PanelEditor extends JEditorPane {
81 gui.getController().refreshCurrentClass(); 91 gui.getController().refreshCurrentClass();
82 break; 92 break;
83 93
94 case KeyEvent.VK_F:
95 // prevent navigating on click when quick find activated
96 break;
97
84 default: 98 default:
99 gui.setShouldNavigateOnClick(true); // CTRL
85 break; 100 break;
86 } 101 }
87 } 102 }
88
89 gui.setShouldNavigateOnClick(event.isControlDown());
90 } 103 }
91 104
92 @Override 105 @Override