X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=979769422446e97da35d9b41e26ffb91652cc959;hb=513e985e6781095eaafc3d9fa72c135325e8dd49;hp=03b200524c568e326265baa6646ebdc9c11dc0a5;hpb=318aabf60497499c45e6e5b993c831b68c06ad8b;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index 03b2005..9797694 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -635,6 +635,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements } catch (java.beans.PropertyVetoException ve) { } + catch (java.lang.ClassCastException cex) + { + Cache.log.warn("Squashed a possible GUI implementation error. If you can recreate this, please look at http://issues.jalview.org/browse/JAL-869",cex); + } } public void lostOwnership(Clipboard clipboard, Transferable contents) @@ -947,7 +951,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements } // TODO: update this text for each release or centrally store it for lite // and application - message.append("\nAuthors: Jim Procter, Andrew Waterhouse, Michele Clamp, James Cuff, Steve Searle,\n David Martin & Geoff Barton." + message.append("\nAuthors: Jim Procter, Jan Engelhardt, Lauren Lui, Andrew Waterhouse, Michele Clamp, James Cuff, Steve Searle,\n David Martin & Geoff Barton." + "\nDevelopment managed by The Barton Group, University of Dundee, Scotland, UK.\n" + "\nFor help, see the FAQ at www.jalview.org and/or join the jalview-discuss@jalview.org mailing list\n" + "\nIf you use Jalview, please cite:" @@ -1178,11 +1182,18 @@ public class Desktop extends jalview.jbgui.GDesktop implements if (value == JalviewFileChooser.APPROVE_OPTION) { - java.io.File choice = chooser.getSelectedFile(); + final Desktop me = this; + final java.io.File choice = chooser.getSelectedFile(); + new Thread(new Runnable() + { + public void run() + { + setProgressBar("Saving jalview project " + choice.getName(), choice.hashCode()); jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent()); // TODO catch and handle errors for savestate + // TODO prevent user from messing with the Desktop whilst we're saving try { new Jalview2XML().SaveState(choice); @@ -1195,12 +1206,13 @@ public class Desktop extends jalview.jbgui.GDesktop implements Cache.log .error("Problems whilst trying to save to " + choice.getName(), ex); - JOptionPane.showMessageDialog(this, + JOptionPane.showMessageDialog(me, "Error whilst saving current state to " + choice.getName(), "Couldn't save project", JOptionPane.WARNING_MESSAGE); } setProgressBar(null, choice.hashCode()); - + } + }).start(); } }