mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-17 10:11:27 +00:00
Fixes #1267 by binding the settings.preferredVolumeImpl to VolumeImpl.WEBDAV, if preferredVolimeImpl isn't available
This commit is contained in:
@@ -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()));
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<children>
|
||||
<HBox spacing="6" alignment="CENTER_LEFT">
|
||||
<Label text="%preferences.volume.type"/>
|
||||
<ChoiceBox fx:id="volumeTypeChoicBox"/>
|
||||
<ChoiceBox fx:id="volumeTypeChoiceBox"/>
|
||||
</HBox>
|
||||
|
||||
<HBox spacing="6" alignment="CENTER_LEFT" visible="${controller.showWebDavSettings}">
|
||||
|
||||
Reference in New Issue
Block a user