diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/Gui.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/Gui.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java index 2a35507..6d9ea1d 100644 --- a/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/src/main/java/cuchaz/enigma/gui/Gui.java | |||
| @@ -778,12 +778,16 @@ public class Gui { | |||
| 778 | DefaultMutableTreeNode childNode = (DefaultMutableTreeNode) node.getChildAt(i); | 778 | DefaultMutableTreeNode childNode = (DefaultMutableTreeNode) node.getChildAt(i); |
| 779 | ClassEntry prevDataChild = (ClassEntry) childNode.getUserObject(); | 779 | ClassEntry prevDataChild = (ClassEntry) childNode.getUserObject(); |
| 780 | ClassEntry dataChild = new ClassEntry(data + "/" + prevDataChild.getSimpleName()); | 780 | ClassEntry dataChild = new ClassEntry(data + "/" + prevDataChild.getSimpleName()); |
| 781 | this.controller.rename(new EntryReference<>(prevDataChild, prevDataChild.getName()), dataChild.getName(), false); | 781 | this.controller.rename(new EntryReference<>(prevDataChild, prevDataChild.getName()), dataChild.getName(), false, i + 1 == node.getChildCount()); |
| 782 | childNode.setUserObject(dataChild); | ||
| 782 | } | 783 | } |
| 784 | node.setUserObject(data); | ||
| 785 | // Ob package will never be modified, just reload deob view | ||
| 786 | this.deobfPanel.deobfClasses.reload(); | ||
| 783 | } | 787 | } |
| 784 | // class rename | 788 | // class rename |
| 785 | else if (data instanceof ClassEntry) | 789 | else if (data instanceof ClassEntry) |
| 786 | this.controller.rename(new EntryReference<>((ClassEntry) prevData, ((ClassEntry) prevData).getName()), ((ClassEntry) data).getName(), false); | 790 | this.controller.rename(new EntryReference<>((ClassEntry) prevData, ((ClassEntry) prevData).getName()), ((ClassEntry) data).getName(), false, true); |
| 787 | } | 791 | } |
| 788 | 792 | ||
| 789 | public void moveClassTree(EntryReference<Entry, Entry> deobfReference, String newName) | 793 | public void moveClassTree(EntryReference<Entry, Entry> deobfReference, String newName) |
| @@ -806,6 +810,8 @@ public class Gui { | |||
| 806 | ClassSelectorPackageNode packageNode = this.obfPanel.obfClasses.getPackageNode(oldEntry); | 810 | ClassSelectorPackageNode packageNode = this.obfPanel.obfClasses.getPackageNode(oldEntry); |
| 807 | this.obfPanel.obfClasses.removeNode(packageNode, oldEntry); | 811 | this.obfPanel.obfClasses.removeNode(packageNode, oldEntry); |
| 808 | this.obfPanel.obfClasses.removeNodeIfEmpty(packageNode); | 812 | this.obfPanel.obfClasses.removeNodeIfEmpty(packageNode); |
| 813 | this.deobfPanel.deobfClasses.reload(); | ||
| 814 | this.obfPanel.obfClasses.reload(); | ||
| 809 | } | 815 | } |
| 810 | // Deob -> ob | 816 | // Deob -> ob |
| 811 | else if (isNewOb && !isOldOb) | 817 | else if (isNewOb && !isOldOb) |
| @@ -814,17 +820,21 @@ public class Gui { | |||
| 814 | ClassSelectorPackageNode packageNode = this.deobfPanel.deobfClasses.getPackageNode(oldEntry); | 820 | ClassSelectorPackageNode packageNode = this.deobfPanel.deobfClasses.getPackageNode(oldEntry); |
| 815 | this.deobfPanel.deobfClasses.removeNode(packageNode, oldEntry); | 821 | this.deobfPanel.deobfClasses.removeNode(packageNode, oldEntry); |
| 816 | this.deobfPanel.deobfClasses.removeNodeIfEmpty(packageNode); | 822 | this.deobfPanel.deobfClasses.removeNodeIfEmpty(packageNode); |
| 823 | this.deobfPanel.deobfClasses.reload(); | ||
| 824 | this.obfPanel.obfClasses.reload(); | ||
| 817 | } | 825 | } |
| 818 | // Local move | 826 | // Local move |
| 819 | else if (isOldOb) | 827 | else if (isOldOb) |
| 820 | { | 828 | { |
| 821 | this.obfPanel.obfClasses.moveClassTree(oldEntry, newEntry, null); | 829 | this.obfPanel.obfClasses.moveClassTree(oldEntry, newEntry, null); |
| 822 | this.obfPanel.obfClasses.removeNodeIfEmpty(this.obfPanel.obfClasses.getPackageNode(oldEntry)); | 830 | this.obfPanel.obfClasses.removeNodeIfEmpty(this.obfPanel.obfClasses.getPackageNode(oldEntry)); |
| 831 | this.obfPanel.obfClasses.reload(); | ||
| 823 | } | 832 | } |
| 824 | else | 833 | else |
| 825 | { | 834 | { |
| 826 | this.deobfPanel.deobfClasses.moveClassTree(oldEntry, newEntry, null); | 835 | this.deobfPanel.deobfClasses.moveClassTree(oldEntry, newEntry, null); |
| 827 | this.deobfPanel.deobfClasses.removeNodeIfEmpty(this.deobfPanel.deobfClasses.getPackageNode(oldEntry)); | 836 | this.deobfPanel.deobfClasses.removeNodeIfEmpty(this.deobfPanel.deobfClasses.getPackageNode(oldEntry)); |
| 837 | this.deobfPanel.deobfClasses.reload(); | ||
| 828 | } | 838 | } |
| 829 | } | 839 | } |
| 830 | } | 840 | } |