X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJalviewFileChooser.java;fp=src%2Fjalview%2Fio%2FJalviewFileChooser.java;h=e4317bd0532d3bfa2d7ecabcc708495f4582a7c9;hb=4815037f13748676b04b91dc761b73cf6f2d6ecd;hp=7e1aaa1ff443fc74d6200100c4398dfdf05c7cc4;hpb=74b531f56bbaad5c5e06a4744980256fe8110923;p=jalview.git diff --git a/src/jalview/io/JalviewFileChooser.java b/src/jalview/io/JalviewFileChooser.java index 7e1aaa1..e4317bd 100755 --- a/src/jalview/io/JalviewFileChooser.java +++ b/src/jalview/io/JalviewFileChooser.java @@ -76,7 +76,7 @@ public class JalviewFileChooser extends JFileChooser if (format.isReadable()) { extensions.add(format.getExtensions()); - descs.add(format.getShortDescription()); + descs.add(format.toString()); } } return new JalviewFileChooser(directory, @@ -106,7 +106,7 @@ public class JalviewFileChooser extends JFileChooser if (format.isWritable()) { extensions.add(format.getExtensions()); - descs.add(format.getShortDescription()); + descs.add(format.toString()); } } return new JalviewFileChooser(directory, @@ -233,6 +233,11 @@ public class JalviewFileChooser extends JFileChooser } } + /** + * Returns the selected file format, or null if none selected + * + * @return + */ public FileFormatI getSelectedFormat() { if (getFileFilter() == null) @@ -240,9 +245,27 @@ public class JalviewFileChooser extends JFileChooser 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