From f8223ed5b3cb2f5f60a770804b06750ad94928b1 Mon Sep 17 00:00:00 2001 From: asie Date: Wed, 28 Nov 2018 00:15:46 +0100 Subject: fix #68 --- src/main/java/cuchaz/enigma/gui/Gui.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/main/java/cuchaz/enigma/gui/Gui.java') diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java index 1fc8bf3..71bf5dc 100644 --- a/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/src/main/java/cuchaz/enigma/gui/Gui.java @@ -792,11 +792,15 @@ public class Gui { newEntry == null); } + // TODO: getExpansionState will *not* actually update itself based on name changes! public void moveClassTree(EntryReference deobfReference, String newName, boolean isOldOb, boolean isNewOb) { ClassEntry oldEntry = deobfReference.entry.getOwnerClassEntry(); ClassEntry newEntry = new ClassEntry(newName); // Ob -> deob + List stateDeobf = this.deobfPanel.deobfClasses.getExpansionState(this.deobfPanel.deobfClasses); + List stateObf = this.obfPanel.obfClasses.getExpansionState(this.obfPanel.obfClasses); + if (isOldOb && !isNewOb) { this.deobfPanel.deobfClasses.moveClassTree(oldEntry, newEntry, obfPanel.obfClasses); ClassSelectorPackageNode packageNode = this.obfPanel.obfClasses.getPackageNode(oldEntry); @@ -824,5 +828,8 @@ public class Gui { this.deobfPanel.deobfClasses.removeNodeIfEmpty(this.deobfPanel.deobfClasses.getPackageNode(oldEntry)); this.deobfPanel.deobfClasses.reload(); } + + this.deobfPanel.deobfClasses.restoreExpansionState(this.deobfPanel.deobfClasses, stateDeobf); + this.obfPanel.obfClasses.restoreExpansionState(this.obfPanel.obfClasses, stateObf); } } -- cgit v1.2.3