From 21d342d1176989eebd052c6e9865d685327fb12a Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Wed, 17 Nov 2021 14:03:04 +0100 Subject: [PATCH] Add non-forced retry lock button --- .../cryptomator/ui/lock/LockForcedController.java | 12 +++++++++++- .../java/org/cryptomator/ui/lock/LockModule.java | 1 + .../java/org/cryptomator/ui/lock/LockWorkflow.java | 1 + src/main/resources/fxml/lock_forced.fxml | 6 +++--- src/main/resources/i18n/strings.properties | 3 ++- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/lock/LockForcedController.java b/src/main/java/org/cryptomator/ui/lock/LockForcedController.java index 8d4ce32d3..c3a452acc 100644 --- a/src/main/java/org/cryptomator/ui/lock/LockForcedController.java +++ b/src/main/java/org/cryptomator/ui/lock/LockForcedController.java @@ -35,7 +35,13 @@ public class LockForcedController implements FxController { } @FXML - public void confirmForcedLock() { + public void retry() { + forceLockDecisionLock.interacted(LockModule.ForceLockDecision.RETRY); + window.close(); + } + + @FXML + public void force() { forceLockDecisionLock.interacted(LockModule.ForceLockDecision.FORCE); window.close(); } @@ -54,4 +60,8 @@ public class LockForcedController implements FxController { return vault.getDisplayName(); } + public boolean isForceSupported() { + return vault.supportsForcedUnmount(); + } + } diff --git a/src/main/java/org/cryptomator/ui/lock/LockModule.java b/src/main/java/org/cryptomator/ui/lock/LockModule.java index 160dcf6fb..d1eb5f189 100644 --- a/src/main/java/org/cryptomator/ui/lock/LockModule.java +++ b/src/main/java/org/cryptomator/ui/lock/LockModule.java @@ -28,6 +28,7 @@ abstract class LockModule { enum ForceLockDecision { CANCEL, + RETRY, FORCE; } diff --git a/src/main/java/org/cryptomator/ui/lock/LockWorkflow.java b/src/main/java/org/cryptomator/ui/lock/LockWorkflow.java index db3ff2484..00b25c507 100644 --- a/src/main/java/org/cryptomator/ui/lock/LockWorkflow.java +++ b/src/main/java/org/cryptomator/ui/lock/LockWorkflow.java @@ -62,6 +62,7 @@ public class LockWorkflow extends Task { LOG.info("Locking {} failed (forced: {}).", vault.getDisplayName(), forced, e); var decision = askUserForAction(); switch (decision) { + case RETRY -> lock(false); case FORCE -> lock(true); case CANCEL -> cancel(false); } diff --git a/src/main/resources/fxml/lock_forced.fxml b/src/main/resources/fxml/lock_forced.fxml index 4596af119..b0b5baa63 100644 --- a/src/main/resources/fxml/lock_forced.fxml +++ b/src/main/resources/fxml/lock_forced.fxml @@ -33,11 +33,11 @@ - +