From 79f2fad994c4c6e567a0ba34c6342b832732229c Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Tue, 14 Jun 2022 10:07:26 -0600 Subject: [PATCH] Add file association handler for MacOS --- swing/src/net/sf/openrocket/startup/OSXSetup.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/swing/src/net/sf/openrocket/startup/OSXSetup.java b/swing/src/net/sf/openrocket/startup/OSXSetup.java index 614d50c8a..24a158e16 100644 --- a/swing/src/net/sf/openrocket/startup/OSXSetup.java +++ b/swing/src/net/sf/openrocket/startup/OSXSetup.java @@ -2,6 +2,8 @@ package net.sf.openrocket.startup; import java.awt.*; import java.awt.desktop.AboutHandler; +import java.awt.desktop.OpenFilesEvent; +import java.awt.desktop.OpenFilesHandler; import java.awt.desktop.PreferencesHandler; import java.awt.desktop.QuitHandler; @@ -13,6 +15,7 @@ import net.sf.openrocket.arch.SystemInfo.Platform; import net.sf.openrocket.gui.dialogs.AboutDialog; import net.sf.openrocket.gui.dialogs.preferences.PreferencesDialog; import net.sf.openrocket.gui.main.BasicFrame; +import net.sf.openrocket.gui.main.MRUDesignFile; import javax.swing.*; @@ -31,6 +34,15 @@ final class OSXSetup { // The image resource to use for the Dock Icon private static final String ICON_RSRC = "/pix/icon/icon-256.png"; + + /** + * The handler for file associations + */ + public static final OpenFilesHandler OPEN_FILE_HANDLER = (e) -> { + System.out.println("Received open files event "+e.toString()); + MRUDesignFile opts = MRUDesignFile.getInstance(); + opts.addFile(e.getFiles().get(0).getAbsolutePath()); + }; /** * The handler for the Quit item in the OSX app menu @@ -81,6 +93,7 @@ final class OSXSetup { // Set handlers osxDesktop.setAboutHandler(ABOUT_HANDLER); + osxDesktop.setOpenFileHandler(OPEN_FILE_HANDLER); osxDesktop.setPreferencesHandler(PREFERENCES_HANDLER); osxDesktop.setQuitHandler(QUIT_HANDLER);