added Platform settings separating mouse use of win/mac difference
authorhansonr <hansonr@STO24954W.ad.stolaf.edu>
Mon, 21 Jan 2019 18:46:50 +0000 (12:46 -0600)
committerhansonr <hansonr@STO24954W.ad.stolaf.edu>
Mon, 21 Jan 2019 18:46:50 +0000 (12:46 -0600)
src/jalview/jbgui/GAlignFrame.java
src/jalview/jbgui/GDesktop.java
src/jalview/util/Platform.java

index 2b056fc..15d5713 100755 (executable)
@@ -236,7 +236,7 @@ public class GAlignFrame extends JInternalFrame
       System.err.println(e.toString());
     }
 
-    if (Platform.isWin()) // was "not mac and not JS"
+    if (Platform.allowMnemonics()) // was "not mac and not JS"
     {
       closeMenuItem.setMnemonic('C');
       outputTextboxMenu.setMnemonic('T');
index bbde757..b301f6e 100755 (executable)
@@ -143,11 +143,13 @@ public class GDesktop extends JFrame
       e.printStackTrace();
     }
 
-    if (Platform.isWin()) //!Platform.isAMacAndNotJS())
+    if (Platform.allowMnemonics()) 
     {
+       //BH was !Platform.isAMacAndNotJS()) i.e. "JS or not Mac"
+       // but here we want just not a Mac, period, right?
       FileMenu.setMnemonic('F');
       inputLocalFileMenuItem.setMnemonic('L');
-      VamsasMenu.setMnemonic('V');
+      VamsasMenu.setMnemonic('V'); 
       inputURLMenuItem.setMnemonic('U');
       inputTextboxMenuItem.setMnemonic('C');
       quit.setMnemonic('Q');
index f34849e..0d7724b 100644 (file)
@@ -21,7 +21,6 @@
 package jalview.util;
 
 import java.awt.Toolkit;
-import java.awt.event.InputEvent;
 import java.awt.event.MouseEvent;
 
 import javax.swing.SwingUtilities;
@@ -34,15 +33,18 @@ import javax.swing.SwingUtilities;
 public class Platform
 {
 
-  private static Boolean isNoJSMac = null, isNoJSWin = null, isMac = null, isWin = null;
+  private static boolean isJS = /** @j2sNative true || */false;
 
+  private static Boolean isNoJSMac = null, isNoJSWin = null, 
+                 isMac = null, isWin = null;
+  
   private static Boolean isHeadless = null;
 
   /**
    * added to group mouse events into Windows and nonWindows (mac, unix, linux)
    * @return
    */
-  public static boolean isMac() 
+  public static boolean isMac()
   {
          return (isMac == null ? (isMac = (System.getProperty("os.name").indexOf("Mac") >= 0)) : isMac);
   }
@@ -57,6 +59,15 @@ public class Platform
   }
 
   /**
+   * 
+   * @return true if HTML5 JavaScript
+   */
+  public static boolean isJS()
+  {
+       return isJS;
+  }
+
+  /**
    * sorry folks - Macs really are different
    * 
    * BH: disabled for SwingJS -- will need to check key-press issues
@@ -65,7 +76,7 @@ public class Platform
    */
   public static boolean isAMacAndNotJS()
   {
-       return (isNoJSMac == null ? (isNoJSMac = /** @j2sNative false && */isMac()) : isNoJSMac);
+       return (isNoJSMac == null ? (isNoJSMac = !isJS && isMac()) : isNoJSMac);
   }
 
 /**
@@ -75,7 +86,7 @@ public class Platform
    */
   public static boolean isWindowsAndNotJS()
   {
-       return (isNoJSWin == null ? (isNoJSWin = /** @j2sNative false && */isWin()) : isNoJSWin);
+       return (isNoJSWin == null ? (isNoJSWin = !isJS && isWin()) : isNoJSWin);
    }
 
   /**
@@ -182,4 +193,9 @@ public class Platform
        // was !isAMac(), but that is true also for Linux and Unix and JS
          return isWin() && SwingUtilities.isMiddleMouseButton(e);
   }
+
+  public static boolean allowMnemonics() 
+  {
+       return !isMac();
+  }
 }