Use Controllers.dialog for AddAuthlibInjectorServerDialog
This commit is contained in:
@@ -21,6 +21,7 @@ import static org.jackhuang.hmcl.ui.FXUtils.loadFXML;
|
|||||||
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
|
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer;
|
import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer;
|
||||||
import org.jackhuang.hmcl.setting.Settings;
|
import org.jackhuang.hmcl.setting.Settings;
|
||||||
@@ -32,16 +33,16 @@ import org.jackhuang.hmcl.ui.construct.SpinnerPane;
|
|||||||
import org.jackhuang.hmcl.util.NetworkUtils;
|
import org.jackhuang.hmcl.util.NetworkUtils;
|
||||||
|
|
||||||
import com.jfoenix.controls.JFXButton;
|
import com.jfoenix.controls.JFXButton;
|
||||||
import com.jfoenix.controls.JFXDialog;
|
|
||||||
import com.jfoenix.controls.JFXDialogLayout;
|
import com.jfoenix.controls.JFXDialogLayout;
|
||||||
import com.jfoenix.controls.JFXTextField;
|
import com.jfoenix.controls.JFXTextField;
|
||||||
|
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.layout.Region;
|
||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
|
|
||||||
public class AddAuthlibInjectorServerDialog extends JFXDialog {
|
public class AddAuthlibInjectorServerPane extends StackPane {
|
||||||
|
|
||||||
@FXML private StackPane addServerContainer;
|
@FXML private StackPane addServerContainer;
|
||||||
@FXML private Label lblServerUrl;
|
@FXML private Label lblServerUrl;
|
||||||
@@ -54,11 +55,14 @@ public class AddAuthlibInjectorServerDialog extends JFXDialog {
|
|||||||
@FXML private SpinnerPane nextPane;
|
@FXML private SpinnerPane nextPane;
|
||||||
@FXML private JFXButton btnAddNext;
|
@FXML private JFXButton btnAddNext;
|
||||||
|
|
||||||
|
private Consumer<Region> finalization;
|
||||||
|
|
||||||
private TransitionHandler transitionHandler;
|
private TransitionHandler transitionHandler;
|
||||||
|
|
||||||
private AuthlibInjectorServer serverBeingAdded;
|
private AuthlibInjectorServer serverBeingAdded;
|
||||||
|
|
||||||
public AddAuthlibInjectorServerDialog() {
|
public AddAuthlibInjectorServerPane(Consumer<Region> finalization) {
|
||||||
|
this.finalization = finalization;
|
||||||
loadFXML(this, "/assets/fxml/authlib-injector-server-add.fxml");
|
loadFXML(this, "/assets/fxml/authlib-injector-server-add.fxml");
|
||||||
transitionHandler = new TransitionHandler(addServerContainer);
|
transitionHandler = new TransitionHandler(addServerContainer);
|
||||||
transitionHandler.setContent(addServerPane, ContainerAnimations.NONE.getAnimationProducer());
|
transitionHandler.setContent(addServerPane, ContainerAnimations.NONE.getAnimationProducer());
|
||||||
@@ -85,7 +89,7 @@ public class AddAuthlibInjectorServerDialog extends JFXDialog {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void onAddCancel() {
|
private void onAddCancel() {
|
||||||
this.close();
|
finalization.accept(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
@@ -122,10 +126,10 @@ public class AddAuthlibInjectorServerDialog extends JFXDialog {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void onAddFinish() {
|
private void onAddFinish() {
|
||||||
if (!Settings.INSTANCE.SETTINGS.authlibInjectorServers.contains(serverBeingAdded)) {
|
if (!Settings.SETTINGS.authlibInjectorServers.contains(serverBeingAdded)) {
|
||||||
Settings.INSTANCE.SETTINGS.authlibInjectorServers.add(serverBeingAdded);
|
Settings.SETTINGS.authlibInjectorServers.add(serverBeingAdded);
|
||||||
}
|
}
|
||||||
this.close();
|
finalization.accept(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -63,9 +63,7 @@ public class AuthlibInjectorServersPage extends StackPane implements DecoratorPa
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void onAdd() {
|
private void onAdd() {
|
||||||
AddAuthlibInjectorServerDialog dialog = new AddAuthlibInjectorServerDialog();
|
Controllers.dialog(new AddAuthlibInjectorServerPane(Controllers::closeDialog));
|
||||||
dialog.setDialogContainer(this);
|
|
||||||
dialog.show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTitle() {
|
public String getTitle() {
|
||||||
|
|||||||
@@ -9,8 +9,7 @@
|
|||||||
|
|
||||||
<fx:root xmlns="http://javafx.com/javafx"
|
<fx:root xmlns="http://javafx.com/javafx"
|
||||||
xmlns:fx="http://javafx.com/fxml"
|
xmlns:fx="http://javafx.com/fxml"
|
||||||
type="JFXDialog">
|
type="StackPane">
|
||||||
<StackPane>
|
|
||||||
<StackPane fx:id="addServerContainer">
|
<StackPane fx:id="addServerContainer">
|
||||||
<JFXDialogLayout fx:id="addServerPane">
|
<JFXDialogLayout fx:id="addServerPane">
|
||||||
<heading>
|
<heading>
|
||||||
@@ -62,5 +61,4 @@
|
|||||||
</actions>
|
</actions>
|
||||||
</JFXDialogLayout>
|
</JFXDialogLayout>
|
||||||
</StackPane>
|
</StackPane>
|
||||||
</StackPane>
|
|
||||||
</fx:root>
|
</fx:root>
|
||||||
|
|||||||
Reference in New Issue
Block a user