X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGDesktop.java;fp=src%2Fjalview%2Fjbgui%2FGDesktop.java;h=2a86d6934e9bb814bdb737a65e63e0effb35f97b;hb=d043ce47fc710d3eb2629ba926a8a7417bd67d8c;hp=0c179e82a291aa424606957d6b1d3d38dc637938;hpb=49db0dff1da16c3355b43a41498c1fc93ef47e91;p=jalview.git diff --git a/src/jalview/jbgui/GDesktop.java b/src/jalview/jbgui/GDesktop.java index 0c179e8..2a86d69 100755 --- a/src/jalview/jbgui/GDesktop.java +++ b/src/jalview/jbgui/GDesktop.java @@ -20,10 +20,6 @@ */ package jalview.jbgui; -import jalview.api.AlignmentViewPanel; -import jalview.io.FileFormatException; -import jalview.util.MessageManager; -import jalview.util.Platform; import java.awt.FlowLayout; import java.awt.event.ActionEvent; @@ -35,6 +31,11 @@ import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; +import jalview.api.AlignmentViewPanel; +import jalview.bin.Cache; +import jalview.io.FileFormatException; +import jalview.util.MessageManager; +import jalview.util.Platform; /** * DOCUMENT ME! * @@ -139,6 +140,26 @@ public class GDesktop extends JFrame */ private void jbInit() throws Exception { + boolean apqHandlersSet = false; + /** + * APQHandlers sets handlers for About, Preferences and Quit actions + * peculiar to macOS's application menu. APQHandlers will check to see if a + * handler is supported before setting it. + */ + try + { + // TODO: if (!Platform.isJS() + apqHandlersSet = APQHandlers.setAPQHandlers(this); + } catch (Exception e) + { + System.out.println("Cannot set APQHandlers"); + // e.printStackTrace(); + } catch (Throwable t) + { + jalview.bin.Console + .warn("Error setting APQHandlers: " + t.toString()); + jalview.bin.Console.trace(Cache.getStackTraceString(t)); + } setName(Platform.getAppID("desktop")); FileMenu.setText(MessageManager.getString("action.file")); @@ -382,10 +403,16 @@ public class GDesktop extends JFrame FileMenu.add(saveAsState); FileMenu.add(loadState); FileMenu.addSeparator(); - FileMenu.add(quit); - HelpMenu.add(aboutMenuItem); + if (!APQHandlers.setQuit) + { + FileMenu.add(quit); + } + if (!APQHandlers.setAbout) + { + HelpMenu.add(aboutMenuItem); + } HelpMenu.add(documentationMenuItem); - if (!Platform.isAMacAndNotJS() || specversion < 11) + if (!APQHandlers.setPreferences) { toolsMenu.add(preferences); }