diff --git a/main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java b/main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java index 936c451dc..32f2aea47 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java @@ -91,8 +91,10 @@ public class UnlockController implements FxController { Task task = vaultService.createUnlockTask(vault, password); passwordField.setDisable(true); + savePassword.setDisable(true); task.setOnSucceeded(event -> { passwordField.setDisable(false); + savePassword.setDisable(!keychainAccess.isPresent()); if (keychainAccess.isPresent() && savePassword.isSelected()) { try { keychainAccess.get().storePassphrase(vault.getId(), password); @@ -106,6 +108,7 @@ public class UnlockController implements FxController { }); task.setOnFailed(event -> { passwordField.setDisable(false); + savePassword.setDisable(!keychainAccess.isPresent()); if (task.getException() instanceof InvalidPassphraseException) { Animations.createShakeWindowAnimation(window).play(); passwordField.selectAll(); diff --git a/main/ui/src/main/resources/fxml/unlock.fxml b/main/ui/src/main/resources/fxml/unlock.fxml index caa179082..24f636999 100644 --- a/main/ui/src/main/resources/fxml/unlock.fxml +++ b/main/ui/src/main/resources/fxml/unlock.fxml @@ -22,7 +22,7 @@ - +