summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/gui/Gui.java
diff options
context:
space:
mode:
authorGravatar jeff2014-09-26 00:33:07 -0400
committerGravatar jeff2014-09-26 00:33:07 -0400
commit575447097876b5cf3dfbae8fa1f6f749819e97b8 (patch)
tree50b544e601e295dee5a55e747db85df9d3a25577 /src/cuchaz/enigma/gui/Gui.java
parentfixed invalid tokens issue (diff)
downloadenigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.tar.gz
enigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.tar.xz
enigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.zip
implemented mark-as-deobfuscated and reset-to-obfuscated
Diffstat (limited to 'src/cuchaz/enigma/gui/Gui.java')
-rw-r--r--src/cuchaz/enigma/gui/Gui.java63
1 files changed, 54 insertions, 9 deletions
diff --git a/src/cuchaz/enigma/gui/Gui.java b/src/cuchaz/enigma/gui/Gui.java
index 1f04aa3..8bf6ce9 100644
--- a/src/cuchaz/enigma/gui/Gui.java
+++ b/src/cuchaz/enigma/gui/Gui.java
@@ -122,6 +122,7 @@ public class Gui
122 private JMenuItem m_openPreviousMenu; 122 private JMenuItem m_openPreviousMenu;
123 private JMenuItem m_showCallsMenu; 123 private JMenuItem m_showCallsMenu;
124 private JMenuItem m_showImplementationsMenu; 124 private JMenuItem m_showImplementationsMenu;
125 private JMenuItem m_toggleMappingMenu;
125 126
126 // state 127 // state
127 private EntryReference<Entry,Entry> m_reference; 128 private EntryReference<Entry,Entry> m_reference;
@@ -136,17 +137,20 @@ public class Gui
136 final Container pane = m_frame.getContentPane(); 137 final Container pane = m_frame.getContentPane();
137 pane.setLayout( new BorderLayout() ); 138 pane.setLayout( new BorderLayout() );
138 139
139 // install a global exception handler to the event thread 140 if( Boolean.parseBoolean( System.getProperty( "enigma.catchExceptions", "true" ) ) )
140 CrashDialog.init( m_frame );
141 Thread.setDefaultUncaughtExceptionHandler( new UncaughtExceptionHandler( )
142 { 141 {
143 @Override 142 // install a global exception handler to the event thread
144 public void uncaughtException( Thread thread, Throwable ex ) 143 CrashDialog.init( m_frame );
144 Thread.setDefaultUncaughtExceptionHandler( new UncaughtExceptionHandler( )
145 { 145 {
146 ex.printStackTrace( System.err ); 146 @Override
147 CrashDialog.show( ex ); 147 public void uncaughtException( Thread thread, Throwable ex )
148 } 148 {
149 } ); 149 ex.printStackTrace( System.err );
150 CrashDialog.show( ex );
151 }
152 } );
153 }
150 154
151 m_controller = new GuiController( this ); 155 m_controller = new GuiController( this );
152 156
@@ -251,6 +255,10 @@ public class Gui
251 case KeyEvent.VK_C: 255 case KeyEvent.VK_C:
252 m_showCallsMenu.doClick(); 256 m_showCallsMenu.doClick();
253 break; 257 break;
258
259 case KeyEvent.VK_T:
260 m_toggleMappingMenu.doClick();
261 break;
254 } 262 }
255 } 263 }
256 } ); 264 } );
@@ -352,6 +360,21 @@ public class Gui
352 popupMenu.add( menu ); 360 popupMenu.add( menu );
353 m_openPreviousMenu = menu; 361 m_openPreviousMenu = menu;
354 } 362 }
363 {
364 JMenuItem menu = new JMenuItem( "Mark as deobfuscated" );
365 menu.addActionListener( new ActionListener( )
366 {
367 @Override
368 public void actionPerformed( ActionEvent event )
369 {
370 toggleMapping();
371 }
372 } );
373 menu.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_T, 0 ) );
374 menu.setEnabled( false );
375 popupMenu.add( menu );
376 m_toggleMappingMenu = menu;
377 }
355 378
356 // init inheritance panel 379 // init inheritance panel
357 m_inheritanceTree = new JTree(); 380 m_inheritanceTree = new JTree();
@@ -1031,6 +1054,16 @@ public class Gui
1031 m_showCallsMenu.setEnabled( isClassEntry || isFieldEntry || isMethodEntry || isConstructorEntry ); 1054 m_showCallsMenu.setEnabled( isClassEntry || isFieldEntry || isMethodEntry || isConstructorEntry );
1032 m_openEntryMenu.setEnabled( isInJar && ( isClassEntry || isFieldEntry || isMethodEntry || isConstructorEntry ) ); 1055 m_openEntryMenu.setEnabled( isInJar && ( isClassEntry || isFieldEntry || isMethodEntry || isConstructorEntry ) );
1033 m_openPreviousMenu.setEnabled( m_controller.hasPreviousLocation() ); 1056 m_openPreviousMenu.setEnabled( m_controller.hasPreviousLocation() );
1057 m_toggleMappingMenu.setEnabled( isInJar && isToken );
1058
1059 if( isToken && m_controller.entryHasMapping( m_reference.entry ) )
1060 {
1061 m_toggleMappingMenu.setText( "Reset to obfuscated" );
1062 }
1063 else
1064 {
1065 m_toggleMappingMenu.setText( "Mark as deobfuscated" );
1066 }
1034 } 1067 }
1035 1068
1036 private void navigateTo( Entry entry ) 1069 private void navigateTo( Entry entry )
@@ -1233,6 +1266,18 @@ public class Gui
1233 redraw(); 1266 redraw();
1234 } 1267 }
1235 1268
1269 private void toggleMapping()
1270 {
1271 if( m_controller.entryHasMapping( m_reference.entry ) )
1272 {
1273 m_controller.removeMapping( m_reference );
1274 }
1275 else
1276 {
1277 m_controller.markAsDeobfuscated( m_reference );
1278 }
1279 }
1280
1236 private TreePath getPathToRoot( TreeNode node ) 1281 private TreePath getPathToRoot( TreeNode node )
1237 { 1282 {
1238 List<TreeNode> nodes = Lists.newArrayList(); 1283 List<TreeNode> nodes = Lists.newArrayList();