X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=8a96ec4be9ca473377a23db0b61b48174979a96a;hb=bbc3577d8579b3abef464ddbcce36075202831ec;hp=dbb6955bb565c6ed93e5941bcee3339be37ca0b6;hpb=329abf57c756ac530604dce9136045b0bd5ffaca;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java old mode 100755 new mode 100644 index dbb6955..8a96ec4 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -48,10 +48,10 @@ import javax.swing.event.MenuListener; * * * @author $author$ - * @version $Revision$ + * @version $Revision: 1.155 $ */ public class Desktop extends jalview.jbgui.GDesktop implements - DropTargetListener, ClipboardOwner, IProgressIndicator + DropTargetListener, ClipboardOwner, IProgressIndicator, jalview.api.StructureSelectionManagerProvider { private JalviewChangeSupport changeSupport = new JalviewChangeSupport(); @@ -232,9 +232,13 @@ public class Desktop extends jalview.jbgui.GDesktop implements showMemusage.setSelected(selmemusage); desktop.setBackground(Color.white); getContentPane().setLayout(new BorderLayout()); + // alternate config - have scrollbars - see notes in JAL-153 + //JScrollPane sp = new JScrollPane(); + //sp.getViewport().setView(desktop); + //getContentPane().add(sp, BorderLayout.CENTER); getContentPane().add(desktop, BorderLayout.CENTER); - desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE); - + desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE); + // This line prevents Windows Look&Feel resizing all new windows to maximum // if previous window was maximised desktop.setDesktopManager(new MyDesktopManager( @@ -631,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) @@ -938,7 +946,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { message.append("\n\n!! Jalview version " + jalview.bin.Cache.getProperty("LATEST_VERSION") - + " is available for download from http://www.jalview.org !!\n"); + + " is available for download from "+jalview.bin.Cache.getDefault("www.jalview.org","http://www.jalview.org")+" !!\n"); } // TODO: update this text for each release or centrally store it for lite @@ -1174,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); @@ -1191,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(); } }