diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/ListPageSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/ListPageSkin.java index 874fc743f..822a07668 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/ListPageSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/ListPageSkin.java @@ -39,6 +39,7 @@ public class ListPageSkin extends SkinBase> { SpinnerPane spinnerPane = new SpinnerPane(); spinnerPane.getStyleClass().add("large-spinner-pane"); Pane placeholder = new Pane(); + VBox list = new VBox(); StackPane contentPane = new StackPane(); { @@ -46,10 +47,8 @@ public class ListPageSkin extends SkinBase> { { scrollPane.setFitToWidth(true); - VBox list = new VBox(); list.maxWidthProperty().bind(scrollPane.widthProperty()); list.setSpacing(10); - list.setPadding(new Insets(10)); VBox content = new VBox(); content.getChildren().setAll(list, placeholder); @@ -87,8 +86,13 @@ public class ListPageSkin extends SkinBase> { FXUtils.onChangeAndOperate(skinnable.refreshableProperty(), refreshable -> { - if (refreshable) vBox.getChildren().setAll(btnRefresh, btnAdd); - else vBox.getChildren().setAll(btnAdd); + if (refreshable) { + list.setPadding(new Insets(10, 10, 15 + 40 + 15 + 40 + 15, 10)); + vBox.getChildren().setAll(btnRefresh, btnAdd); + } else { + list.setPadding(new Insets(10, 10, 15 + 40 + 15, 10)); + vBox.getChildren().setAll(btnAdd); + } }); } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AuthlibInjectorServersPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AuthlibInjectorServersPage.java index 588f62a80..6e615af3d 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AuthlibInjectorServersPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AuthlibInjectorServersPage.java @@ -27,6 +27,7 @@ import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer; import org.jackhuang.hmcl.ui.Controllers; +import org.jackhuang.hmcl.ui.ListPage; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; import org.jackhuang.hmcl.util.javafx.MappedObservableList; @@ -35,21 +36,14 @@ import static org.jackhuang.hmcl.ui.FXUtils.loadFXML; import static org.jackhuang.hmcl.ui.FXUtils.smoothScrolling; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; -public class AuthlibInjectorServersPage extends StackPane implements DecoratorPage { +public class AuthlibInjectorServersPage extends ListPage implements DecoratorPage { private final ReadOnlyStringWrapper title = new ReadOnlyStringWrapper(this, "title", i18n("account.injector.manage.title")); - @FXML private ScrollPane scrollPane; - @FXML private VBox listPane; - @FXML private StackPane contentPane; - - private ObservableList serverItems; + private final ObservableList serverItems; public AuthlibInjectorServersPage() { - loadFXML(this, "/assets/fxml/authlib-injector-servers.fxml"); - smoothScrolling(scrollPane); - serverItems = MappedObservableList.create(config().getAuthlibInjectorServers(), this::createServerItem); - Bindings.bindContent(listPane.getChildren(), serverItems); + Bindings.bindContent(itemsProperty(), serverItems); } private AuthlibInjectorServerItem createServerItem(AuthlibInjectorServer server) { @@ -57,8 +51,8 @@ public class AuthlibInjectorServersPage extends StackPane implements DecoratorPa item -> config().getAuthlibInjectorServers().remove(item.getServer())); } - @FXML - private void onAdd() { + @Override + public void add() { Controllers.dialog(new AddAuthlibInjectorServerPane()); } diff --git a/HMCL/src/main/resources/assets/fxml/authlib-injector-servers.fxml b/HMCL/src/main/resources/assets/fxml/authlib-injector-servers.fxml deleted file mode 100644 index 43fb262d1..000000000 --- a/HMCL/src/main/resources/assets/fxml/authlib-injector-servers.fxml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/HMCL/src/main/resources/assets/fxml/download/additional-installers.fxml b/HMCL/src/main/resources/assets/fxml/download/additional-installers.fxml index e2a11972b..115fca5f7 100644 --- a/HMCL/src/main/resources/assets/fxml/download/additional-installers.fxml +++ b/HMCL/src/main/resources/assets/fxml/download/additional-installers.fxml @@ -19,7 +19,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -43,7 +43,7 @@ - + diff --git a/HMCL/src/main/resources/assets/fxml/download/installers.fxml b/HMCL/src/main/resources/assets/fxml/download/installers.fxml index 2b6d20360..a299dce6f 100644 --- a/HMCL/src/main/resources/assets/fxml/download/installers.fxml +++ b/HMCL/src/main/resources/assets/fxml/download/installers.fxml @@ -19,7 +19,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -43,7 +43,7 @@ - +