From eff2530e709e42719305ab0c63cd82d7d462efbc Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Mon, 7 Nov 2022 15:52:48 +0100 Subject: [PATCH] pre-select chosen mount service --- .../ui/preferences/VolumePreferencesController.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java b/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java index 4783345c8..c8affd58f 100644 --- a/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java +++ b/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java @@ -11,6 +11,7 @@ import javax.inject.Inject; import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanBinding; import javafx.beans.property.SimpleBooleanProperty; +import javafx.beans.value.ObservableValue; import javafx.scene.control.Button; import javafx.scene.control.ChoiceBox; import javafx.scene.control.TextField; @@ -25,6 +26,7 @@ public class VolumePreferencesController implements FxController { private final Settings settings; private final BooleanBinding showWebDavSettings; + private final ObservableValue selectedMountService; private final BooleanBinding showWebDavScheme; private final List mountProviders; public ChoiceBox volumeTypeChoiceBox; @@ -33,17 +35,18 @@ public class VolumePreferencesController implements FxController { public ChoiceBox webDavUrlSchemeChoiceBox; @Inject - VolumePreferencesController(Settings settings, List mountProviders) { + VolumePreferencesController(Settings settings, List mountProviders, ObservableValue selectedMountService) { this.settings = settings; this.mountProviders = mountProviders; this.showWebDavSettings = Bindings.equal(settings.preferredVolumeImpl(), VolumeImpl.WEBDAV); + this.selectedMountService = selectedMountService; this.showWebDavScheme = showWebDavSettings.and(new SimpleBooleanProperty(SystemUtils.IS_OS_LINUX)); //TODO: remove SystemUtils } public void initialize() { volumeTypeChoiceBox.getItems().addAll(mountProviders); volumeTypeChoiceBox.setConverter(new MountServiceConverter()); - volumeTypeChoiceBox.getSelectionModel().selectFirst(); //TODO + volumeTypeChoiceBox.getSelectionModel().select(selectedMountService.getValue()); volumeTypeChoiceBox.valueProperty().addListener((observableValue, oldProvide, newProvider) -> settings.mountService().set(newProvider.getClass().getName())); webDavPortField.setText(String.valueOf(settings.port().get()));