diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/Gui.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/Gui.java | 7 |
1 files changed, 7 insertions, 0 deletions
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 { | |||
| 792 | newEntry == null); | 792 | newEntry == null); |
| 793 | } | 793 | } |
| 794 | 794 | ||
| 795 | // TODO: getExpansionState will *not* actually update itself based on name changes! | ||
| 795 | public void moveClassTree(EntryReference<Entry, Entry> deobfReference, String newName, boolean isOldOb, boolean isNewOb) { | 796 | public void moveClassTree(EntryReference<Entry, Entry> deobfReference, String newName, boolean isOldOb, boolean isNewOb) { |
| 796 | ClassEntry oldEntry = deobfReference.entry.getOwnerClassEntry(); | 797 | ClassEntry oldEntry = deobfReference.entry.getOwnerClassEntry(); |
| 797 | ClassEntry newEntry = new ClassEntry(newName); | 798 | ClassEntry newEntry = new ClassEntry(newName); |
| 798 | 799 | ||
| 799 | // Ob -> deob | 800 | // Ob -> deob |
| 801 | List<ClassSelector.StateEntry> stateDeobf = this.deobfPanel.deobfClasses.getExpansionState(this.deobfPanel.deobfClasses); | ||
| 802 | List<ClassSelector.StateEntry> stateObf = this.obfPanel.obfClasses.getExpansionState(this.obfPanel.obfClasses); | ||
| 803 | |||
| 800 | if (isOldOb && !isNewOb) { | 804 | if (isOldOb && !isNewOb) { |
| 801 | this.deobfPanel.deobfClasses.moveClassTree(oldEntry, newEntry, obfPanel.obfClasses); | 805 | this.deobfPanel.deobfClasses.moveClassTree(oldEntry, newEntry, obfPanel.obfClasses); |
| 802 | ClassSelectorPackageNode packageNode = this.obfPanel.obfClasses.getPackageNode(oldEntry); | 806 | ClassSelectorPackageNode packageNode = this.obfPanel.obfClasses.getPackageNode(oldEntry); |
| @@ -824,5 +828,8 @@ public class Gui { | |||
| 824 | this.deobfPanel.deobfClasses.removeNodeIfEmpty(this.deobfPanel.deobfClasses.getPackageNode(oldEntry)); | 828 | this.deobfPanel.deobfClasses.removeNodeIfEmpty(this.deobfPanel.deobfClasses.getPackageNode(oldEntry)); |
| 825 | this.deobfPanel.deobfClasses.reload(); | 829 | this.deobfPanel.deobfClasses.reload(); |
| 826 | } | 830 | } |
| 831 | |||
| 832 | this.deobfPanel.deobfClasses.restoreExpansionState(this.deobfPanel.deobfClasses, stateDeobf); | ||
| 833 | this.obfPanel.obfClasses.restoreExpansionState(this.obfPanel.obfClasses, stateObf); | ||
| 827 | } | 834 | } |
| 828 | } | 835 | } |