From c19a86a3484407826d0ba41824f17bedf4e4b6bc Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Tue, 7 Feb 2023 15:23:04 +0100 Subject: [PATCH 1/3] add link to mounting documentation --- .../ui/preferences/VolumePreferencesController.java | 12 +++++++++++- src/main/resources/fxml/preferences_volume.fxml | 12 ++++++++++++ src/main/resources/i18n/strings.properties | 2 ++ 3 files changed, 25 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 00e680d2d..4784efceb 100644 --- a/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java +++ b/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java @@ -1,5 +1,6 @@ package org.cryptomator.ui.preferences; +import dagger.Lazy; import org.cryptomator.common.ObservableUtil; import org.cryptomator.common.settings.Settings; import org.cryptomator.integrations.mount.MountCapability; @@ -7,6 +8,7 @@ import org.cryptomator.integrations.mount.MountService; import org.cryptomator.ui.common.FxController; import javax.inject.Inject; +import javafx.application.Application; import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanExpression; import javafx.beans.value.ObservableValue; @@ -21,6 +23,8 @@ import java.util.ResourceBundle; @PreferencesScoped public class VolumePreferencesController implements FxController { + private static final String DOCS_MOUNTING_URL = "https://docs.cryptomator.org/en/1.7/desktop/vault-mounting/"; + private final Settings settings; private final ObservableValue selectedMountService; private final ResourceBundle resourceBundle; @@ -29,14 +33,16 @@ public class VolumePreferencesController implements FxController { private final ObservableValue mountToDriveLetterSupported; private final ObservableValue mountFlagsSupported; private final ObservableValue readonlySupported; + private final Lazy application; private final List mountProviders; public ChoiceBox volumeTypeChoiceBox; public TextField loopbackPortField; public Button loopbackPortApplyButton; @Inject - VolumePreferencesController(Settings settings, List mountProviders, ResourceBundle resourceBundle) { + VolumePreferencesController(Settings settings, Lazy application, List mountProviders, ResourceBundle resourceBundle) { this.settings = settings; + this.application = application; this.mountProviders = mountProviders; this.resourceBundle = resourceBundle; @@ -141,4 +147,8 @@ public class VolumePreferencesController implements FxController { throw new UnsupportedOperationException(); } } + + public void openDocs() { + application.get().getHostServices().showDocument(DOCS_MOUNTING_URL); + } } diff --git a/src/main/resources/fxml/preferences_volume.fxml b/src/main/resources/fxml/preferences_volume.fxml index 92df77e3d..ed41a746b 100644 --- a/src/main/resources/fxml/preferences_volume.fxml +++ b/src/main/resources/fxml/preferences_volume.fxml @@ -5,6 +5,7 @@ + @@ -58,5 +59,16 @@ + + + + + diff --git a/src/main/resources/i18n/strings.properties b/src/main/resources/i18n/strings.properties index fbee45826..dafb573a9 100644 --- a/src/main/resources/i18n/strings.properties +++ b/src/main/resources/i18n/strings.properties @@ -278,6 +278,8 @@ preferences.interface.showTrayIcon=Show tray icon (requires restart) preferences.volume=Virtual Drive preferences.volume.type=Volume Type (requires restart) preferences.volume.type.automatic=Automatic +preferences.volume.docs.description=More information about the different volume types can be found in the user documentation. +preferences.volume.docs.linkText=Open Cryptomator Docs preferences.volume.tcp.port=TCP Port preferences.volume.supportedFeatures=The chosen volume type supports the following features: preferences.volume.feature.mountAuto=Automatic mount point selection From ac43efe14989aa1e1e1e92a3ab43683601133dc8 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Wed, 8 Feb 2023 11:33:41 +0100 Subject: [PATCH 2/3] change UI to be not so clunky: * only use question mark icon * use tooltip at icon instead of explicit label * icon is the hyperlink --- .../ui/controls/FontAwesome5Icon.java | 1 + .../resources/fxml/preferences_volume.fxml | 20 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java b/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java index 997bfa41f..60f37719b 100644 --- a/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java +++ b/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java @@ -42,6 +42,7 @@ public enum FontAwesome5Icon { PLUS("\uF067"), // PRINT("\uF02F"), // QUESTION("\uF128"), // + QUESTION_CIRCLE("\uf059"), // REDO("\uF01E"), // SEARCH("\uF002"), // SPINNER("\uF110"), // diff --git a/src/main/resources/fxml/preferences_volume.fxml b/src/main/resources/fxml/preferences_volume.fxml index ed41a746b..23aff9acf 100644 --- a/src/main/resources/fxml/preferences_volume.fxml +++ b/src/main/resources/fxml/preferences_volume.fxml @@ -10,6 +10,7 @@ + - - - - - From e35ed9af728bf3d132ca502c8db158b386631f65 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Wed, 8 Feb 2023 20:11:34 +0100 Subject: [PATCH 3/3] enable localization of tooltip --- src/main/resources/fxml/preferences_volume.fxml | 2 +- src/main/resources/i18n/strings.properties | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/resources/fxml/preferences_volume.fxml b/src/main/resources/fxml/preferences_volume.fxml index 23aff9acf..16ccc2b52 100644 --- a/src/main/resources/fxml/preferences_volume.fxml +++ b/src/main/resources/fxml/preferences_volume.fxml @@ -27,7 +27,7 @@ - + diff --git a/src/main/resources/i18n/strings.properties b/src/main/resources/i18n/strings.properties index dafb573a9..050a8473e 100644 --- a/src/main/resources/i18n/strings.properties +++ b/src/main/resources/i18n/strings.properties @@ -278,8 +278,7 @@ preferences.interface.showTrayIcon=Show tray icon (requires restart) preferences.volume=Virtual Drive preferences.volume.type=Volume Type (requires restart) preferences.volume.type.automatic=Automatic -preferences.volume.docs.description=More information about the different volume types can be found in the user documentation. -preferences.volume.docs.linkText=Open Cryptomator Docs +preferences.volume.docsTooltip=Open the documentation to learn more about the different volume types. preferences.volume.tcp.port=TCP Port preferences.volume.supportedFeatures=The chosen volume type supports the following features: preferences.volume.feature.mountAuto=Automatic mount point selection