diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java index 6549f78ee..54f766845 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java @@ -36,6 +36,7 @@ import org.slf4j.LoggerFactory; import dagger.Lazy; import javafx.application.Platform; import javafx.beans.binding.Binding; +import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanBinding; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleObjectProperty; @@ -120,6 +121,9 @@ public class MainController extends AbstractFXMLViewController { @FXML private Pane contentPane; + @FXML + private Pane emptyListInstructions; + @Override public void initialize() { vaultList.setItems(vaults); @@ -127,6 +131,7 @@ public class MainController extends AbstractFXMLViewController { activeController.set(welcomeController.get()); selectedVault.bind(vaultList.getSelectionModel().selectedItemProperty()); removeVaultButton.disableProperty().bind(canEditSelectedVault); + emptyListInstructions.visibleProperty().bind(Bindings.isEmpty(vaults)); EasyBind.subscribe(activeController, this::activeControllerDidChange); EasyBind.subscribe(selectedVault, this::selectedVaultDidChange); diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/SettingsController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/SettingsController.java index b7e768f23..eae4dab26 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controllers/SettingsController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/SettingsController.java @@ -9,6 +9,7 @@ package org.cryptomator.ui.controllers; import java.net.URL; +import java.util.Optional; import java.util.ResourceBundle; import javax.inject.Inject; @@ -21,6 +22,7 @@ import org.fxmisc.easybind.EasyBind; import javafx.fxml.FXML; import javafx.scene.control.CheckBox; +import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.input.KeyEvent; @@ -42,12 +44,16 @@ public class SettingsController extends AbstractFXMLViewController { @FXML private TextField portField; + @FXML + private Label versionLabel; + @Override public void initialize() { checkForUpdatesCheckbox.setDisable(areUpdatesManagedExternally()); checkForUpdatesCheckbox.setSelected(settings.isCheckForUpdatesEnabled() && !areUpdatesManagedExternally()); portField.setText(String.valueOf(settings.getPort())); portField.addEventFilter(KeyEvent.KEY_TYPED, this::filterNumericKeyEvents); + versionLabel.setText(String.format(localization.getString("settings.version.label"), applicationVersion().orElse("SNAPSHOT"))); EasyBind.subscribe(portField.textProperty(), this::portDidChange); EasyBind.subscribe(checkForUpdatesCheckbox.selectedProperty(), settings::setCheckForUpdatesEnabled); @@ -63,6 +69,10 @@ public class SettingsController extends AbstractFXMLViewController { return localization; } + private Optional applicationVersion() { + return Optional.ofNullable(getClass().getPackage().getImplementationVersion()); + } + private void portDidChange(String newValue) { try { int port = Integer.parseInt(newValue); diff --git a/main/ui/src/main/resources/fxml/main.fxml b/main/ui/src/main/resources/fxml/main.fxml index 0891651a4..19e374c79 100644 --- a/main/ui/src/main/resources/fxml/main.fxml +++ b/main/ui/src/main/resources/fxml/main.fxml @@ -20,6 +20,9 @@ + + + @@ -49,7 +52,15 @@ - + + + + + + + + diff --git a/main/ui/src/main/resources/fxml/settings.fxml b/main/ui/src/main/resources/fxml/settings.fxml index 63f8e0de4..98499ed4a 100644 --- a/main/ui/src/main/resources/fxml/settings.fxml +++ b/main/ui/src/main/resources/fxml/settings.fxml @@ -16,8 +16,9 @@ - - + +