different labeling for volume type option in general volume preferences and vault options

This commit is contained in:
Jan-Peter Klein
2023-10-30 14:33:01 +01:00
parent e79c975d7b
commit 1818344c49
5 changed files with 41 additions and 37 deletions

View File

@@ -1,29 +0,0 @@
package org.cryptomator.common.mount;
import org.cryptomator.integrations.mount.MountService;
import javafx.util.StringConverter;
import java.util.ResourceBundle;
public class MountServiceConverter extends StringConverter<MountService> {
private final ResourceBundle resourceBundle;
public MountServiceConverter(ResourceBundle resourceBundle) {
this.resourceBundle = resourceBundle;
}
@Override
public String toString(MountService provider) {
if (provider == null) {
return resourceBundle.getString("preferences.volume.type.automatic");
} else {
return provider.displayName();
}
}
@Override
public MountService fromString(String string) {
throw new UnsupportedOperationException();
}
}

View File

@@ -2,7 +2,6 @@ package org.cryptomator.ui.preferences;
import dagger.Lazy;
import org.cryptomator.common.ObservableUtil;
import org.cryptomator.common.mount.MountServiceConverter;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.common.vaults.VaultModule;
import org.cryptomator.integrations.mount.MountCapability;
@@ -70,7 +69,7 @@ public class VolumePreferencesController implements FxController {
public void initialize() {
volumeTypeChoiceBox.getItems().add(null);
volumeTypeChoiceBox.getItems().addAll(mountProviders);
volumeTypeChoiceBox.setConverter(new MountServiceConverter(resourceBundle));
volumeTypeChoiceBox.setConverter(new MountServiceConverter());
boolean autoSelected = settings.mountService.get() == null;
volumeTypeChoiceBox.getSelectionModel().select(autoSelected ? null : selectedMountService.getValue());
volumeTypeChoiceBox.valueProperty().addListener((observableValue, oldProvider, newProvider) -> {
@@ -149,6 +148,25 @@ public class VolumePreferencesController implements FxController {
return fuseRestartRequired.getValue();
}
/* Helpers */
public class MountServiceConverter extends StringConverter<MountService> {
@Override
public String toString(MountService provider) {
if (provider == null) {
return resourceBundle.getString("preferences.volume.type.automatic");
} else {
return provider.displayName();
}
}
@Override
public MountService fromString(String string) {
throw new UnsupportedOperationException();
}
}
public void openDocs() {
application.get().getHostServices().showDocument(DOCS_MOUNTING_URL);
}

View File

@@ -3,7 +3,6 @@ package org.cryptomator.ui.vaultoptions;
import com.google.common.base.Strings;
import dagger.Lazy;
import org.cryptomator.common.ObservableUtil;
import org.cryptomator.common.mount.MountServiceConverter;
import org.cryptomator.common.mount.WindowsDriveLetters;
import org.cryptomator.common.settings.VaultSettings;
import org.cryptomator.common.vaults.Vault;
@@ -147,7 +146,7 @@ public class MountOptionsController implements FxController {
vaultVolumeTypeChoiceBox.getItems().add(null);
vaultVolumeTypeChoiceBox.getItems().addAll(mountProviders);
vaultVolumeTypeChoiceBox.setConverter(new MountServiceConverter(resourceBundle));
vaultVolumeTypeChoiceBox.setConverter(new MountServiceConverter());
boolean autoSelected = vaultSettings.mountService.get() == null;
vaultVolumeTypeChoiceBox.getSelectionModel().select(autoSelected ? null : selectedMountService.getValue());
vaultVolumeTypeChoiceBox.valueProperty().addListener((observableValue, oldProvider, newProvider) -> {
@@ -359,4 +358,20 @@ public class MountOptionsController implements FxController {
return loopbackPortSupported.get();
}
private class MountServiceConverter extends StringConverter<MountService> {
@Override
public String toString(MountService provider) {
if (provider == null) {
return resourceBundle.getString("preferences.volume.type.default");
} else {
return provider.displayName();
}
}
@Override
public MountService fromString(String string) {
throw new UnsupportedOperationException();
}
}
}