X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJalviewFileChooser.java;h=3b6e325895f95d1b4eaed1808421a259e52eab95;hb=80b889f0cca49103e1b20ed806755a0719789906;hp=52182552317ecf9f27d4ef8e04d54d961e000c55;hpb=c1f5dd54ab8caa7e76ca50f9c3a85f2731b66862;p=jalview.git diff --git a/src/jalview/io/JalviewFileChooser.java b/src/jalview/io/JalviewFileChooser.java index 5218255..3b6e325 100755 --- a/src/jalview/io/JalviewFileChooser.java +++ b/src/jalview/io/JalviewFileChooser.java @@ -21,6 +21,12 @@ ////////////////////////////////////////////////////////////////// package jalview.io; +import jalview.bin.Cache; +import jalview.gui.JvOptionPane; +import jalview.util.MessageManager; +import jalview.util.Platform; +import jalview.util.dialogrunner.DialogRunnerI; + import java.awt.Component; import java.awt.Dimension; import java.awt.EventQueue; @@ -38,6 +44,7 @@ import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.Vector; +import java.util.concurrent.Callable; import javax.swing.BoxLayout; import javax.swing.DefaultListCellRenderer; @@ -45,6 +52,7 @@ import javax.swing.JCheckBox; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JList; +import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SpringLayout; @@ -53,6 +61,7 @@ import javax.swing.plaf.basic.BasicFileChooserUI; import jalview.bin.Cache; import jalview.gui.JvOptionPane; +import jalview.util.ChannelProperties; import jalview.util.MessageManager; import jalview.util.Platform; import jalview.util.dialogrunner.DialogRunnerI; @@ -71,7 +80,7 @@ public class JalviewFileChooser extends JFileChooser { private static final long serialVersionUID = 1L; - private Map callbacks = new HashMap<>(); + private Map callbacks = new HashMap<>(); File selectedFile = null; @@ -489,10 +498,13 @@ public class JalviewFileChooser extends JFileChooser if (selectedFile.exists()) { - int confirm = JvOptionPane.showConfirmDialog(this, - MessageManager.getString("label.overwrite_existing_file"), - MessageManager.getString("label.file_already_exists"), - JvOptionPane.YES_NO_OPTION); + int confirm = Cache.getDefault("CONFIRM_OVERWRITE_FILE", true) + ? JvOptionPane.showConfirmDialog(this, + MessageManager + .getString("label.overwrite_existing_file"), + MessageManager.getString("label.file_already_exists"), + JvOptionPane.YES_NO_OPTION) + : JOptionPane.YES_OPTION; if (confirm != JvOptionPane.YES_OPTION) { @@ -597,8 +609,26 @@ public class JalviewFileChooser extends JFileChooser } + /* + @Override + public JalviewFileChooser setResponseHandler(Object response, + Runnable action) + { + callbacks.put(response, new Callable() + { + @Override + public Void call() + { + action.run(); + return null; + } + }); + return this; + } + */ + @Override - public DialogRunnerI setResponseHandler(Object response, Runnable action) + public DialogRunnerI setResponseHandler(Object response, Callable action) { callbacks.put(response, action); return this; @@ -614,10 +644,16 @@ public class JalviewFileChooser extends JFileChooser { return; } - Runnable action = callbacks.get(response); + Callable action = callbacks.get(response); if (action != null) { - action.run(); + try + { + action.call(); + } catch (Exception e) + { + e.printStackTrace(); + } } } @@ -647,7 +683,7 @@ public class JalviewFileChooser extends JFileChooser protected JDialog createDialog(Component parent) throws HeadlessException { JDialog dialog = super.createDialog(parent); - dialog.setIconImage(null); + dialog.setIconImages(ChannelProperties.getIconList()); return dialog; }