Browse Source

fixing settings bug under linux

infeo 6 years ago
parent
commit
a760edcab9

+ 7 - 0
main/ui/src/main/java/org/cryptomator/ui/controllers/SettingsController.java

@@ -10,6 +10,7 @@ package org.cryptomator.ui.controllers;
 
 import com.google.common.base.CharMatcher;
 import com.google.common.base.Strings;
+import javafx.beans.Observable;
 import javafx.beans.binding.Bindings;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
@@ -93,6 +94,7 @@ public class SettingsController implements ViewController {
 		volume.getItems().addAll(Volume.getCurrentSupportedAdapters());
 		volume.setValue(settings.preferredVolumeImpl().get());
 		volume.setConverter(new NioAdapterImplStringConverter());
+		volume.valueProperty().addListener(this::setVisibilityGvfsElements);
 
 		//WEBDAV
 		webdavSettings.visibleProperty().bind(volume.valueProperty().isEqualTo(VolumeImpl.WEBDAV));
@@ -157,6 +159,11 @@ public class SettingsController implements ViewController {
 		}
 	}
 
+	private void setVisibilityGvfsElements(Observable obs, Object oldValue, Object newValue) {
+		prefGvfsSchemeLabel.setVisible(SystemUtils.IS_OS_LINUX && ((VolumeImpl) newValue).getDisplayName().equals("WebDAV"));
+		prefGvfsScheme.setVisible(SystemUtils.IS_OS_LINUX && ((VolumeImpl) newValue).getDisplayName().equals("WebDAV"));
+	}
+
 	private boolean areUpdatesManagedExternally() {
 		return Boolean.parseBoolean(System.getProperty("cryptomator.updatesManagedExternally", "false"));
 	}

+ 0 - 2
main/ui/src/main/resources/fxml/settings.fxml

@@ -7,7 +7,6 @@
   Contributors:
       Sebastian Stenzel - initial API and implementation
 -->
-<?import java.net.URL?>
 <?import javafx.scene.layout.GridPane?>
 <?import javafx.geometry.Insets?>
 <?import javafx.scene.layout.ColumnConstraints?>
@@ -19,7 +18,6 @@
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.control.Button?>
 
-<?import javafx.scene.Group?>
 <VBox fx:controller="org.cryptomator.ui.controllers.SettingsController" fx:id="root" prefWidth="400.0" alignment="TOP_CENTER" spacing="12.0" xmlns:fx="http://javafx.com/fxml" cacheShape="true" cache="true">
 	<Label VBox.vgrow="NEVER" fx:id="versionLabel" alignment="CENTER" cacheShape="true" cache="true" />
 	<GridPane VBox.vgrow="ALWAYS" vgap="12.0" hgap="12.0" cacheShape="true" cache="true">