From efac7709156077bac6b8341b2ece4a4e7fa3c7ff Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Fri, 13 Feb 2015 21:22:26 +0100 Subject: [PATCH] allow adding *.cryptomator files to vault list --- .../org/cryptomator/ui/MainController.java | 27 +++++++++++++------ .../src/main/resources/fxml/initialize.fxml | 5 +--- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/MainController.java b/main/ui/src/main/java/org/cryptomator/ui/MainController.java index 055fedc8f..38bd7dc85 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/MainController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/MainController.java @@ -134,16 +134,27 @@ public class MainController implements Initializable, InitializationListener, Un /** * adds the given directory or selects it if it is already in the list of directories. * - * @param dir non-null, writable, existing directory + * @param path non-null, writable, existing directory */ - void addVault(final Path dir, boolean select) { - if (dir != null && Files.isWritable(dir)) { - final Vault vault = new Vault(dir); - if (!directoryList.getItems().contains(vault)) { - directoryList.getItems().add(vault); - } - directoryList.getSelectionModel().select(vault); + void addVault(final Path path, boolean select) { + if (path == null || !Files.isWritable(path)) { + return; } + + final Path vaultPath; + if (path != null && Files.isDirectory(path)) { + vaultPath = path; + } else if (Files.isRegularFile(path) && path.getParent().getFileName().toString().endsWith(Vault.VAULT_FILE_EXTENSION)) { + vaultPath = path.getParent(); + } else { + return; + } + + final Vault vault = new Vault(vaultPath); + if (!directoryList.getItems().contains(vault)) { + directoryList.getItems().add(vault); + } + directoryList.getSelectionModel().select(vault); } private ListCell createDirecoryListCell(ListView param) { diff --git a/main/ui/src/main/resources/fxml/initialize.fxml b/main/ui/src/main/resources/fxml/initialize.fxml index 65edc25d1..fed9f1816 100644 --- a/main/ui/src/main/resources/fxml/initialize.fxml +++ b/main/ui/src/main/resources/fxml/initialize.fxml @@ -43,10 +43,7 @@