X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFileLoader.java;h=dc18cb799be5307f5194b3beb8005a20aa3109f1;hb=60b22c7b9ccf824a85fa2761e34dfdfba415a8a1;hp=3aaba9e519f303d6dab8491cfa464805d2d06fa7;hpb=e8334005d46d1d4cc064250758068e5a390cff25;p=jalview.git diff --git a/src/jalview/io/FileLoader.java b/src/jalview/io/FileLoader.java index 3aaba9e..dc18cb7 100755 --- a/src/jalview/io/FileLoader.java +++ b/src/jalview/io/FileLoader.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer -* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle +* Copyright (C) 2006 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 @@ -122,8 +122,12 @@ public class FileLoader AlignFrame af; + public void run() { + if (Desktop.instance != null) + Desktop.instance.startLoading(file); + SequenceI[] sequences = null; if (format.equalsIgnoreCase("Jalview")) @@ -132,9 +136,9 @@ public class FileLoader } else { - String errorMessage = AppletFormatAdapter.SUPPORTED_FORMATS; + String error = AppletFormatAdapter.SUPPORTED_FORMATS; - if (FormatAdapter.formats.contains(format)) + if (FormatAdapter.isValidFormat(format)) { try { @@ -142,7 +146,7 @@ public class FileLoader } catch (java.io.IOException ex) { - errorMessage = ex.getMessage(); + error = ex.getMessage(); } } @@ -172,16 +176,24 @@ public class FileLoader { } } - } else { - JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Couldn't load file " + file + - "\n" - + errorMessage, - "Error loading file", - JOptionPane.WARNING_MESSAGE); + if (Desktop.instance != null) + Desktop.instance.stopLoading(); + + final String errorMessage = "Couldn't load file "+file+"\n"+error; + + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + JOptionPane.showInternalMessageDialog(Desktop.desktop, + errorMessage, + "Error loading file", + JOptionPane.WARNING_MESSAGE); + } + }); } } @@ -189,6 +201,10 @@ public class FileLoader { updateRecentlyOpened(); } + + if (Desktop.instance != null) + Desktop.instance.stopLoading(); + } }