diff --git a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index aca7541e5..dcfa2fb46 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -5,8 +5,8 @@ import javafx.beans.binding.BooleanBinding; import javafx.beans.property.ObjectProperty; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; +import javafx.fxml.FXML; import javafx.scene.control.ListView; -import javafx.scene.layout.AnchorPane; import org.cryptomator.common.vaults.Vault; import org.cryptomator.ui.addvaultwizard.AddVaultWizardComponent; import org.cryptomator.ui.common.FxController; @@ -23,12 +23,12 @@ public class VaultListController implements FxController { private final ObservableList vaults; private final ObjectProperty selectedVault; - private final BooleanBinding noVaultSelected; private final VaultListCellFactory cellFactory; private final AddVaultWizardComponent.Builder addVaultWizard; private final RemoveVaultComponent.Builder removeVault; + private final BooleanBinding noVaultSelected; + private final BooleanBinding emptyVaultList; public ListView vaultList; - public AnchorPane onboardingOverlay; @Inject VaultListController(ObservableList vaults, ObjectProperty selectedVault, VaultListCellFactory cellFactory, AddVaultWizardComponent.Builder addVaultWizard, RemoveVaultComponent.Builder removeVault) { @@ -38,10 +38,10 @@ public class VaultListController implements FxController { this.addVaultWizard = addVaultWizard; this.removeVault = removeVault; this.noVaultSelected = selectedVault.isNull(); + this.emptyVaultList = Bindings.isEmpty(vaults); } public void initialize() { - onboardingOverlay.visibleProperty().bind(Bindings.isEmpty(vaults)); vaultList.setItems(vaults); vaultList.setCellFactory(cellFactory); selectedVault.bind(vaultList.getSelectionModel().selectedItemProperty()); @@ -54,10 +54,12 @@ public class VaultListController implements FxController { }); } + @FXML public void didClickAddVault() { addVaultWizard.build().showAddVaultWizard(); } + @FXML public void didClickRemoveVault() { Vault v = selectedVault.get(); if (v != null) { @@ -69,6 +71,14 @@ public class VaultListController implements FxController { // Getter and Setter + public BooleanBinding emptyVaultListProperty() { + return emptyVaultList; + } + + public boolean isEmptyVaultList() { + return emptyVaultList.get(); + } + public BooleanBinding noVaultSelectedProperty() { return noVaultSelected; } diff --git a/main/ui/src/main/resources/fxml/vault_list.fxml b/main/ui/src/main/resources/fxml/vault_list.fxml index 13aff2c07..49935eb7e 100644 --- a/main/ui/src/main/resources/fxml/vault_list.fxml +++ b/main/ui/src/main/resources/fxml/vault_list.fxml @@ -20,13 +20,12 @@ - - + diff --git a/main/ui/src/main/resources/i18n/strings.properties b/main/ui/src/main/resources/i18n/strings.properties index bb746a270..b6d698385 100644 --- a/main/ui/src/main/resources/i18n/strings.properties +++ b/main/ui/src/main/resources/i18n/strings.properties @@ -116,7 +116,6 @@ main.closeBtn.tooltip=Close main.preferencesBtn.tooltip=Preferences ## Vault List main.vaultlist.emptyList.onboardingInstruction=Click here to add a vault -main.vaultlist.contextMenu.add=Add Vault main.vaultlist.contextMenu.remove=Remove Vault main.vaultlist.addVaultBtn=Add Vault ## Vault Detail