//////////////////////////////////////////////////////////////////
package jalview.io;
+import jalview.gui.JvOptionPane;
import jalview.util.MessageManager;
import jalview.util.Platform;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JFileChooser;
import javax.swing.JList;
-import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SpringLayout;
+import javax.swing.filechooser.FileView;
import javax.swing.plaf.basic.BasicFileChooserUI;
/**
if (format.isReadable())
{
extensions.add(format.getExtensions());
- descs.add(format.getShortDescription());
+ descs.add(format.toString());
}
}
return new JalviewFileChooser(directory,
if (format.isWritable())
{
extensions.add(format.getExtensions());
- descs.add(format.getShortDescription());
+ descs.add(format.toString());
}
}
return new JalviewFileChooser(directory,
}
}
+ /**
+ * Returns the selected file format, or null if none selected
+ *
+ * @return
+ */
public FileFormatI getSelectedFormat()
{
if (getFileFilter() == null)
return null;
}
+ /*
+ * logic here depends on option description being formatted as
+ * formatName (extension, extension...)
+ * or the 'no option selected' value
+ * All Files
+ * @see JalviewFileFilter.getDescription
+ */
String format = getFileFilter().getDescription();
- format = format.substring(0, format.indexOf("(") - 1);
- return FileFormat.valueOf(format);
+ int parenPos = format.indexOf("(");
+ if (parenPos > 0)
+ {
+ format = format.substring(0, parenPos).trim();
+ try
+ {
+ return FileFormat.valueOf(format);
+ } catch (IllegalArgumentException e)
+ {
+ System.err.println("Unexpected format: " + format);
+ }
+ }
+ return null;
}
@Override
if ((ret == JalviewFileChooser.APPROVE_OPTION)
&& getSelectedFile().exists())
{
- int confirm = JOptionPane.showConfirmDialog(parent,
+ int confirm = JvOptionPane.showConfirmDialog(parent,
MessageManager.getString("label.overwrite_existing_file"),
MessageManager.getString("label.file_already_exists"),
- JOptionPane.YES_NO_OPTION);
+ JvOptionPane.YES_NO_OPTION);
- if (confirm != JOptionPane.YES_OPTION)
+ if (confirm != JvOptionPane.YES_OPTION)
{
ret = JalviewFileChooser.CANCEL_OPTION;
}