* Fix #3852 修复无法一键更新整合包 * 删除未使用的import * fix checkstyle --------- Co-authored-by: Glavo <zjx001202@gmail.com>
This commit is contained in:
@@ -43,7 +43,10 @@ import org.jackhuang.hmcl.ui.construct.TabControl;
|
|||||||
import org.jackhuang.hmcl.ui.construct.TabHeader;
|
import org.jackhuang.hmcl.ui.construct.TabHeader;
|
||||||
import org.jackhuang.hmcl.ui.decorator.DecoratorAnimatedPage;
|
import org.jackhuang.hmcl.ui.decorator.DecoratorAnimatedPage;
|
||||||
import org.jackhuang.hmcl.ui.decorator.DecoratorPage;
|
import org.jackhuang.hmcl.ui.decorator.DecoratorPage;
|
||||||
import org.jackhuang.hmcl.ui.versions.*;
|
import org.jackhuang.hmcl.ui.versions.DownloadListPage;
|
||||||
|
import org.jackhuang.hmcl.ui.versions.HMCLLocalizedDownloadListPage;
|
||||||
|
import org.jackhuang.hmcl.ui.versions.VersionPage;
|
||||||
|
import org.jackhuang.hmcl.ui.versions.Versions;
|
||||||
import org.jackhuang.hmcl.ui.wizard.Navigation;
|
import org.jackhuang.hmcl.ui.wizard.Navigation;
|
||||||
import org.jackhuang.hmcl.ui.wizard.WizardController;
|
import org.jackhuang.hmcl.ui.wizard.WizardController;
|
||||||
import org.jackhuang.hmcl.ui.wizard.WizardProvider;
|
import org.jackhuang.hmcl.ui.wizard.WizardProvider;
|
||||||
@@ -54,8 +57,8 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.CancellationException;
|
import java.util.concurrent.CancellationException;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
@@ -76,10 +79,16 @@ public class DownloadPage extends DecoratorAnimatedPage implements DecoratorPage
|
|||||||
private WeakListenerHolder listenerHolder;
|
private WeakListenerHolder listenerHolder;
|
||||||
|
|
||||||
public DownloadPage() {
|
public DownloadPage() {
|
||||||
|
this(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DownloadPage(String uploadVersion) {
|
||||||
newGameTab.setNodeSupplier(loadVersionFor(() -> new VersionsPage(versionPageNavigator, i18n("install.installer.choose", i18n("install.installer.game")), "", DownloadProviders.getDownloadProvider(),
|
newGameTab.setNodeSupplier(loadVersionFor(() -> new VersionsPage(versionPageNavigator, i18n("install.installer.choose", i18n("install.installer.game")), "", DownloadProviders.getDownloadProvider(),
|
||||||
"game", versionPageNavigator::onGameSelected)));
|
"game", versionPageNavigator::onGameSelected)));
|
||||||
modpackTab.setNodeSupplier(loadVersionFor(() -> {
|
modpackTab.setNodeSupplier(loadVersionFor(() -> {
|
||||||
DownloadListPage page = HMCLLocalizedDownloadListPage.ofModPack(Versions::downloadModpackImpl, false);
|
DownloadListPage page = HMCLLocalizedDownloadListPage.ofModPack((profile, __, file) -> {
|
||||||
|
Versions.downloadModpackImpl(profile, uploadVersion, file);
|
||||||
|
}, false);
|
||||||
|
|
||||||
JFXButton installLocalModpackButton = FXUtils.newRaisedButton(i18n("install.modpack"));
|
JFXButton installLocalModpackButton = FXUtils.newRaisedButton(i18n("install.modpack"));
|
||||||
installLocalModpackButton.setOnAction(e -> Versions.importModpack());
|
installLocalModpackButton.setOnAction(e -> Versions.importModpack());
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ import java.util.Map;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import static org.jackhuang.hmcl.ui.download.LocalModpackPage.MODPACK_FILE;
|
import static org.jackhuang.hmcl.ui.download.LocalModpackPage.MODPACK_FILE;
|
||||||
|
import static org.jackhuang.hmcl.ui.download.LocalModpackPage.MODPACK_NAME;
|
||||||
import static org.jackhuang.hmcl.ui.download.RemoteModpackPage.MODPACK_SERVER_MANIFEST;
|
import static org.jackhuang.hmcl.ui.download.RemoteModpackPage.MODPACK_SERVER_MANIFEST;
|
||||||
import static org.jackhuang.hmcl.util.Lang.tryCast;
|
import static org.jackhuang.hmcl.util.Lang.tryCast;
|
||||||
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
|
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
|
||||||
@@ -170,7 +171,8 @@ public final class ModpackSelectionPage extends VBox implements WizardPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onChooseRepository() {
|
public void onChooseRepository() {
|
||||||
DownloadPage downloadPage = new DownloadPage();
|
String modPackName = (String) controller.getSettings().get(MODPACK_NAME);
|
||||||
|
DownloadPage downloadPage = new DownloadPage(modPackName);
|
||||||
downloadPage.showModpackDownloads();
|
downloadPage.showModpackDownloads();
|
||||||
Controllers.navigate(downloadPage);
|
Controllers.navigate(downloadPage);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,11 @@ public final class Versions {
|
|||||||
new FileDownloadTask(downloadURL, modpack.toFile())
|
new FileDownloadTask(downloadURL, modpack.toFile())
|
||||||
.whenComplete(Schedulers.javafx(), e -> {
|
.whenComplete(Schedulers.javafx(), e -> {
|
||||||
if (e == null) {
|
if (e == null) {
|
||||||
|
if (version != null) {
|
||||||
|
Controllers.getDecorator().startWizard(new ModpackInstallWizardProvider(profile, modpack.toFile(), version));
|
||||||
|
} else {
|
||||||
Controllers.getDecorator().startWizard(new ModpackInstallWizardProvider(profile, modpack.toFile()));
|
Controllers.getDecorator().startWizard(new ModpackInstallWizardProvider(profile, modpack.toFile()));
|
||||||
|
}
|
||||||
} else if (e instanceof CancellationException) {
|
} else if (e instanceof CancellationException) {
|
||||||
Controllers.showToast(i18n("message.cancelled"));
|
Controllers.showToast(i18n("message.cancelled"));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user