From f96c52cdb1367da10c760353184583ad6d923598 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 24 Jun 2022 10:26:34 +0200 Subject: [PATCH] Disable Password tab if vault.config.keyid.scheme is not masterkeyfile --- .../ui/vaultoptions/VaultOptionsController.java | 8 +++++++- src/main/resources/fxml/vault_options.fxml | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java index 15879e316..c0023acb8 100644 --- a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java +++ b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java @@ -1,5 +1,6 @@ package org.cryptomator.ui.vaultoptions; +import org.cryptomator.common.vaults.Vault; import org.cryptomator.ui.common.FxController; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,6 +19,7 @@ public class VaultOptionsController implements FxController { private static final Logger LOG = LoggerFactory.getLogger(VaultOptionsController.class); private final Stage window; + private final Vault vault; private final ObjectProperty selectedTabProperty; public TabPane tabPane; public Tab generalTab; @@ -25,8 +27,9 @@ public class VaultOptionsController implements FxController { public Tab keyTab; @Inject - VaultOptionsController(@VaultOptionsWindow Stage window, ObjectProperty selectedTabProperty) { + VaultOptionsController(@VaultOptionsWindow Stage window, @VaultOptionsWindow Vault vault, ObjectProperty selectedTabProperty) { this.window = window; + this.vault = vault; this.selectedTabProperty = selectedTabProperty; } @@ -35,6 +38,9 @@ public class VaultOptionsController implements FxController { window.setOnShowing(this::windowWillAppear); selectedTabProperty.addListener(observable -> this.selectChosenTab()); tabPane.getSelectionModel().selectedItemProperty().addListener(observable -> this.selectedTabChanged()); + if(!vault.getVaultConfigCache().getUnchecked().getKeyId().getScheme().equals("masterkeyfile")){ + tabPane.getTabs().remove(keyTab); + } } private void selectChosenTab() { diff --git a/src/main/resources/fxml/vault_options.fxml b/src/main/resources/fxml/vault_options.fxml index e387cd7d2..6ecc2af9b 100644 --- a/src/main/resources/fxml/vault_options.fxml +++ b/src/main/resources/fxml/vault_options.fxml @@ -28,7 +28,7 @@ - +