summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui/Gui.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/Gui.java')
-rw-r--r--src/main/java/cuchaz/enigma/gui/Gui.java14
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}