package org.korsakow.ide.ui.controller.action.helper; import java.io.File; import org.korsakow.eawt.ApplicationEvent; import org.korsakow.eawt.IApplicationListener; import org.korsakow.ide.Application; import org.korsakow.ide.lang.LanguageBundle; import org.korsakow.ide.ui.controller.ProjectLoader; import org.korsakow.ide.ui.controller.action.OpenProjectFileAction; public class PlatformActionHandler implements IApplicationListener { public void handleAbout(ApplicationEvent event) { Application app = Application.getInstance(); app.showAboutDialog(); event.cancel(); // prevent os default about box } public void handleQuit(ApplicationEvent event) { Application app = Application.getInstance(); app.shutdown(); event.cancel(); // prevent os from shutting us down (we'll handle that, thank you) } public void handleOpenFile(ApplicationEvent event) { String filename = (String)event.getProperty("filename"); try { OpenProjectFileAction.performAction(new File(filename)); } catch (Throwable e) { Application.getInstance().showUnhandledErrorDialog(LanguageBundle.getString("general.errors.cantopen.title"), e); ProjectLoader.newProject(); } } }