From a700b403d790c23989da524c934f0185b87c7b32 Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 23 Aug 2014 16:20:15 -0400 Subject: added export command with progress bar --- src/cuchaz/enigma/gui/Gui.java | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) (limited to 'src/cuchaz/enigma/gui/Gui.java') diff --git a/src/cuchaz/enigma/gui/Gui.java b/src/cuchaz/enigma/gui/Gui.java index dd82b8e..febdfd4 100644 --- a/src/cuchaz/enigma/gui/Gui.java +++ b/src/cuchaz/enigma/gui/Gui.java @@ -15,7 +15,6 @@ import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; -import java.awt.Font; import java.awt.GridLayout; import java.awt.Rectangle; import java.awt.event.ActionEvent; @@ -169,6 +168,7 @@ public class Gui private EntryReference m_reference; private JFileChooser m_jarFileChooser; private JFileChooser m_mappingsFileChooser; + private JFileChooser m_exportFileChooser; public Gui( ) { @@ -177,6 +177,8 @@ public class Gui // init file choosers m_jarFileChooser = new JFileChooser(); m_mappingsFileChooser = new JFileChooser(); + m_exportFileChooser = new JFileChooser(); + m_exportFileChooser.setFileSelectionMode( JFileChooser.DIRECTORIES_ONLY ); // init frame m_frame = new JFrame( Constants.Name ); @@ -636,6 +638,22 @@ public class Gui m_closeMappingsMenu = item; } menu.addSeparator(); + { + JMenuItem item = new JMenuItem( "Export..." ); + menu.add( item ); + item.addActionListener( new ActionListener( ) + { + @Override + public void actionPerformed( ActionEvent event ) + { + if( m_exportFileChooser.showSaveDialog( m_frame ) == JFileChooser.APPROVE_OPTION ) + { + m_controller.export( m_exportFileChooser.getSelectedFile() ); + } + } + } ); + } + menu.addSeparator(); { JMenuItem item = new JMenuItem( "Exit" ); menu.add( item ); @@ -686,6 +704,11 @@ public class Gui m_frame.setDefaultCloseOperation( WindowConstants.DO_NOTHING_ON_CLOSE ); } + public JFrame getFrame( ) + { + return m_frame; + } + public GuiController getController( ) { return m_controller; @@ -887,7 +910,7 @@ public class Gui { m_infoPanel.removeAll(); JLabel label = new JLabel( "No identifier selected" ); - unboldLabel( label ); + GuiTricks.unboldLabel( label ); label.setHorizontalAlignment( JLabel.CENTER ); m_infoPanel.add( label ); @@ -975,7 +998,7 @@ public class Gui label.setPreferredSize( new Dimension( 100, label.getPreferredSize().height ) ); panel.add( label ); - panel.add( unboldLabel( new JLabel( value, JLabel.LEFT ) ) ); + panel.add( GuiTricks.unboldLabel( new JLabel( value, JLabel.LEFT ) ) ); } private void onCaretMove( int pos ) @@ -1059,7 +1082,7 @@ public class Gui // abort the rename JPanel panel = (JPanel)m_infoPanel.getComponent( 0 ); panel.remove( panel.getComponentCount() - 1 ); - panel.add( unboldLabel( new JLabel( m_reference.entry.getName(), JLabel.LEFT ) ) ); + panel.add( GuiTricks.unboldLabel( new JLabel( m_reference.entry.getName(), JLabel.LEFT ) ) ); m_editor.grabFocus(); @@ -1203,13 +1226,6 @@ public class Gui } } - private JLabel unboldLabel( JLabel label ) - { - Font font = label.getFont(); - label.setFont( font.deriveFont( font.getStyle() & ~Font.BOLD ) ); - return label; - } - private void redraw( ) { m_frame.validate(); -- cgit v1.2.3