JAL-3446 -- YEIKS! two checkURLLinks calls!
[jalview.git] / src / jalview / gui / Desktop.java
index a1d9a09..bbd38ec 100644 (file)
@@ -121,7 +121,6 @@ import jalview.util.BrowserLauncher;
 import jalview.util.ImageMaker.TYPE;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
-import jalview.util.ShortcutKeyMaskExWrapper;
 import jalview.util.UrlConstants;
 import jalview.viewmodel.AlignmentViewport;
 import jalview.ws.params.ParamManager;
@@ -487,8 +486,6 @@ public class Desktop extends GDesktop
           // disabled for SeqCanvasTest
           checkURLLinks();
 
-          checkURLLinks();
-
           // Spawn a thread that shows the splashscreen
 
           SwingUtilities.invokeLater(new Runnable()
@@ -530,41 +527,40 @@ public class Desktop extends GDesktop
                     }
                   });
         }
+      }
+      this.setDropTarget(new java.awt.dnd.DropTarget(desktopPane, this));
 
-        this.setDropTarget(new java.awt.dnd.DropTarget(desktopPane, this));
-
-        this.addWindowListener(new WindowAdapter()
+      this.addWindowListener(new WindowAdapter()
+      {
+        @Override
+        public void windowClosing(WindowEvent evt)
         {
-          @Override
-          public void windowClosing(WindowEvent evt)
-          {
-            quit();
-          }
-        });
+          quit();
+        }
+      });
 
-        MouseAdapter ma;
-        this.addMouseListener(ma = new MouseAdapter()
+      MouseAdapter ma;
+      this.addMouseListener(ma = new MouseAdapter()
+      {
+        @Override
+        public void mousePressed(MouseEvent evt)
         {
-          @Override
-          public void mousePressed(MouseEvent evt)
+          if (evt.isPopupTrigger()) // Mac
           {
-            if (evt.isPopupTrigger()) // Mac
-            {
-              showPasteMenu(evt.getX(), evt.getY());
-            }
+            showPasteMenu(evt.getX(), evt.getY());
           }
+        }
 
-          @Override
-          public void mouseReleased(MouseEvent evt)
+        @Override
+        public void mouseReleased(MouseEvent evt)
+        {
+          if (evt.isPopupTrigger()) // Windows
           {
-            if (evt.isPopupTrigger()) // Windows
-            {
-              showPasteMenu(evt.getX(), evt.getY());
-            }
+            showPasteMenu(evt.getX(), evt.getY());
           }
-        });
-        desktopPane.addMouseListener(ma);
-      }
+        }
+      });
+      desktopPane.addMouseListener(ma);
     } catch (Throwable t)
     {
       t.printStackTrace();
@@ -842,7 +838,8 @@ public class Desktop extends GDesktop
           final JInternalFrame frame, String title, int w, int h)
   {
     // 58 classes
-    getInstance().addFrame(frame, title, Desktop.FRAME_MAKE_VISIBLE, w, h,
+    
+    addInternalFrame(frame, title, Desktop.FRAME_MAKE_VISIBLE, w, h, 
             FRAME_ALLOW_RESIZE, FRAME_SET_MIN_SIZE_300);
   }
 
@@ -870,8 +867,20 @@ public class Desktop extends GDesktop
           final JInternalFrame frame, String title, boolean makeVisible,
           int w, int h, boolean resizable, boolean ignoreMinSize)
   {
-    // 15 classes
-    getInstance().addFrame(frame, title, makeVisible, w, h, resizable,
+    // 15 classes call this method directly.
+    
+    // TODO: allow callers to determine X and Y position of frame (eg. via
+    // bounds object).
+    // TODO: consider fixing method to update entries in the window submenu with
+    // the current window title
+
+    frame.setTitle(title);
+    if (frame.getWidth() < 1 || frame.getHeight() < 1)
+    {
+      frame.setSize(w, h);
+    }
+    if (getInstance() != null)
+      getInstance().addFrame(frame, makeVisible, resizable,
             ignoreMinSize);
   }
 
@@ -888,29 +897,11 @@ public class Desktop extends GDesktop
   public final static boolean FRAME_ALLOW_ANY_SIZE = true;
 
   public final static boolean FRAME_SET_MIN_SIZE_300 = false;
-
-  private void addFrame(JInternalFrame frame, String title,
-          boolean makeVisible, int w, int h, boolean resizable,
+  
+  private void addFrame(JInternalFrame frame,
+          boolean makeVisible, boolean resizable,
           boolean ignoreMinSize)
   {
-    // TODO: allow callers to determine X and Y position of frame (eg. via
-    // bounds object).
-    // TODO: consider fixing method to update entries in the window submenu with
-    // the current window title
-
-    frame.setTitle(title);
-    if (frame.getWidth() < 1 || frame.getHeight() < 1)
-    {
-      frame.setSize(w, h);
-    }
-    // THIS IS A PUBLIC STATIC METHOD, SO IT MAY BE CALLED EVEN IN
-    // A HEADLESS STATE WHEN NO DESKTOP EXISTS. MUST RETURN
-    // IF JALVIEW IS RUNNING HEADLESS
-    // ///////////////////////////////////////////////
-    if (Jalview.isHeadlessMode())
-    {
-      return;
-    }
 
     openFrameCount++;
     
@@ -952,7 +943,7 @@ public class Desktop extends GDesktop
      * add an entry for the new frame in the Window menu 
      * (and remove it when the frame is closed)
      */
-    final JMenuItem menuItem = new JMenuItem(title);
+    final JMenuItem menuItem = new JMenuItem(frame.getTitle());
     frame.addInternalFrameListener(new InternalFrameAdapter()
     {
       @Override
@@ -1054,7 +1045,7 @@ public class Desktop extends GDesktop
     KeyStroke ctrlWKey = KeyStroke.getKeyStroke(KeyEvent.VK_W,
             InputEvent.CTRL_DOWN_MASK);
     KeyStroke cmdWKey = KeyStroke.getKeyStroke(KeyEvent.VK_W,
-            ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx());
+            Platform.SHORTCUT_KEY_MASK);
 
     InputMap inputMap = frame
             .getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
@@ -2506,12 +2497,10 @@ public class Desktop extends GDesktop
    */
   protected void addQuitHandler()
   {
-    getRootPane()
-            .getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
-                    KeyStroke
-                            .getKeyStroke(KeyEvent.VK_Q,
-                                    jalview.util.ShortcutKeyMaskExWrapper
-                                            .getMenuShortcutKeyMaskEx()),
+
+    getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
+            .put(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
+                    Platform.SHORTCUT_KEY_MASK),
                     "Quit");
     getRootPane().getActionMap().put("Quit", new AbstractAction()
     {