diff options
| author | 2014-08-23 16:20:15 -0400 | |
|---|---|---|
| committer | 2014-08-23 16:20:15 -0400 | |
| commit | a700b403d790c23989da524c934f0185b87c7b32 (patch) | |
| tree | 10a6b279927efea8cbfd12288edd6ad06f046eb2 /src/cuchaz/enigma/gui/GuiController.java | |
| parent | Added tag v0.3 beta for changeset d90963ed6887 (diff) | |
| download | enigma-fork-a700b403d790c23989da524c934f0185b87c7b32.tar.gz enigma-fork-a700b403d790c23989da524c934f0185b87c7b32.tar.xz enigma-fork-a700b403d790c23989da524c934f0185b87c7b32.zip | |
added export command with progress bar
Diffstat (limited to 'src/cuchaz/enigma/gui/GuiController.java')
| -rw-r--r-- | src/cuchaz/enigma/gui/GuiController.java | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/cuchaz/enigma/gui/GuiController.java b/src/cuchaz/enigma/gui/GuiController.java index a35db05..cf4f002 100644 --- a/src/cuchaz/enigma/gui/GuiController.java +++ b/src/cuchaz/enigma/gui/GuiController.java | |||
| @@ -20,6 +20,7 @@ import java.util.List; | |||
| 20 | 20 | ||
| 21 | import com.google.common.collect.Lists; | 21 | import com.google.common.collect.Lists; |
| 22 | import com.google.common.collect.Queues; | 22 | import com.google.common.collect.Queues; |
| 23 | import com.strobel.decompiler.languages.java.ast.CompilationUnit; | ||
| 23 | 24 | ||
| 24 | import cuchaz.enigma.Deobfuscator; | 25 | import cuchaz.enigma.Deobfuscator; |
| 25 | import cuchaz.enigma.analysis.BehaviorReferenceTreeNode; | 26 | import cuchaz.enigma.analysis.BehaviorReferenceTreeNode; |
| @@ -106,6 +107,27 @@ public class GuiController | |||
| 106 | refreshCurrentClass(); | 107 | refreshCurrentClass(); |
| 107 | } | 108 | } |
| 108 | 109 | ||
| 110 | public void export( final File dirOut ) | ||
| 111 | { | ||
| 112 | new Thread( ) | ||
| 113 | { | ||
| 114 | @Override | ||
| 115 | public void run( ) | ||
| 116 | { | ||
| 117 | try | ||
| 118 | { | ||
| 119 | ProgressDialog progress = new ProgressDialog( m_gui.getFrame() ); | ||
| 120 | m_deobfuscator.writeSources( dirOut, progress ); | ||
| 121 | progress.close(); | ||
| 122 | } | ||
| 123 | catch( IOException ex ) | ||
| 124 | { | ||
| 125 | throw new Error( ex ); | ||
| 126 | } | ||
| 127 | } | ||
| 128 | }.start(); | ||
| 129 | } | ||
| 130 | |||
| 109 | public Token getToken( int pos ) | 131 | public Token getToken( int pos ) |
| 110 | { | 132 | { |
| 111 | if( m_index == null ) | 133 | if( m_index == null ) |
| @@ -295,7 +317,9 @@ public class GuiController | |||
| 295 | public void run( ) | 317 | public void run( ) |
| 296 | { | 318 | { |
| 297 | // decompile,deobfuscate the bytecode | 319 | // decompile,deobfuscate the bytecode |
| 298 | m_index = m_deobfuscator.getSource( classEntry.getClassName() ); | 320 | CompilationUnit sourceTree = m_deobfuscator.getSourceTree( classEntry.getClassName() ); |
| 321 | String source = m_deobfuscator.getSource( sourceTree ); | ||
| 322 | m_index = m_deobfuscator.getSourceIndex( sourceTree, source ); | ||
| 299 | m_gui.setSource( m_index.getSource() ); | 323 | m_gui.setSource( m_index.getSource() ); |
| 300 | if( obfReference != null ) | 324 | if( obfReference != null ) |
| 301 | { | 325 | { |