import jalview.api.AlignmentViewPanel;
import jalview.bin.Cache;
+import jalview.gui.Desktop;
import jalview.io.FileFormatException;
+import jalview.jbgui.QuitHandler.QResponse;
import jalview.util.MessageManager;
import jalview.util.Platform;
*/
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
*/
try
{
- APQHandlers.setAPQHandlers(this);
+ apqHandlersSet = APQHandlers.setAPQHandlers(this);
} catch (Exception e)
{
System.out.println("Cannot set APQHandlers");
@Override
public void actionPerformed(ActionEvent e)
{
- quit();
+ QResponse qresponse = Desktop.instance != null
+ ? Desktop.instance.desktopQuit()
+ : QResponse.QUIT;
+ if (qresponse == QResponse.CANCEL_QUIT)
+ {
+ jalview.bin.Console
+ .debug("GDesktop: Quit action cancelled by user");
+ }
}
});
aboutMenuItem.setText(MessageManager.getString("label.about"));
}
});
- Float specversion = Platform.isJS() ? Float.valueOf(8)
- : Float.parseFloat(
- System.getProperty("java.specification.version"));
-
desktopMenubar.add(FileMenu);
desktopMenubar.add(toolsMenu);
desktopMenubar.add(HelpMenu);
FileMenu.add(saveAsState);
FileMenu.add(loadState);
FileMenu.addSeparator();
- FileMenu.add(quit);
+ if (!APQHandlers.setQuit)
+ {
+ FileMenu.add(quit);
+ }
if (!APQHandlers.setAbout)
{
HelpMenu.add(aboutMenuItem);