diff --git a/main/ui/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java b/main/ui/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java index 9dd1bef82..44127696c 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java @@ -3,6 +3,7 @@ package org.cryptomator.ui.preferences; import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanBinding; import javafx.beans.property.SimpleBooleanProperty; +import javafx.beans.property.SimpleObjectProperty; import javafx.scene.control.Button; import javafx.scene.control.ChoiceBox; import javafx.scene.control.TextField; @@ -25,7 +26,7 @@ public class VolumePreferencesController implements FxController { private final Settings settings; private final BooleanBinding showWebDavSettings; private final BooleanBinding showWebDavScheme; - public ChoiceBox volumeTypeChoicBox; + public ChoiceBox volumeTypeChoiceBox; public TextField webDavPortField; public Button changeWebDavPortButton; public ChoiceBox webDavUrlSchemeChoiceBox; @@ -38,9 +39,13 @@ public class VolumePreferencesController implements FxController { } public void initialize() { - volumeTypeChoicBox.getItems().addAll(Volume.getCurrentSupportedAdapters()); - volumeTypeChoicBox.valueProperty().bindBidirectional(settings.preferredVolumeImpl()); - volumeTypeChoicBox.setConverter(new VolumeImplConverter()); + volumeTypeChoiceBox.getItems().addAll(Volume.getCurrentSupportedAdapters()); + //If the in the settings specified preferredVolumeImplementation isn't available, overwrite the settings to use the default VolumeImpl.WEBDAV + if (!volumeTypeChoiceBox.getItems().contains(settings.preferredVolumeImpl().get())) { + settings.preferredVolumeImpl().bind(new SimpleObjectProperty<>(VolumeImpl.WEBDAV)); + } + volumeTypeChoiceBox.valueProperty().bindBidirectional(settings.preferredVolumeImpl()); + volumeTypeChoiceBox.setConverter(new VolumeImplConverter()); webDavPortField.setText(String.valueOf(settings.port().get())); changeWebDavPortButton.visibleProperty().bind(settings.port().asString().isNotEqualTo(webDavPortField.textProperty())); diff --git a/main/ui/src/main/resources/fxml/preferences_volume.fxml b/main/ui/src/main/resources/fxml/preferences_volume.fxml index 43704e00f..1ac27fd85 100644 --- a/main/ui/src/main/resources/fxml/preferences_volume.fxml +++ b/main/ui/src/main/resources/fxml/preferences_volume.fxml @@ -17,7 +17,7 @@