use scribes for text editing
[instantlauncher.git] / src / main / java / eu / svjatoslav / instantlauncher / FileAssociationManager.java
index f6741b5..88545f2 100755 (executable)
@@ -8,10 +8,16 @@ import eu.svjatoslav.commons.gui.dialog.ExceptionDialog;
 
 public class FileAssociationManager {
 
-    private static final String TEXT_EDITOR = "gd";
+    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 = "<FILE>";
 
+    private static final String MUSIC_PLAYER = "clementine";
+
     public static HashMap<String, String[]> extensionToApplication = new HashMap<String, String[]>();
 
     public static boolean openFile(final File file) {
@@ -26,16 +32,12 @@ public class FileAssociationManager {
 
             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];
+                    commands[i] = file.getAbsolutePath();
 
             try {
-                Runtime.getRuntime().exec(c);
+                Runtime.getRuntime().exec(commands);
                 InstantLauncher.exitProgram();
 
             } catch (final IOException e) {
@@ -72,8 +74,22 @@ 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 });
-        extensionToApplication.put("docx", new String[] { "lowriter", FILE_INDICATOR });
+        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 });
+
+        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 });
+
+        extensionToApplication.put("docx", new String[] { DOCUMENT_EDITOR, FILE_INDICATOR });
+        extensionToApplication.put("doc", new String[] { DOCUMENT_EDITOR, FILE_INDICATOR });
+
+        extensionToApplication.put("desktop", new String[] { "run-desktop", FILE_INDICATOR });
+
+        extensionToApplication.put("log", new String[] { "glogg", FILE_INDICATOR });
+        extensionToApplication.put("out", new String[] { "glogg", FILE_INDICATOR });
 
     }