Ver código fonte

Add info about the dependency of volume type and mountOptions

Armin Schrenk 2 anos atrás
pai
commit
708b5938ac

+ 10 - 1
src/main/java/org/cryptomator/ui/vaultoptions/MountOptionsController.java

@@ -7,6 +7,8 @@ import org.cryptomator.common.settings.VaultSettings;
 import org.cryptomator.common.vaults.Vault;
 import org.cryptomator.integrations.mount.MountCapability;
 import org.cryptomator.ui.common.FxController;
+import org.cryptomator.ui.fxapp.FxApplicationWindows;
+import org.cryptomator.ui.preferences.SelectedPreferencesTab;
 
 import javax.inject.Inject;
 import javafx.beans.value.ObservableValue;
@@ -41,6 +43,7 @@ public class MountOptionsController implements FxController {
 	private final ObservableValue<Boolean> readOnlySupported;
 	private final ObservableValue<Boolean> mountFlagsSupported;
 	private final ObservableValue<String> directoryPath;
+	private final FxApplicationWindows applicationWindows;
 
 
 	//-- FXML objects --
@@ -55,7 +58,7 @@ public class MountOptionsController implements FxController {
 	public ChoiceBox<Path> driveLetterSelection;
 
 	@Inject
-	MountOptionsController(@VaultOptionsWindow Stage window, @VaultOptionsWindow Vault vault, ObservableValue<ActualMountService> mountService, WindowsDriveLetters windowsDriveLetters, ResourceBundle resourceBundle) {
+	MountOptionsController(@VaultOptionsWindow Stage window, @VaultOptionsWindow Vault vault, ObservableValue<ActualMountService> mountService, WindowsDriveLetters windowsDriveLetters, ResourceBundle resourceBundle, FxApplicationWindows applicationWindows) {
 		this.window = window;
 		this.vaultSettings = vault.getVaultSettings();
 		this.windowsDriveLetters = windowsDriveLetters;
@@ -72,6 +75,7 @@ public class MountOptionsController implements FxController {
 		this.mountFlagsSupported = mountService.map(as -> as.service().hasCapability(MountCapability.MOUNT_FLAGS));
 		this.readOnlySupported = mountService.map(as -> as.service().hasCapability(MountCapability.READ_ONLY));
 		this.directoryPath = vault.getVaultSettings().mountPoint().map(p -> isDriveLetter(p) ? null : p.toString());
+		this.applicationWindows = applicationWindows;
 	}
 
 	@FXML
@@ -104,6 +108,11 @@ public class MountOptionsController implements FxController {
 		mountPointToggleGroup.selectedToggleProperty().addListener(this::selectedToggleChanged);
 	}
 
+	@FXML
+	public void openVolumePreferences() {
+		applicationWindows.showPreferencesWindow(SelectedPreferencesTab.VOLUME);
+	}
+
 	@FXML
 	public void toggleUseCustomMountFlags() {
 		if (customMountFlagsCheckbox.isSelected()) {

+ 8 - 1
src/main/resources/fxml/vault_options_mount.fxml

@@ -5,12 +5,15 @@
 <?import javafx.scene.control.Button?>
 <?import javafx.scene.control.CheckBox?>
 <?import javafx.scene.control.ChoiceBox?>
+<?import javafx.scene.control.Hyperlink?>
 <?import javafx.scene.control.Label?>
 <?import javafx.scene.control.RadioButton?>
 <?import javafx.scene.control.TextField?>
 <?import javafx.scene.control.ToggleGroup?>
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.layout.VBox?>
+<?import javafx.scene.text.Text?>
+<?import javafx.scene.text.TextFlow?>
 <VBox xmlns:fx="http://javafx.com/fxml"
 	  xmlns="http://javafx.com/javafx"
 	  fx:controller="org.cryptomator.ui.vaultoptions.MountOptionsController"
@@ -22,7 +25,11 @@
 		<Insets topRightBottomLeft="12"/>
 	</padding>
 	<children>
-		<Label text="Options depend on the selected volume provider in the general preferences"/>
+		<TextFlow>
+			<Text text="%vaultOptions.mount.info"/>
+			<Text text=" "/>
+			<Hyperlink styleClass="hyperlink-underline" text="%vaultOptions.mount.linkToPreferences" onAction="#openVolumePreferences" wrapText="true"/>
+		</TextFlow>
 		<CheckBox fx:id="readOnlyCheckbox" text="%vaultOptions.mount.readonly" visible="${controller.readOnlySupported}" managed="${controller.readOnlySupported}"/>
 
 		<VBox visible="${controller.mountFlagsSupported}" managed="${controller.mountFlagsSupported}">

+ 2 - 0
src/main/resources/i18n/strings.properties

@@ -415,6 +415,8 @@ vaultOptions.general.startHealthCheckBtn=Start Health Check
 
 ## Mount
 vaultOptions.mount=Mounting
+vaultOptions.mount.info=Options depend on the selected volume type.
+vaultOptions.mount.linkToPreferences=Open virtual drive preferences
 vaultOptions.mount.readonly=Read-only
 vaultOptions.mount.customMountFlags=Custom mount flags
 vaultOptions.mount.winDriveLetterOccupied=occupied