/* * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; import javax.swing.JOptionPane; import com.formdev.flatlaf.extras.FlatDesktop; import jalview.util.MessageManager; public class APQHandlers { private static boolean setAPQHandlers = false; protected static boolean setAPQHandlers( jalview.gui.Desktop jalviewDesktop) { FlatDesktop.setAboutHandler(() -> { jalviewDesktop.aboutMenuItem_actionPerformed(null); }); FlatDesktop.setPreferencesHandler(() -> { jalviewDesktop.preferences_actionPerformed(null); }); FlatDesktop.setQuitHandler(response -> { boolean confirmQuit = jalview.bin.Cache .getDefault(jalview.gui.Desktop.CONFIRM_KEYBOARD_QUIT, true); boolean canQuit = !confirmQuit; int n; if (confirmQuit) { n = JOptionPane.showConfirmDialog(null, MessageManager.getString("label.quit_jalview"), MessageManager.getString("action.quit"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null); } else { n = JOptionPane.OK_OPTION; } canQuit = (n == JOptionPane.OK_OPTION); if (canQuit) { response.performQuit(); } else { response.cancelQuit(); } }); setAPQHandlers = true; return setAPQHandlers; } }