diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/LocalModpackPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/LocalModpackPage.java index 3b8525b06..eb9e3f441 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/LocalModpackPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/LocalModpackPage.java @@ -36,6 +36,7 @@ import org.jackhuang.hmcl.ui.construct.MessageDialogPane; import org.jackhuang.hmcl.ui.construct.RequiredValidator; import org.jackhuang.hmcl.ui.construct.Validator; import org.jackhuang.hmcl.ui.wizard.WizardController; +import org.jackhuang.hmcl.util.StringUtils; import org.jackhuang.hmcl.util.io.CompressingUtils; import org.jackhuang.hmcl.util.io.FileUtils; @@ -79,6 +80,8 @@ public final class LocalModpackPage extends ModpackPage { }); } + btnDescription.setVisible(false); + File selectedFile; Optional filePath = tryCast(controller.getSettings().get(MODPACK_FILE), File.class); if (filePath.isPresent()) { @@ -134,6 +137,8 @@ public final class LocalModpackPage extends ModpackPage { // trim: https://github.com/HMCL-dev/HMCL/issues/962 txtModpackName.setText(manifest.getName().trim()); } + + btnDescription.setVisible(StringUtils.isNotBlank(manifest.getDescription())); } }).start(); } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackPage.java index c54317e41..107429813 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackPage.java @@ -24,6 +24,7 @@ public abstract class ModpackPage extends SpinnerPane implements WizardPage { protected final Label lblAuthor; protected final JFXTextField txtModpackName; protected final JFXButton btnInstall; + protected final JFXButton btnDescription; protected ModpackPage(WizardController controller) { this.controller = controller; @@ -77,7 +78,7 @@ public abstract class ModpackPage extends SpinnerPane implements WizardPage { BorderPane descriptionPane = new BorderPane(); { - JFXButton btnDescription = new JFXButton(i18n("modpack.description")); + btnDescription = new JFXButton(i18n("modpack.description")); btnDescription.getStyleClass().add("jfx-button-border"); btnDescription.setOnAction(e -> onDescribe()); descriptionPane.setLeft(btnDescription); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/RemoteModpackPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/RemoteModpackPage.java index b29583fd3..1123f3fd8 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/RemoteModpackPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/RemoteModpackPage.java @@ -27,6 +27,7 @@ import org.jackhuang.hmcl.ui.construct.MessageDialogPane; import org.jackhuang.hmcl.ui.construct.RequiredValidator; import org.jackhuang.hmcl.ui.construct.Validator; import org.jackhuang.hmcl.ui.wizard.WizardController; +import org.jackhuang.hmcl.util.StringUtils; import java.io.IOException; import java.util.Map; @@ -69,6 +70,8 @@ public final class RemoteModpackPage extends ModpackPage { new Validator(i18n("install.new_game.already_exists"), str -> !profile.getRepository().versionIdConflicts(str)), new Validator(i18n("install.new_game.malformed"), HMCLGameRepository::isValidVersionId)); } + + btnDescription.setVisible(StringUtils.isNotBlank(manifest.getDescription())); } @Override