Explorar o código

clean up vault list controller

Sebastian Stenzel %!s(int64=5) %!d(string=hai) anos
pai
achega
3fa1ed1928

+ 14 - 4
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<Vault> vaults;
 	private final ObjectProperty<Vault> 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<Vault> vaultList;
-	public AnchorPane onboardingOverlay;
 
 	@Inject
 	VaultListController(ObservableList<Vault> vaults, ObjectProperty<Vault> 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;
 	}

+ 1 - 2
main/ui/src/main/resources/fxml/vault_list.fxml

@@ -20,13 +20,12 @@
 			<contextMenu>
 				<ContextMenu>
 					<items>
-						<MenuItem text="%main.vaultlist.contextMenu.add" onAction="#didClickAddVault"/>
 						<MenuItem text="%main.vaultlist.contextMenu.remove" onAction="#didClickRemoveVault" disable="${controller.noVaultSelected}"/>
 					</items>
 				</ContextMenu>
 			</contextMenu>
 		</ListView>
-		<AnchorPane fx:id="onboardingOverlay">
+		<AnchorPane visible="${controller.emptyVaultList}">
 			<HBox AnchorPane.leftAnchor="10" AnchorPane.rightAnchor="10" AnchorPane.bottomAnchor="100" alignment="BOTTOM_LEFT">
 				<Label textAlignment="CENTER" text="%main.vaultlist.emptyList.onboardingInstruction" wrapText="true"/>
 			</HBox>

+ 0 - 1
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