From 76a04343d91c21787eba0c409202c0bfa444e6d1 Mon Sep 17 00:00:00 2001 From: yushijinhun Date: Sat, 7 Jul 2018 18:03:21 +0800 Subject: [PATCH] Use Controllers.dialog for AddAuthlibInjectorServerDialog --- ...java => AddAuthlibInjectorServerPane.java} | 18 ++-- .../hmcl/ui/AuthlibInjectorServersPage.java | 4 +- .../fxml/authlib-injector-server-add.fxml | 102 +++++++++--------- 3 files changed, 62 insertions(+), 62 deletions(-) rename HMCL/src/main/java/org/jackhuang/hmcl/ui/{AddAuthlibInjectorServerDialog.java => AddAuthlibInjectorServerPane.java} (89%) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AddAuthlibInjectorServerDialog.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/AddAuthlibInjectorServerPane.java similarity index 89% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/AddAuthlibInjectorServerDialog.java rename to HMCL/src/main/java/org/jackhuang/hmcl/ui/AddAuthlibInjectorServerPane.java index 2b0ade607..7d0f7fe50 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AddAuthlibInjectorServerDialog.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/AddAuthlibInjectorServerPane.java @@ -21,6 +21,7 @@ import static org.jackhuang.hmcl.ui.FXUtils.loadFXML; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; import java.io.IOException; +import java.util.function.Consumer; import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer; import org.jackhuang.hmcl.setting.Settings; @@ -32,16 +33,16 @@ import org.jackhuang.hmcl.ui.construct.SpinnerPane; import org.jackhuang.hmcl.util.NetworkUtils; import com.jfoenix.controls.JFXButton; -import com.jfoenix.controls.JFXDialog; import com.jfoenix.controls.JFXDialogLayout; import com.jfoenix.controls.JFXTextField; import javafx.beans.binding.Bindings; import javafx.fxml.FXML; import javafx.scene.control.Label; +import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; -public class AddAuthlibInjectorServerDialog extends JFXDialog { +public class AddAuthlibInjectorServerPane extends StackPane { @FXML private StackPane addServerContainer; @FXML private Label lblServerUrl; @@ -54,11 +55,14 @@ public class AddAuthlibInjectorServerDialog extends JFXDialog { @FXML private SpinnerPane nextPane; @FXML private JFXButton btnAddNext; + private Consumer finalization; + private TransitionHandler transitionHandler; private AuthlibInjectorServer serverBeingAdded; - public AddAuthlibInjectorServerDialog() { + public AddAuthlibInjectorServerPane(Consumer finalization) { + this.finalization = finalization; loadFXML(this, "/assets/fxml/authlib-injector-server-add.fxml"); transitionHandler = new TransitionHandler(addServerContainer); transitionHandler.setContent(addServerPane, ContainerAnimations.NONE.getAnimationProducer()); @@ -85,7 +89,7 @@ public class AddAuthlibInjectorServerDialog extends JFXDialog { @FXML private void onAddCancel() { - this.close(); + finalization.accept(this); } @FXML @@ -122,10 +126,10 @@ public class AddAuthlibInjectorServerDialog extends JFXDialog { @FXML private void onAddFinish() { - if (!Settings.INSTANCE.SETTINGS.authlibInjectorServers.contains(serverBeingAdded)) { - Settings.INSTANCE.SETTINGS.authlibInjectorServers.add(serverBeingAdded); + if (!Settings.SETTINGS.authlibInjectorServers.contains(serverBeingAdded)) { + Settings.SETTINGS.authlibInjectorServers.add(serverBeingAdded); } - this.close(); + finalization.accept(this); } } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AuthlibInjectorServersPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/AuthlibInjectorServersPage.java index 4bf95687a..ab1825ff6 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AuthlibInjectorServersPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/AuthlibInjectorServersPage.java @@ -63,9 +63,7 @@ public class AuthlibInjectorServersPage extends StackPane implements DecoratorPa @FXML private void onAdd() { - AddAuthlibInjectorServerDialog dialog = new AddAuthlibInjectorServerDialog(); - dialog.setDialogContainer(this); - dialog.show(); + Controllers.dialog(new AddAuthlibInjectorServerPane(Controllers::closeDialog)); } public String getTitle() { diff --git a/HMCL/src/main/resources/assets/fxml/authlib-injector-server-add.fxml b/HMCL/src/main/resources/assets/fxml/authlib-injector-server-add.fxml index 97cac357d..788bbd55b 100644 --- a/HMCL/src/main/resources/assets/fxml/authlib-injector-server-add.fxml +++ b/HMCL/src/main/resources/assets/fxml/authlib-injector-server-add.fxml @@ -9,58 +9,56 @@ - - - - - - - - - - - - - - - - - - - - + type="StackPane"> + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +