From 6721baf29332266745925ca31673317088ee162d Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Wed, 28 Aug 2019 11:35:07 +0200 Subject: [PATCH] Replaced TextFlows by FormattedLabel if applicable --- .../ui/controls/FormattedLabel.java | 54 +++++++++++++++++++ .../resources/fxml/preferences_updates.fxml | 14 ++--- main/ui/src/main/resources/fxml/unlock2.fxml | 10 +--- .../main/resources/fxml/unlock_success.fxml | 22 +++----- .../main/resources/i18n/strings.properties | 4 +- 5 files changed, 70 insertions(+), 34 deletions(-) create mode 100644 main/ui/src/main/java/org/cryptomator/ui/controls/FormattedLabel.java 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"> - - + + + - - - - - - - - - +