From e5e4695cd660faabf76341a34cc670af6a0a3051 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Wed, 8 Jan 2025 17:50:54 +0100 Subject: [PATCH] replaced setters and extended the constructor of SimpleDialogController --- .../cryptomator/ui/dialogs/SimpleDialog.java | 24 +++----- .../ui/dialogs/SimpleDialogController.java | 57 ++++++++----------- src/main/resources/fxml/simple_dialog.fxml | 10 ++-- 3 files changed, 39 insertions(+), 52 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/dialogs/SimpleDialog.java b/src/main/java/org/cryptomator/ui/dialogs/SimpleDialog.java index 75e0a4902..d2d60d297 100644 --- a/src/main/java/org/cryptomator/ui/dialogs/SimpleDialog.java +++ b/src/main/java/org/cryptomator/ui/dialogs/SimpleDialog.java @@ -4,8 +4,6 @@ import org.cryptomator.ui.common.FxmlFile; import org.cryptomator.ui.common.FxmlLoaderFactory; import org.cryptomator.ui.controls.FontAwesome5Icon; -import javafx.fxml.FXMLLoader; -import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Modality; import javafx.stage.Stage; @@ -30,20 +28,16 @@ public class SimpleDialog { dialogStage.setTitle(resolveText(builder.titleKey, builder.titleArgs)); dialogStage.setResizable(false); - FxmlLoaderFactory loaderFactory = FxmlLoaderFactory.forController(new SimpleDialogController(), Scene::new, builder.resourceBundle); - FXMLLoader loader = loaderFactory.load(FxmlFile.SIMPLE_DIALOG.getRessourcePathString()); - SimpleDialogController controller = loader.getController(); + FxmlLoaderFactory loaderFactory = FxmlLoaderFactory.forController( + new SimpleDialogController(resolveText(builder.messageKey, null), + resolveText(builder.descriptionKey, null), + builder.icon,resolveText(builder.okButtonKey, null), + resolveText(builder.cancelButtonKey, null), + () -> builder.okAction.accept(dialogStage), + () -> builder.cancelAction.accept(dialogStage)), + Scene::new, builder.resourceBundle); - controller.setMessage(resolveText(builder.messageKey, null)); - controller.setDescription(resolveText(builder.descriptionKey, null)); - controller.setIcon(builder.icon); - controller.setOkButtonText(resolveText(builder.okButtonKey, null)); - controller.setCancelButtonText(resolveText(builder.cancelButtonKey, null)); - - controller.setOkAction(() -> builder.okAction.accept(dialogStage)); - controller.setCancelAction(() -> builder.cancelAction.accept(dialogStage)); - - dialogStage.setScene(new Scene(loader.getRoot())); + dialogStage.setScene(new Scene(loaderFactory.load(FxmlFile.SIMPLE_DIALOG.getRessourcePathString()).getRoot())); } public void showAndWait() { diff --git a/src/main/java/org/cryptomator/ui/dialogs/SimpleDialogController.java b/src/main/java/org/cryptomator/ui/dialogs/SimpleDialogController.java index 6a94867cc..0eee1b308 100644 --- a/src/main/java/org/cryptomator/ui/dialogs/SimpleDialogController.java +++ b/src/main/java/org/cryptomator/ui/dialogs/SimpleDialogController.java @@ -2,54 +2,47 @@ package org.cryptomator.ui.dialogs; import org.cryptomator.ui.common.FxController; import org.cryptomator.ui.controls.FontAwesome5Icon; -import org.cryptomator.ui.controls.FontAwesome5IconView; import javafx.fxml.FXML; -import javafx.scene.control.Button; -import javafx.scene.control.Label; public class SimpleDialogController implements FxController { - @FXML - private Label messageLabel; - @FXML - private Label descriptionLabel; - @FXML - private FontAwesome5IconView iconView; - @FXML - private Button okButton; - @FXML - private Button cancelButton; + private final String message; + private final String description; + private final FontAwesome5Icon icon; + private final String okButtonText; + private final String cancelButtonText; + private final Runnable okAction; + private final Runnable cancelAction; - private Runnable okAction; - private Runnable cancelAction; - - public void setMessage(String message) { - messageLabel.setText(message); + public SimpleDialogController(String message, String description, FontAwesome5Icon icon, String okButtonText, String cancelButtonText, Runnable okAction, Runnable cancelAction) { + this.message = message; + this.description = description; + this.icon = icon; + this.okButtonText = okButtonText; + this.cancelButtonText = cancelButtonText; + this.okAction = okAction; + this.cancelAction = cancelAction; } - public void setDescription(String description) { - descriptionLabel.setText(description); + public String getMessage() { + return message; } - public void setIcon(FontAwesome5Icon icon) { - iconView.setGlyph(icon); + public String getDescription() { + return description; } - public void setOkButtonText(String text) { - okButton.setText(text); + public FontAwesome5Icon getIcon() { + return icon; } - public void setCancelButtonText(String text) { - cancelButton.setText(text); + public String getOkButtonText() { + return okButtonText; } - public void setOkAction(Runnable action) { - this.okAction = action; - } - - public void setCancelAction(Runnable action) { - this.cancelAction = action; + public String getCancelButtonText() { + return cancelButtonText; } @FXML diff --git a/src/main/resources/fxml/simple_dialog.fxml b/src/main/resources/fxml/simple_dialog.fxml index 3cb2c38ef..32ad63abf 100644 --- a/src/main/resources/fxml/simple_dialog.fxml +++ b/src/main/resources/fxml/simple_dialog.fxml @@ -28,21 +28,21 @@ - + -