From 58c0189e572792ec488c29a4a67e7ae0ce9e6334 Mon Sep 17 00:00:00 2001 From: Thog Date: Wed, 24 Aug 2016 00:40:12 +0200 Subject: Rewrite rename update for packages render, now package will never be closed during renaming (Fix #6) --- src/main/java/cuchaz/enigma/gui/GuiController.java | 28 ++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'src/main/java/cuchaz/enigma/gui/GuiController.java') diff --git a/src/main/java/cuchaz/enigma/gui/GuiController.java b/src/main/java/cuchaz/enigma/gui/GuiController.java index cc645d8..e466f63 100644 --- a/src/main/java/cuchaz/enigma/gui/GuiController.java +++ b/src/main/java/cuchaz/enigma/gui/GuiController.java @@ -12,24 +12,21 @@ package cuchaz.enigma.gui; import com.google.common.collect.Lists; import com.google.common.collect.Queues; - import com.strobel.decompiler.languages.java.ast.CompilationUnit; +import cuchaz.enigma.Deobfuscator; +import cuchaz.enigma.analysis.*; +import cuchaz.enigma.gui.dialog.ProgressDialog; +import cuchaz.enigma.mapping.*; +import cuchaz.enigma.throwables.MappingParseException; +import cuchaz.enigma.utils.ReadableToken; import java.io.File; -import java.io.FileWriter; import java.io.IOException; import java.util.Collection; import java.util.Deque; import java.util.List; import java.util.jar.JarFile; -import cuchaz.enigma.Deobfuscator; -import cuchaz.enigma.analysis.*; -import cuchaz.enigma.gui.dialog.ProgressDialog; -import cuchaz.enigma.mapping.*; -import cuchaz.enigma.throwables.MappingParseException; -import cuchaz.enigma.utils.ReadableToken; - public class GuiController { private Deobfuscator deobfuscator; @@ -192,18 +189,26 @@ public class GuiController { } public void rename(EntryReference deobfReference, String newName) { + rename(deobfReference, newName, true); + } + + public void rename(EntryReference deobfReference, String newName, boolean refreshClassTree) + { EntryReference obfReference = this.deobfuscator.obfuscateReference(deobfReference); this.deobfuscator.rename(obfReference.getNameableEntry(), newName); this.isDirty = true; - refreshClasses(); + + if (refreshClassTree) + this.gui.moveClassTree(deobfReference, newName); refreshCurrentClass(obfReference); + } public void removeMapping(EntryReference deobfReference) { EntryReference obfReference = this.deobfuscator.obfuscateReference(deobfReference); this.deobfuscator.removeMapping(obfReference.getNameableEntry()); this.isDirty = true; - refreshClasses(); + this.gui.moveClassTree(deobfReference, obfReference.entry.getName(), false, true); refreshCurrentClass(obfReference); } @@ -211,7 +216,6 @@ public class GuiController { EntryReference obfReference = this.deobfuscator.obfuscateReference(deobfReference); this.deobfuscator.markAsDeobfuscated(obfReference.getNameableEntry()); this.isDirty = true; - refreshClasses(); refreshCurrentClass(obfReference); } -- cgit v1.2.3