diff --git a/main/ui/src/main/java/org/cryptomator/ui/controls/FormattedLabel.java b/main/ui/src/main/java/org/cryptomator/ui/controls/FormattedLabel.java new file mode 100644 index 000000000..44f446f47 --- /dev/null +++ b/main/ui/src/main/java/org/cryptomator/ui/controls/FormattedLabel.java @@ -0,0 +1,54 @@ +package org.cryptomator.ui.controls; + +import javafx.beans.binding.Bindings; +import javafx.beans.binding.StringBinding; +import javafx.beans.property.ObjectProperty; +import javafx.beans.property.SimpleObjectProperty; +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; +import javafx.scene.control.Label; + +public class FormattedLabel extends Label { + + private final StringProperty format = new SimpleStringProperty(""); + private final ObjectProperty arg1 = new SimpleObjectProperty<>(); + // TODO: add arg2, arg3, ... on demand + + public FormattedLabel() { + textProperty().bind(createStringBinding()); + } + + protected StringBinding createStringBinding() { + return Bindings.createStringBinding(this::updateText, format, arg1); + } + + private String updateText() { + return String.format(format.get(), arg1.get()); + } + + /* Observables */ + + public StringProperty formatProperty() { + return format; + } + + public String getFormat() { + return format.get(); + } + + public void setFormat(String format) { + this.format.set(format); + } + + public ObjectProperty arg1Property() { + return arg1; + } + + public Object getArg1() { + return arg1.get(); + } + + public void setArg1(Object arg1) { + this.arg1.set(arg1); + } +} diff --git a/main/ui/src/main/resources/fxml/preferences_updates.fxml b/main/ui/src/main/resources/fxml/preferences_updates.fxml index e78206571..d6ee106e9 100644 --- a/main/ui/src/main/resources/fxml/preferences_updates.fxml +++ b/main/ui/src/main/resources/fxml/preferences_updates.fxml @@ -4,10 +4,8 @@ - - - + - + - - - - - - + + diff --git a/main/ui/src/main/resources/fxml/unlock2.fxml b/main/ui/src/main/resources/fxml/unlock2.fxml index 7ac312618..8f2de29c4 100644 --- a/main/ui/src/main/resources/fxml/unlock2.fxml +++ b/main/ui/src/main/resources/fxml/unlock2.fxml @@ -6,8 +6,7 @@ - - + - - - - - - + diff --git a/main/ui/src/main/resources/fxml/unlock_success.fxml b/main/ui/src/main/resources/fxml/unlock_success.fxml index 9d1b539c6..0371f6927 100644 --- a/main/ui/src/main/resources/fxml/unlock_success.fxml +++ b/main/ui/src/main/resources/fxml/unlock_success.fxml @@ -4,38 +4,30 @@ - - - + + spacing="12" + alignment="CENTER"> - - + + + - - - - - - - - - +