diff --git a/main/ui/src/main/java/org/cryptomator/ui/lock/LockFailedController.java b/main/ui/src/main/java/org/cryptomator/ui/lock/LockFailedController.java index d458ffa3f..e46d1d868 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/lock/LockFailedController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/lock/LockFailedController.java @@ -1,15 +1,31 @@ package org.cryptomator.ui.lock; +import org.cryptomator.common.vaults.Vault; import org.cryptomator.ui.common.FxController; import javax.inject.Inject; +import javafx.fxml.FXML; +import javafx.stage.Stage; @LockScoped public class LockFailedController implements FxController { - @Inject - public LockFailedController() { + private final Stage window; + private final Vault vault; + @Inject + public LockFailedController(@LockWindow Stage window, @LockWindow Vault vault) { + this.window = window; + this.vault = vault; } + @FXML + public void close() { + window.close(); + } + + // ----- Getter & Setter ----- + public String getVaultName() { + return vault.getDisplayName(); + } } diff --git a/main/ui/src/main/java/org/cryptomator/ui/lock/LockWorkflow.java b/main/ui/src/main/java/org/cryptomator/ui/lock/LockWorkflow.java index 5d9a7d111..4adac0689 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/lock/LockWorkflow.java +++ b/main/ui/src/main/java/org/cryptomator/ui/lock/LockWorkflow.java @@ -94,6 +94,8 @@ public class LockWorkflow extends Task { protected void failed() { LOG.warn("Failed to lock {}.", vault.getDisplayName()); vault.setState(VaultState.UNLOCKED); + lockWindow.setScene(lockFailedScene.get()); + lockWindow.show(); } @Override diff --git a/main/ui/src/main/resources/fxml/lock_failed.fxml b/main/ui/src/main/resources/fxml/lock_failed.fxml index 9b4e0a2b9..a4721b091 100644 --- a/main/ui/src/main/resources/fxml/lock_failed.fxml +++ b/main/ui/src/main/resources/fxml/lock_failed.fxml @@ -1,9 +1,14 @@ + + + + + -