|
@@ -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<VolumeImpl> volumeTypeChoicBox;
|
|
|
+ public ChoiceBox<VolumeImpl> volumeTypeChoiceBox;
|
|
|
public TextField webDavPortField;
|
|
|
public Button changeWebDavPortButton;
|
|
|
public ChoiceBox<WebDavUrlScheme> 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()));
|