From 58ed48b0978ed82aa6d14ddcc995d963304d0d0a Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 13 Mar 2023 11:17:56 +0100 Subject: [PATCH 01/10] UI: * remove restart notice for volume type * only show restart label, when switching between macFUSE and FUSET --- .../preferences/VolumePreferencesController.java | 15 +++++++++++++++ src/main/resources/css/dark_theme.css | 4 ++++ src/main/resources/css/light_theme.css | 4 ++++ src/main/resources/fxml/preferences_volume.fxml | 2 ++ src/main/resources/i18n/strings.properties | 2 +- 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java b/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java index 61a54ba22..ab3c319ba 100644 --- a/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java +++ b/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java @@ -33,6 +33,7 @@ public class VolumePreferencesController implements FxController { private final ObservableValue mountToDriveLetterSupported; private final ObservableValue mountFlagsSupported; private final ObservableValue readonlySupported; + private final ObservableValue macFuseAndFUSETRestartRequired; private final Lazy application; private final List mountProviders; public ChoiceBox volumeTypeChoiceBox; @@ -53,6 +54,12 @@ public class VolumePreferencesController implements FxController { this.mountToDriveLetterSupported = selectedMountService.map(s -> s.hasCapability(MountCapability.MOUNT_AS_DRIVE_LETTER)); this.mountFlagsSupported = selectedMountService.map(s -> s.hasCapability(MountCapability.MOUNT_FLAGS)); this.readonlySupported = selectedMountService.map(s -> s.hasCapability(MountCapability.READ_ONLY)); + var mountServiceAtStart = selectedMountService.getValue(); + this.macFuseAndFUSETRestartRequired = selectedMountService.map(s -> isFUSETOrMacFUSE(mountServiceAtStart) && isFUSETOrMacFUSE(s) && !mountServiceAtStart.equals(s)); + } + + private boolean isFUSETOrMacFUSE(MountService service) { + return List.of("org.cryptomator.frontend.fuse.mount.MacFuseMountProvider", "org.cryptomator.frontend.fuse.mount.FuseTMountProvider").contains(service.getClass().getName()); } public void initialize() { @@ -129,6 +136,14 @@ public class VolumePreferencesController implements FxController { return mountFlagsSupported.getValue(); } + public ObservableValue macFuseAndFUSETRestartRequiredProperty() { + return macFuseAndFUSETRestartRequired; + } + + public boolean isMacFuseAndFUSETRestartRequired() { + return macFuseAndFUSETRestartRequired.getValue(); + } + /* Helpers */ private class MountServiceConverter extends StringConverter { diff --git a/src/main/resources/css/dark_theme.css b/src/main/resources/css/dark_theme.css index 5f0877842..45cadba93 100644 --- a/src/main/resources/css/dark_theme.css +++ b/src/main/resources/css/dark_theme.css @@ -116,6 +116,10 @@ -fx-font-size: 0.64em; } +.label-red { + -fx-text-fill: RED_5; +} + .text-flow > * { -fx-fill: TEXT_FILL; } diff --git a/src/main/resources/css/light_theme.css b/src/main/resources/css/light_theme.css index decf64b64..c3c0faaa9 100644 --- a/src/main/resources/css/light_theme.css +++ b/src/main/resources/css/light_theme.css @@ -116,6 +116,10 @@ -fx-font-size: 0.64em; } +.label-red { + -fx-text-fill: RED_5; +} + .text-flow > * { -fx-fill: TEXT_FILL; } diff --git a/src/main/resources/fxml/preferences_volume.fxml b/src/main/resources/fxml/preferences_volume.fxml index 16ccc2b52..680579fbe 100644 --- a/src/main/resources/fxml/preferences_volume.fxml +++ b/src/main/resources/fxml/preferences_volume.fxml @@ -32,6 +32,8 @@ +