Merge branch 'docs/2_8_1_Release' into Release_2_8_2_Branch
[jalview.git] / src / jalview / gui / Desktop.java
index 6715537..daee60f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
  * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -807,6 +807,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
    */
   public void drop(DropTargetDropEvent evt)
   {
+    boolean success=true;
     Transferable t = evt.getTransferable();
     java.util.List files = null;
     java.util.List protocols = null;
@@ -855,6 +856,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
       }
     } catch (Exception e)
     {
+      success=false;
     }
 
     if (files != null)
@@ -883,8 +885,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements
         }
       } catch (Exception ex)
       {
+        success=false;
       }
     }
+    evt.dropComplete(success); // need this to ensure input focus is properly transfered to any new windows created 
   }
 
   /**
@@ -914,7 +918,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
               .getSelectedFile().getParent());
 
       String format = null;
-      if (chooser.getSelectedFormat().equals("Jalview"))
+      if (chooser.getSelectedFormat()!=null && chooser.getSelectedFormat().equals("Jalview"))
       {
         format = "Jalview";
       }
@@ -1368,7 +1372,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   {
     JalviewFileChooser chooser = new JalviewFileChooser(
             jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
-            { "jar" }, new String[]
+            { "jvp" }, new String[]
             { "Jalview Project" }, "Jalview Project");
 
     chooser.setFileView(new JalviewFileView());
@@ -1425,8 +1429,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   {
     JalviewFileChooser chooser = new JalviewFileChooser(
             jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
-            { "jar" }, new String[]
-            { "Jalview Project" }, "Jalview Project");
+            { "jvp","jar" }, new String[]
+            { "Jalview Project", "Jalview Project (old)" }, "Jalview Project");
     chooser.setFileView(new JalviewFileView());
     chooser.setDialogTitle("Restore state");
 
@@ -1511,6 +1515,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   {
     if (progressPanel != null)
     {
+      synchronized(progressPanel) {
       progressPanel.remove(progbar);
       GridLayout gl = (GridLayout) progressPanel.getLayout();
       gl.setRows(gl.getRows() - 1);
@@ -1519,6 +1524,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
         this.getContentPane().remove(progressPanel);
         progressPanel = null;
       }
+      }
     }
     validate();
   }
@@ -1528,9 +1534,9 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     fileLoadingCount--;
     if (fileLoadingCount < 1)
     {
-      for (JPanel flp : fileLoadingPanels)
+      while (fileLoadingPanels.size()>0)
       {
-        removeProgressPanel(flp);
+        removeProgressPanel(fileLoadingPanels.remove(0));
       }
       fileLoadingPanels.clear();
       fileLoadingCount = 0;