Fixed font in dialog accept and cancel button. Closes #291

This commit is contained in:
huanghongxun
2018-02-23 14:53:08 +08:00
parent a52cc8c093
commit b11e4ab1db
15 changed files with 49 additions and 30 deletions

View File

@@ -85,7 +85,7 @@ public class HMCLModpackExportTask extends TaskResult<ZipEngine> {
return null; return null;
}); });
Version mv = repository.getVersion(version).resolve(repository); Version mv = repository.getResolvedVersion(version);
String gameVersion = GameVersion.minecraftVersion(repository.getVersionJar(version)) String gameVersion = GameVersion.minecraftVersion(repository.getVersionJar(version))
.orElseThrow(() -> new IllegalStateException("Cannot parse the version of " + version)); .orElseThrow(() -> new IllegalStateException("Cannot parse the version of " + version));
zip.putTextFile(Constants.GSON.toJson(mv.setJar(gameVersion)), "minecraft/pack.json"); // Making "jar" to gameVersion is to be compatible with old HMCL. zip.putTextFile(Constants.GSON.toJson(mv.setJar(gameVersion)), "minecraft/pack.json"); // Making "jar" to gameVersion is to be compatible with old HMCL.

View File

@@ -77,7 +77,7 @@ public final class LauncherHelper {
Profile profile = Settings.INSTANCE.getSelectedProfile(); Profile profile = Settings.INSTANCE.getSelectedProfile();
GameRepository repository = profile.getRepository(); GameRepository repository = profile.getRepository();
DefaultDependencyManager dependencyManager = profile.getDependency(); DefaultDependencyManager dependencyManager = profile.getDependency();
Version version = repository.getVersion(selectedVersion).resolve(repository); Version version = repository.getResolvedVersion(selectedVersion);
Account account = Settings.INSTANCE.getSelectedAccount(); Account account = Settings.INSTANCE.getSelectedAccount();
VersionSetting setting = profile.getVersionSetting(selectedVersion); VersionSetting setting = profile.getVersionSetting(selectedVersion);
Optional<String> gameVersion = GameVersion.minecraftVersion(repository.getVersionJar(version)); Optional<String> gameVersion = GameVersion.minecraftVersion(repository.getVersionJar(version));
@@ -156,9 +156,7 @@ public final class LauncherHelper {
@Override @Override
public void onStop(boolean success, TaskExecutor executor) { public void onStop(boolean success, TaskExecutor executor) {
if (success) { if (!success) {
Controllers.closeDialog();
} else {
Platform.runLater(() -> { Platform.runLater(() -> {
if (executor.getLastException() != null) if (executor.getLastException() != null)
Controllers.dialog(I18nException.getStackTrace(executor.getLastException()), Controllers.dialog(I18nException.getStackTrace(executor.getLastException()),

View File

@@ -53,7 +53,7 @@ public class InstallerController {
public void loadVersion(Profile profile, String versionId) { public void loadVersion(Profile profile, String versionId) {
this.profile = profile; this.profile = profile;
this.versionId = versionId; this.versionId = versionId;
this.version = profile.getRepository().getVersion(versionId).resolve(profile.getRepository()); this.version = profile.getRepository().getResolvedVersion(versionId);
contentPane.getChildren().clear(); contentPane.getChildren().clear();
forge = liteLoader = optiFine = null; forge = liteLoader = optiFine = null;

View File

@@ -161,7 +161,7 @@ public final class VersionPage extends StackPane implements DecoratorPage {
deleteVersion(profile, version); deleteVersion(profile, version);
break; break;
case 2: // redownload asset index case 2: // redownload asset index
new GameAssetIndexDownloadTask(profile.getDependency(), profile.getRepository().getVersion(version).resolve(profile.getRepository())).start(); new GameAssetIndexDownloadTask(profile.getDependency(), profile.getRepository().getResolvedVersion(version)).start();
break; break;
case 3: // delete libraries case 3: // delete libraries
FileUtils.deleteDirectoryQuietly(new File(profile.getRepository().getBaseDirectory(), "libraries")); FileUtils.deleteDirectoryQuietly(new File(profile.getRepository().getBaseDirectory(), "libraries"));

View File

@@ -4,7 +4,8 @@
*/ */
.root { .root {
-fx-font-family: "微软雅黑", "Microsoft YaHei", "Roboto"; -fx-base-font-family: "微软雅黑", "Microsoft YaHei", "Roboto";
-fx-font-family: -fx-base-font-family;
} }
.disabled Label { .disabled Label {
@@ -129,7 +130,7 @@
.jfx-layout-heading { .jfx-layout-heading {
-fx-font-size: 20.0px; -fx-font-size: 20.0px;
-fx-font-weight: BOLD; -fx-font-family: -fx-base-font-family;
-fx-alignment: center-left; -fx-alignment: center-left;
-fx-padding: 5.0 0.0 5.0 0.0; -fx-padding: 5.0 0.0 5.0 0.0;
} }
@@ -152,12 +153,12 @@
.dialog-accept { .dialog-accept {
-fx-text-fill: #03A9F4; -fx-text-fill: #03A9F4;
-fx-font-weight: BOLD; -fx-font-family: -fx-base-font-family;
-fx-padding: 0.7em 0.8em; -fx-padding: 0.7em 0.8em;
} }
.dialog-cancel { .dialog-cancel {
-fx-font-weight: BOLD; -fx-font-family: -fx-base-font-family;
-fx-padding: 0.7em 0.8em; -fx-padding: 0.7em 0.8em;
} }

View File

@@ -55,7 +55,7 @@ public final class GameAssetDownloadTask extends Task {
*/ */
public GameAssetDownloadTask(AbstractDependencyManager dependencyManager, Version version) { public GameAssetDownloadTask(AbstractDependencyManager dependencyManager, Version version) {
this.dependencyManager = dependencyManager; this.dependencyManager = dependencyManager;
this.version = version; this.version = version.requireResolved();
this.refreshTask = new GameAssetRefreshTask(dependencyManager, version); this.refreshTask = new GameAssetRefreshTask(dependencyManager, version);
this.dependents.add(refreshTask); this.dependents.add(refreshTask);
} }

View File

@@ -49,7 +49,7 @@ public final class GameAssetIndexDownloadTask extends Task {
*/ */
public GameAssetIndexDownloadTask(AbstractDependencyManager dependencyManager, Version version) { public GameAssetIndexDownloadTask(AbstractDependencyManager dependencyManager, Version version) {
this.dependencyManager = dependencyManager; this.dependencyManager = dependencyManager;
this.version = version; this.version = version.requireResolved();
setSignificance(TaskSignificance.MODERATE); setSignificance(TaskSignificance.MODERATE);
} }

View File

@@ -54,7 +54,7 @@ public final class GameAssetRefreshTask extends TaskResult<Collection<Pair<File,
*/ */
public GameAssetRefreshTask(AbstractDependencyManager dependencyManager, Version version) { public GameAssetRefreshTask(AbstractDependencyManager dependencyManager, Version version) {
this.dependencyManager = dependencyManager; this.dependencyManager = dependencyManager;
this.version = version; this.version = version.requireResolved();
this.assetIndexInfo = version.getAssetIndex(); this.assetIndexInfo = version.getAssetIndex();
this.assetIndexFile = dependencyManager.getGameRepository().getIndexFile(version.getId(), assetIndexInfo.getId()); this.assetIndexFile = dependencyManager.getGameRepository().getIndexFile(version.getId(), assetIndexInfo.getId());

View File

@@ -48,7 +48,7 @@ public final class GameLibrariesTask extends Task {
*/ */
public GameLibrariesTask(AbstractDependencyManager dependencyManager, Version version) { public GameLibrariesTask(AbstractDependencyManager dependencyManager, Version version) {
this.dependencyManager = dependencyManager; this.dependencyManager = dependencyManager;
this.version = version; this.version = version.requireResolved();
setSignificance(TaskSignificance.MODERATE); setSignificance(TaskSignificance.MODERATE);
} }

View File

@@ -49,7 +49,7 @@ public final class GameLoggingDownloadTask extends Task {
*/ */
public GameLoggingDownloadTask(DependencyManager dependencyManager, Version version) { public GameLoggingDownloadTask(DependencyManager dependencyManager, Version version) {
this.dependencyManager = dependencyManager; this.dependencyManager = dependencyManager;
this.version = version; this.version = version.requireResolved();
setSignificance(TaskSignificance.MODERATE); setSignificance(TaskSignificance.MODERATE);
} }

View File

@@ -44,7 +44,7 @@ public final class VersionJsonSaveTask extends Task {
*/ */
public VersionJsonSaveTask(DefaultGameRepository repository, Version version) { public VersionJsonSaveTask(DefaultGameRepository repository, Version version) {
this.repository = repository; this.repository = repository;
this.version = version; this.version = version.requireResolved();
setSignificance(TaskSignificance.MODERATE); setSignificance(TaskSignificance.MODERATE);
} }

View File

@@ -29,7 +29,7 @@ import java.util.Date;
public class ClassicVersion extends Version { public class ClassicVersion extends Version {
public ClassicVersion() { public ClassicVersion() {
super("Classic", "${auth_player_name} ${auth_session} --workDir ${game_directory}", super(true, "Classic", "${auth_player_name} ${auth_session} --workDir ${game_directory}",
null, "net.minecraft.client.Minecraft", null, null, null, null, null, "net.minecraft.client.Minecraft", null, null, null, null,
Arrays.asList(new ClassicLibrary("lwjgl"), new ClassicLibrary("jinput"), new ClassicLibrary("lwjgl_util")), Arrays.asList(new ClassicLibrary("lwjgl"), new ClassicLibrary("jinput"), new ClassicLibrary("lwjgl_util")),
null, null, null, ReleaseType.UNKNOWN, new Date(), new Date(), 0); null, null, null, ReleaseType.UNKNOWN, new Date(), new Date(), 0);

View File

@@ -52,6 +52,10 @@ public interface GameRepository extends VersionProvider {
@Override @Override
Version getVersion(String id) throws VersionNotFoundException; Version getVersion(String id) throws VersionNotFoundException;
default Version getResolvedVersion(String id) throws VersionNotFoundException {
return getVersion(id).resolve(this);
}
/** /**
* How many version are there? * How many version are there?
*/ */

View File

@@ -47,7 +47,10 @@ public class Version implements Comparable<Version>, Validation {
private final Date releaseTime; private final Date releaseTime;
private final int minimumLauncherVersion; private final int minimumLauncherVersion;
public Version(String id, String minecraftArguments, Arguments arguments, String mainClass, String inheritsFrom, String jar, AssetIndexInfo assetIndex, String assets, List<Library> libraries, List<CompatibilityRule> compatibilityRules, Map<DownloadType, DownloadInfo> downloads, Map<DownloadType, LoggingInfo> logging, ReleaseType type, Date time, Date releaseTime, int minimumLauncherVersion) { private transient final boolean resolved;
public Version(boolean resolved, String id, String minecraftArguments, Arguments arguments, String mainClass, String inheritsFrom, String jar, AssetIndexInfo assetIndex, String assets, List<Library> libraries, List<CompatibilityRule> compatibilityRules, Map<DownloadType, DownloadInfo> downloads, Map<DownloadType, LoggingInfo> logging, ReleaseType type, Date time, Date releaseTime, int minimumLauncherVersion) {
this.resolved = resolved;
this.id = id; this.id = id;
this.minecraftArguments = minecraftArguments; this.minecraftArguments = minecraftArguments;
this.arguments = arguments; this.arguments = arguments;
@@ -140,11 +143,18 @@ public class Version implements Comparable<Version>, Validation {
return false; return false;
} }
public Version requireResolved() {
if (!resolved)
throw new RuntimeException("Version not resolved");
return this;
}
/** /**
* Resolve given version * Resolve given version
*/ */
public Version resolve(VersionProvider provider) throws VersionNotFoundException { public Version resolve(VersionProvider provider) throws VersionNotFoundException {
return resolve(provider, new HashSet<>()); return resolve(provider, new HashSet<>()).setResolved(true);
} }
protected Version resolve(VersionProvider provider, Set<String> resolvedSoFar) throws VersionNotFoundException { protected Version resolve(VersionProvider provider, Set<String> resolvedSoFar) throws VersionNotFoundException {
@@ -159,7 +169,9 @@ public class Version implements Comparable<Version>, Validation {
// It is supposed to auto install an version in getVersion. // It is supposed to auto install an version in getVersion.
Version parent = provider.getVersion(inheritsFrom).resolve(provider, resolvedSoFar); Version parent = provider.getVersion(inheritsFrom).resolve(provider, resolvedSoFar);
return new Version(id, return new Version(
true,
id,
minecraftArguments == null ? parent.minecraftArguments : minecraftArguments, minecraftArguments == null ? parent.minecraftArguments : minecraftArguments,
Arguments.merge(parent.arguments, arguments), Arguments.merge(parent.arguments, arguments),
mainClass == null ? parent.mainClass : mainClass, mainClass == null ? parent.mainClass : mainClass,
@@ -177,36 +189,40 @@ public class Version implements Comparable<Version>, Validation {
Math.max(minimumLauncherVersion, parent.minimumLauncherVersion)); Math.max(minimumLauncherVersion, parent.minimumLauncherVersion));
} }
public Version setResolved(boolean resolved) {
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
}
public Version setId(String id) { public Version setId(String id) {
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion); return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
} }
public Version setMinecraftArguments(String minecraftArguments) { public Version setMinecraftArguments(String minecraftArguments) {
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion); return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
} }
public Version setArguments(Arguments arguments) { public Version setArguments(Arguments arguments) {
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion); return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
} }
public Version setMainClass(String mainClass) { public Version setMainClass(String mainClass) {
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion); return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
} }
public Version setInheritsFrom(String inheritsFrom) { public Version setInheritsFrom(String inheritsFrom) {
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion); return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
} }
public Version setJar(String jar) { public Version setJar(String jar) {
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion); return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
} }
public Version setLibraries(List<Library> libraries) { public Version setLibraries(List<Library> libraries) {
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion); return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
} }
public Version setLogging(Map<DownloadType, LoggingInfo> logging) { public Version setLogging(Map<DownloadType, LoggingInfo> logging) {
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion); return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public abstract class Launcher {
this.listener = listener; this.listener = listener;
this.daemon = daemon; this.daemon = daemon;
version = repository.getVersion(versionId).resolve(repository); version = repository.getResolvedVersion(versionId);
} }
/** /**