diff --git a/src/main/java/org/cryptomator/launcher/EventualLogger.java b/src/main/java/org/cryptomator/launcher/EventualLogger.java index fac429cfe..c14e5070b 100644 --- a/src/main/java/org/cryptomator/launcher/EventualLogger.java +++ b/src/main/java/org/cryptomator/launcher/EventualLogger.java @@ -26,7 +26,7 @@ class EventualLogger extends AbstractLogger { var builder = gutter.atLevel(event.getLevel()) // .setCause(event.getThrowable()) // .setMessage(event.getMessage()); - event.getArguments().forEach(builder::addArgument); + Objects.requireNonNullElse(event.getArguments(), List.of()).forEach(builder::addArgument); Objects.requireNonNullElse(event.getMarkers(), List.of()).forEach(builder::addMarker); builder.log(); } diff --git a/src/main/java/org/cryptomator/ui/notification/NotificationController.java b/src/main/java/org/cryptomator/ui/notification/NotificationController.java index fe96e3721..8c2bb1520 100644 --- a/src/main/java/org/cryptomator/ui/notification/NotificationController.java +++ b/src/main/java/org/cryptomator/ui/notification/NotificationController.java @@ -101,15 +101,10 @@ public class NotificationController implements FxController { var device = userAndDevice.length == 1 ? userAndDevice[0] : userAndDevice[1]; var cleartextFileName = fiiue.cleartextPath().substring(fiiue.cleartextPath().lastIndexOf('/') + 1); eventTimestamp.set(localizedTimeFormatter.format(fiiue.lastUpdated())); - message.set("File is locked by another device"); - fileName.set(cleartextFileName); - description.set("The file is opened by %s on device %s. Ask the user to close the file and sync again. Otherwise, you can ignore the lock and open it anyway.".formatted(user, device)); - actionText.set("Ignore Lock"); - /* TODO: Once feature is out of beta, activate translations message.set(resourceBundle.getString("notification.inUse.message")); - description.set(resourceBundle.getString("notification.inUse.description").formatted(fiiue.cleartextPath(), user, device)); + fileName.set(cleartextFileName); + description.set(resourceBundle.getString("notification.inUse.description").formatted(user, device)); actionText.set(resourceBundle.getString("notification.inUse.action")); - */ } default -> { message.set("NO CONTENT"); diff --git a/src/main/java/org/cryptomator/ui/vaultoptions/MasterkeyOptionsController.java b/src/main/java/org/cryptomator/ui/vaultoptions/MasterkeyOptionsController.java index 67ae2f42d..ab6cb5104 100644 --- a/src/main/java/org/cryptomator/ui/vaultoptions/MasterkeyOptionsController.java +++ b/src/main/java/org/cryptomator/ui/vaultoptions/MasterkeyOptionsController.java @@ -9,11 +9,15 @@ import org.cryptomator.ui.forgetpassword.ForgetPasswordComponent; import org.cryptomator.ui.recoverykey.RecoveryKeyComponent; import javax.inject.Inject; +import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.value.ObservableValue; import javafx.fxml.FXML; import javafx.stage.Stage; +import java.nio.file.Files; + +import static org.cryptomator.common.Constants.MASTERKEY_FILENAME; @VaultOptionsScoped public class MasterkeyOptionsController implements FxController { @@ -25,6 +29,7 @@ public class MasterkeyOptionsController implements FxController { private final ForgetPasswordComponent.Builder forgetPasswordWindow; private final KeychainManager keychain; private final ObservableValue passwordSaved; + private final BooleanProperty masterkeyFileAvailable; @Inject @@ -40,6 +45,7 @@ public class MasterkeyOptionsController implements FxController { } else { this.passwordSaved = new SimpleBooleanProperty(false); } + this.masterkeyFileAvailable = new SimpleBooleanProperty(Files.exists(vault.getPath().resolve(MASTERKEY_FILENAME))); } @FXML @@ -70,4 +76,12 @@ public class MasterkeyOptionsController implements FxController { public boolean isPasswordSaved() { return passwordSaved.getValue(); } + + public BooleanProperty masterkeyFileAvailableProperty() { + return masterkeyFileAvailable; + } + + public boolean isMasterkeyFileAvailable() { + return masterkeyFileAvailable.get(); + } } diff --git a/src/main/resources/fxml/vault_options_masterkey.fxml b/src/main/resources/fxml/vault_options_masterkey.fxml index a06244178..c295e2373 100644 --- a/src/main/resources/fxml/vault_options_masterkey.fxml +++ b/src/main/resources/fxml/vault_options_masterkey.fxml @@ -4,8 +4,12 @@ + + + + - + + + + + + + + + + + + + + -