Warning message if file was not saved, repaint ids on multiple views
authoramwaterhouse <Andrew Waterhouse>
Thu, 30 Nov 2006 14:41:11 +0000 (14:41 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 30 Nov 2006 14:41:11 +0000 (14:41 +0000)
src/jalview/gui/AlignFrame.java

index e574450..07c56c4 100755 (executable)
@@ -676,6 +676,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
   public boolean saveAlignment(String file, String format)
   {
+    boolean success = true;
+
     if (format.equalsIgnoreCase("Jalview"))
     {
       String shortName = title;
@@ -686,15 +688,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
             java.io.File.separatorChar) + 1);
       }
 
-      new Jalview2XML().SaveAlignment(this, file, shortName);
+      success = new Jalview2XML().SaveAlignment(this, file, shortName);
 
       statusBar.setText("Successfully saved to file: "
                           +fileName+" in "
                           +format +" format.");
 
-
-      // USE Jalview2XML to save this file
-      return true;
     }
     else
     {
@@ -720,28 +719,37 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
       if (output == null)
       {
-        return false;
+        success = false;
       }
-
-      try
-      {
-        java.io.PrintWriter out = new java.io.PrintWriter(
-            new java.io.FileWriter(file));
-
-        out.print(output);
-        out.close();
-        this.setTitle(file);
-        statusBar.setText("Successfully saved to file: "
-                          +fileName+" in "
-                          +format +" format.");
-        return true;
-      }
-      catch (Exception ex)
+      else
       {
-        ex.printStackTrace();
+        try
+        {
+          java.io.PrintWriter out = new java.io.PrintWriter(
+              new java.io.FileWriter(file));
+
+          out.print(output);
+          out.close();
+          this.setTitle(file);
+          statusBar.setText("Successfully saved to file: "
+                            + fileName + " in "
+                            + format + " format.");
+        }
+        catch (Exception ex)
+        {
+          success = false;
+          ex.printStackTrace();
+        }
       }
     }
-    return false;
+
+    if (!success)
+      JOptionPane.showInternalMessageDialog(
+          this, "Couldn't save file: " + fileName,
+          "Error Saving File",
+          JOptionPane.WARNING_MESSAGE);
+
+    return success;
   }
 
   /**
@@ -1550,6 +1558,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
       sg.addOrRemove(viewport.getAlignment().getSequenceAt(i), false);
     }
 
+    alignPanel.repaint();
+
     PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());
   }