X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finstantlauncher%2Fmenu%2FMultiLevelMenu.java;h=de2e4c58be80e7dda99aa3e1eee464182259523b;hb=617c93e31fc6f020323b503fe0028a8e10c746b6;hp=10d6f3ff26f406612cc57f9f42ed20142a375cf0;hpb=8e31839bb326186944811ac3e54a3037ffa75106;p=instantlauncher.git diff --git a/src/main/java/eu/svjatoslav/instantlauncher/menu/MultiLevelMenu.java b/src/main/java/eu/svjatoslav/instantlauncher/menu/MultiLevelMenu.java index 10d6f3f..de2e4c5 100755 --- a/src/main/java/eu/svjatoslav/instantlauncher/menu/MultiLevelMenu.java +++ b/src/main/java/eu/svjatoslav/instantlauncher/menu/MultiLevelMenu.java @@ -1,7 +1,5 @@ package eu.svjatoslav.instantlauncher.menu; -import eu.svjatoslav.commons.gui.dialog.ExceptionDialog; -import eu.svjatoslav.instantlauncher.FileAssociationManager; import eu.svjatoslav.instantlauncher.InstantLauncher; import eu.svjatoslav.instantlauncher.Utils; @@ -11,6 +9,8 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; +import static eu.svjatoslav.instantlauncher.Utils.executeCommand; + public class MultiLevelMenu implements MenuListener { private static final int VERTICAL_MENUS_COUNT = 7; @@ -69,7 +69,7 @@ public class MultiLevelMenu implements MenuListener { contentPane.add(panel); } - final File directory = instantLauncher.configuration.getRootDirectory(); + final File directory = instantLauncher.configurationManager.getConfiguration().getNavigationRootDirectory(); addMenu(directory); return contentPane; @@ -104,17 +104,17 @@ public class MultiLevelMenu implements MenuListener { } @Override - public void menuItemSelected(final Menu menu, final File chosenFile) { + public void menuItemSelected(final File chosenFile) { if (chosenFile.isFile()) { if (chosenFile.canExecute()) { executeCommand(chosenFile.getAbsolutePath()); } else { boolean fileOpened; try { - fileOpened = FileAssociationManager.openFile(chosenFile.getCanonicalFile()); - if (fileOpened) { + fileOpened = instantLauncher.openFile(chosenFile.getCanonicalFile()); + if (fileOpened) InstantLauncher.exitProgram(); - } + } catch (IOException e) { e.printStackTrace(); } @@ -123,34 +123,21 @@ public class MultiLevelMenu implements MenuListener { if (chosenFile.isDirectory()) { try { - executeCommand("nautilus", "-w", chosenFile.getCanonicalFile().getAbsolutePath()); + instantLauncher.openDirectory(chosenFile.getCanonicalFile()); + InstantLauncher.exitProgram(); } catch (IOException e) { e.printStackTrace(); } } } - private void executeCommand(String... c) { - try { - Runtime.getRuntime().exec(c); - InstantLauncher.exitProgram(); - - } catch (final IOException e) { - new ExceptionDialog(e); - } - } - @Override - public void menuItemSelectedAlternative(final Menu menu, final File chosenFile) { - if (chosenFile.isFile()) { + public void menuItemSelectedAlternative(final File chosenFile) { + if (chosenFile.isFile()) chosenFile.setExecutable(!chosenFile.canExecute()); - } else { - try { - executeCommand("gnome-terminal", "--working-directory=" - + chosenFile.getCanonicalFile().getAbsolutePath()); - } catch (IOException e) { - e.printStackTrace(); - } + else { + instantLauncher.openDirectoryInTerminal(chosenFile); + InstantLauncher.exitProgram(); } } @@ -167,14 +154,9 @@ public class MultiLevelMenu implements MenuListener { } @Override - public void menuItemSelectedAlternative2(Menu menu, File chosenFile) { - if (chosenFile.isFile()) { - try { - executeCommand("emacs", chosenFile.getCanonicalFile().getAbsolutePath()); - } catch (IOException e) { - e.printStackTrace(); - } - } + public void menuItemSelectedAlternative2(File chosenFile) { + // TODO: define some middle mouse click functions } + }