X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finstantlauncher%2FInstantLauncher.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finstantlauncher%2FInstantLauncher.java;h=bb8681e33e22f67a1d8dbc58d71f8f9eb5157d8b;hb=6f3b6383805ab24b835adaa7845e9306880ff7a3;hp=b21b2b3cb6616f64198641d8290a4ab6f566a4d4;hpb=ea9f229a2b0d0be0e765bdd508948b28cd2d490e;p=instantlauncher.git diff --git a/src/main/java/eu/svjatoslav/instantlauncher/InstantLauncher.java b/src/main/java/eu/svjatoslav/instantlauncher/InstantLauncher.java index b21b2b3..bb8681e 100755 --- a/src/main/java/eu/svjatoslav/instantlauncher/InstantLauncher.java +++ b/src/main/java/eu/svjatoslav/instantlauncher/InstantLauncher.java @@ -1,8 +1,8 @@ package eu.svjatoslav.instantlauncher; +import eu.svjatoslav.commons.gui.dialog.ExceptionDialog; import eu.svjatoslav.instantlauncher.configuration.ConfigurationManager; import eu.svjatoslav.instantlauncher.configuration.FileAssociation; -import org.apache.log4j.Logger; import java.io.File; import java.io.IOException; @@ -11,15 +11,18 @@ import static eu.svjatoslav.instantlauncher.Utils.runOpeningApplication; public class InstantLauncher { - private static final Logger LOGGER = Logger.getLogger(InstantLauncher.class); + private final MainFrame mainFrame; public ConfigurationManager configurationManager; - final MainFrame mainFrame; public InstantLauncher() throws IOException { configurationManager = new ConfigurationManager(); mainFrame = new MainFrame(this); } + public static void exitProgram() { + System.exit(0); + } + /** * @return true if file was opened. false if * unknown file type. @@ -28,19 +31,25 @@ public class InstantLauncher { FileAssociation fileAssociation = configurationManager.getConfiguration().findFileAssociation(file); if (fileAssociation == null) return false; - final String[] commands = fileAssociation.getCommands(); - runOpeningApplication(file, commands); - - return false; + runOpeningApplication(fileAssociation.command, file); + return true; } - public static void exitProgram() { - LOGGER.info("Closing InstantLauncher"); - System.exit(0); + public void run() { + mainFrame.show(); } - public void run() throws IOException { - mainFrame.show(); + public void openDirectory(File chosenFile) { + executeCommand(configurationManager.getConfiguration().directoryOpenCommand, chosenFile.getAbsolutePath()); } + public void executeCommand(String... c) { + try { + Runtime.getRuntime().exec(c); + exitProgram(); + + } catch (final IOException e) { + new ExceptionDialog(e); + } + } }