merge from 2_4_Release branch
[jalview.git] / src / jalview / io / JalviewFileChooser.java
index 465b8a3..b381d62 100755 (executable)
@@ -1,22 +1,21 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
- *
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
+ * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * 
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
- *
+ * 
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- *
+ * 
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
  */
-
 //////////////////////////////////////////////////////////////////
 package jalview.io;
 
@@ -26,16 +25,17 @@ import java.util.*;
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
+
 /**
  * Enhanced file chooser dialog box.
  * 
- * NOTE: bug on Windows systems when filechooser opened on directory to view files with colons in title.
+ * NOTE: bug on Windows systems when filechooser opened on directory to view
+ * files with colons in title.
  * 
  * @author AMW
- *
+ * 
  */
-public class JalviewFileChooser
-    extends JFileChooser
+public class JalviewFileChooser extends JFileChooser
 {
   public JalviewFileChooser(String dir)
   {
@@ -45,47 +45,41 @@ public class JalviewFileChooser
 
   private static File safePath(String dir)
   {
-    if (dir==null)
-    { return null;
+    if (dir == null)
+    {
+      return null;
     }
-     
+
     File f = new File(dir);
-    if (f.getName().indexOf(':')>-1)
+    if (f.getName().indexOf(':') > -1)
     {
       return null;
     }
     return f;
   }
 
-  public JalviewFileChooser(String dir,
-                            String[] suffix,
-                            String[] desc,
-                            String selected,
-                            boolean selectAll)
+  public JalviewFileChooser(String dir, String[] suffix, String[] desc,
+          String selected, boolean selectAll)
   {
     super(safePath(dir));
     init(suffix, desc, selected, selectAll);
   }
 
-  public JalviewFileChooser(String dir,
-                            String[] suffix,
-                            String[] desc,
-                            String selected)
+  public JalviewFileChooser(String dir, String[] suffix, String[] desc,
+          String selected)
   {
     super(safePath(dir));
     init(suffix, desc, selected, true);
   }
 
-  void init(String[] suffix,
-            String[] desc,
-            String selected,
-            boolean selectAll)
+  void init(String[] suffix, String[] desc, String selected,
+          boolean selectAll)
   {
 
     JalviewFileFilter chosen = null;
 
-    //SelectAllFilter needs to be set first before adding further
-    //file filters to fix bug on Mac OSX
+    // SelectAllFilter needs to be set first before adding further
+    // file filters to fix bug on Mac OSX
     setAcceptAllFileFilterUsed(selectAll);
 
     for (int i = 0; i < suffix.length; i++)
@@ -93,7 +87,7 @@ public class JalviewFileChooser
       JalviewFileFilter jvf = new JalviewFileFilter(suffix[i], desc[i]);
       addChoosableFileFilter(jvf);
 
-      if ( (selected != null) && selected.equalsIgnoreCase(desc[i]))
+      if ((selected != null) && selected.equalsIgnoreCase(desc[i]))
       {
         chosen = jvf;
       }
@@ -115,11 +109,10 @@ public class JalviewFileChooser
     {
       if (getUI() instanceof javax.swing.plaf.basic.BasicFileChooserUI)
       {
-        final javax.swing.plaf.basic.BasicFileChooserUI ui = (javax.swing.plaf.
-            basic.BasicFileChooserUI) getUI();
+        final javax.swing.plaf.basic.BasicFileChooserUI ui = (javax.swing.plaf.basic.BasicFileChooserUI) getUI();
         final String name = ui.getFileName().trim();
 
-        if ( (name == null) || (name.length() == 0))
+        if ((name == null) || (name.length() == 0))
         {
           return;
         }
@@ -129,15 +122,14 @@ public class JalviewFileChooser
           public void run()
           {
             String currentName = ui.getFileName();
-            if ( (currentName == null) || (currentName.length() == 0))
+            if ((currentName == null) || (currentName.length() == 0))
             {
               ui.setFileName(name);
             }
           }
         });
       }
-    }
-    catch (Exception ex)
+    } catch (Exception ex)
     {
       ex.printStackTrace();
       // Some platforms do not have BasicFileChooserUI
@@ -185,8 +177,7 @@ public class JalviewFileChooser
     return format;
   }
 
-  public int showSaveDialog(Component parent)
-      throws HeadlessException
+  public int showSaveDialog(Component parent) throws HeadlessException
   {
     this.setAccessory(null);
 
@@ -200,19 +191,19 @@ public class JalviewFileChooser
 
       if (!jvf.accept(getSelectedFile()))
       {
-        String withExtension = getSelectedFile() + "." +
-            jvf.getAcceptableExtension();
+        String withExtension = getSelectedFile() + "."
+                + jvf.getAcceptableExtension();
         setSelectedFile(new File(withExtension));
       }
     }
-    // TODO: ENSURE THAT FILES SAVED WITH A ':' IN THE NAME ARE REFUSED AND THE USER PROMPTED FOR A NEW FILENAME
-    if ( (ret == JalviewFileChooser.APPROVE_OPTION) &&
-        getSelectedFile().exists())
+    // TODO: ENSURE THAT FILES SAVED WITH A ':' IN THE NAME ARE REFUSED AND THE
+    // USER PROMPTED FOR A NEW FILENAME
+    if ((ret == JalviewFileChooser.APPROVE_OPTION)
+            && getSelectedFile().exists())
     {
       int confirm = JOptionPane.showConfirmDialog(parent,
-                                                  "Overwrite existing file?",
-                                                  "File exists",
-                                                  JOptionPane.YES_NO_OPTION);
+              "Overwrite existing file?", "File exists",
+              JOptionPane.YES_NO_OPTION);
 
       if (confirm != JOptionPane.YES_OPTION)
       {
@@ -230,7 +221,7 @@ public class JalviewFileChooser
     File file = new File(selection);
     if (getFileFilter() instanceof JalviewFileFilter)
     {
-      JalviewFileFilter jvf = (JalviewFileFilter)this.getFileFilter();
+      JalviewFileFilter jvf = (JalviewFileFilter) this.getFileFilter();
 
       if (!jvf.accept(file))
       {
@@ -241,10 +232,10 @@ public class JalviewFileChooser
     setSelectedFile(file);
   }
 
-  class RecentlyOpened
-      extends JPanel
+  class RecentlyOpened extends JPanel
   {
     JList list;
+
     public RecentlyOpened()
     {
       String historyItems = jalview.bin.Cache.getProperty("RECENT_FILE");
@@ -275,7 +266,9 @@ public class JalviewFileChooser
         }
       });
 
-      this.setBorder(new javax.swing.border.TitledBorder("Recently Opened"));
+      this
+              .setBorder(new javax.swing.border.TitledBorder(
+                      "Recently Opened"));
 
       final JScrollPane scroller = new JScrollPane(list);
       scroller.setPreferredSize(new Dimension(130, 200));
@@ -286,7 +279,7 @@ public class JalviewFileChooser
         public void run()
         {
           scroller.getHorizontalScrollBar().setValue(
-              scroller.getHorizontalScrollBar().getMaximum());
+                  scroller.getHorizontalScrollBar().getMaximum());
         }
       });