package info.opencards.util.macos; import com.apple.eawt.*; import info.opencards.OpenCards; import info.opencards.ui.actions.AboutAction; import info.opencards.ui.actions.SettingsAction; /** * https://developer.apple.com/library/mac/releasenotes/java/javasnowleopardupdate3leopardupdate8rn/NewandNoteworthy/NewandNoteworthy.html */ public class MacAppHandler implements AboutHandler, PreferencesHandler, QuitHandler, AppReOpenedListener { private final OpenCards oc; public MacAppHandler(OpenCards oc) { this.oc = oc; } @Override public void handleAbout(AppEvent.AboutEvent aboutEvent) { new AboutAction(oc).actionPerformed(null); } @Override public void handlePreferences(AppEvent.PreferencesEvent preferencesEvent) { new SettingsAction(oc).actionPerformed(null); } @Override public void handleQuitRequestWith(AppEvent.QuitEvent quitEvent, QuitResponse quitResponse) { OpenCards.saveCatTreeBeforeQuit(oc); System.exit(0); } @Override public void appReOpened(AppEvent.AppReOpenedEvent appReOpenedEvent) { oc.setVisible(true); } }