X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finstantlauncher%2FFileAssociationManager.java;h=9d2af1e59fc69f0ceb7c00f008514c157203191a;hb=ecf2f5763a72da006afc8321d80a5af02da473d9;hp=eefbd805d066b9c691a4791e547a88d11e8d5010;hpb=b72db77c2582c6eb3042dc2df08b995ef38a6a45;p=instantlauncher.git diff --git a/src/main/java/eu/svjatoslav/instantlauncher/FileAssociationManager.java b/src/main/java/eu/svjatoslav/instantlauncher/FileAssociationManager.java index eefbd80..9d2af1e 100755 --- a/src/main/java/eu/svjatoslav/instantlauncher/FileAssociationManager.java +++ b/src/main/java/eu/svjatoslav/instantlauncher/FileAssociationManager.java @@ -8,12 +8,52 @@ import eu.svjatoslav.commons.gui.dialog.ExceptionDialog; public class FileAssociationManager { - private static final String TEXT_EDITOR = "kwrite"; + private static final String TEXT_EDITOR = "scribes"; + + private static final String DOCUMENT_EDITOR = "lowriter"; + + private static final String SPREADSHEET_EDITOR = "localc"; private static final String FILE_INDICATOR = ""; + private static final String MUSIC_PLAYER = "clementine"; + public static HashMap extensionToApplication = new HashMap(); + public static boolean openFile(final File file) { + + final String fileExtension = Utils.getFileExtension(file); + + System.out.println("About to open file with extension: " + fileExtension); + + if (extensionToApplication.containsKey(fileExtension)) { + + System.out.println("Commands found"); + + final String[] commands = extensionToApplication.get(fileExtension); + + final String[] c = new String[commands.length]; + + for (int i = 0; i < commands.length; i++) + if (commands[i].equals(FILE_INDICATOR)) + c[i] = file.getAbsolutePath(); + else + c[i] = commands[i]; + + try { + Runtime.getRuntime().exec(c); + InstantLauncher.exitProgram(); + + } catch (final IOException e) { + new ExceptionDialog(e); + } + + return true; + } else + return false; + + } + public FileAssociationManager() { extensionToApplication.put("txt", new String[] { TEXT_EDITOR, FILE_INDICATOR }); @@ -38,45 +78,21 @@ public class FileAssociationManager { extensionToApplication.put("flv", new String[] { "vlc", FILE_INDICATOR }); extensionToApplication.put("wmv", new String[] { "vlc", FILE_INDICATOR }); - extensionToApplication.put("ods", new String[] { "localc", FILE_INDICATOR }); - - } - - public static boolean openFile(final File file) { + extensionToApplication.put("flac", new String[] { MUSIC_PLAYER, FILE_INDICATOR }); + extensionToApplication.put("mp3", new String[] { MUSIC_PLAYER, FILE_INDICATOR }); + extensionToApplication.put("ogg", new String[] { MUSIC_PLAYER, FILE_INDICATOR }); + extensionToApplication.put("wav", new String[] { MUSIC_PLAYER, FILE_INDICATOR }); - final String fileExtension = Utils.getFileExtension(file); + extensionToApplication.put("ods", new String[] { SPREADSHEET_EDITOR, FILE_INDICATOR }); + extensionToApplication.put("xls", new String[] { SPREADSHEET_EDITOR, FILE_INDICATOR }); + extensionToApplication.put("xlsx", new String[] { SPREADSHEET_EDITOR, FILE_INDICATOR }); - System.out.println("About to open file with extension: " + fileExtension); + extensionToApplication.put("docx", new String[] { DOCUMENT_EDITOR, FILE_INDICATOR }); + extensionToApplication.put("doc", new String[] { DOCUMENT_EDITOR, FILE_INDICATOR }); - if (extensionToApplication.containsKey(fileExtension)) { - - System.out.println("Commands found"); - - final String[] commands = extensionToApplication.get(fileExtension); - - final String[] c = new String[commands.length]; + extensionToApplication.put("desktop", new String[] { "run-desktop", FILE_INDICATOR }); - for (int i = 0; i < commands.length; i++) { - - if (commands[i].equals(FILE_INDICATOR)) { - c[i] = file.getAbsolutePath(); - } else { - c[i] = commands[i]; - } - } - - try { - Runtime.getRuntime().exec(c); - InstantLauncher.exitProgram(); - - } catch (final IOException e) { - ExceptionDialog.showException(e); - } - - return true; - } else { - return false; - } + extensionToApplication.put("log", new String[] { "glogg", FILE_INDICATOR }); }