diff --git a/.travis.yml b/.travis.yml index 86022d990..9dcc1df26 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,4 +27,3 @@ before_cache: cache: directories: - "$HOME/.gradle/caches/" - - "$HOME/.gradle/wrapper/" diff --git a/HMCL/build.gradle b/HMCL/build.gradle index fa184e84c..657952e7e 100755 --- a/HMCL/build.gradle +++ b/HMCL/build.gradle @@ -17,10 +17,22 @@ */ plugins { id "edu.sc.seis.macAppBundle" version "2.1.6" - id "me.tatarka.retrolambda" version "3.5.0" + //id "me.tatarka.retrolambda" version "3.5.0" id 'edu.sc.seis.launch4j' version '2.3.0' } +buildscript { + repositories { + mavenCentral(); + + dependencies { + classpath 'me.tatarka:gradle-retrolambda:3.1.0' + } + } +} + +apply plugin: 'me.tatarka.retrolambda' + import java.util.jar.JarOutputStream import java.util.zip.ZipEntry import java.util.zip.ZipFile diff --git a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileChangedEvent.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileChangedEvent.java similarity index 81% rename from HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileChangedEvent.java rename to HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileChangedEvent.java index 5fe5451d8..ffb640fbd 100644 --- a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileChangedEvent.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileChangedEvent.java @@ -18,15 +18,16 @@ package org.jackhuang.hellominecraft.launcher.api.event.config; import org.jackhuang.hellominecraft.api.SimpleEvent; +import org.jackhuang.hellominecraft.launcher.setting.Profile; /** * This event gets fired when the selected profile changed. - * @param String the new profile id. + * @param Profile the new profile. * @author huangyuhui */ -public class ProfileChangedEvent extends SimpleEvent { +public class ProfileChangedEvent extends SimpleEvent { - public ProfileChangedEvent(Object source, String value) { + public ProfileChangedEvent(Object source, Profile value) { super(source, value); } diff --git a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileLoadingEvent.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileLoadingEvent.java similarity index 100% rename from HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileLoadingEvent.java rename to HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/api/event/config/ProfileLoadingEvent.java diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Config.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Config.java index 8385107d8..6e0e7cf53 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Config.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Config.java @@ -222,7 +222,7 @@ public final class Config implements Cloneable { theme = 4; decorated = OS.os() == OS.LINUX; auth = new HashMap<>(); - commonpath = MCUtils.getWorkingDirectory("hmcl").getAbsolutePath(); + commonpath = MCUtils.getLocation().getAbsolutePath(); } public DownloadType getDownloadSource() { diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Settings.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Settings.java index 316730fed..2c1f4e3c3 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Settings.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Settings.java @@ -161,7 +161,7 @@ public final class Settings { Profile p = getLastProfile(); if (p == null) throw new Error("No profiles here, it should not happen"); - HMCAPI.EVENT_BUS.fireChannel(new ProfileChangedEvent(SETTINGS, p.getName())); + HMCAPI.EVENT_BUS.fireChannel(new ProfileChangedEvent(SETTINGS, p)); p.onSelected(); } diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.java index 1dd6ef6b5..7f5082761 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.java @@ -1492,7 +1492,7 @@ public final class GameSettingsPanel extends RepaintPage implements DropTargetLi } final Consumer onSelectedProfilesChanged = event -> { - Profile t = Settings.getProfile(event.getValue()); + Profile t = event.getValue(); t.propertyChanged.register(e -> { if ("selectedMinecraftVersion".equals(e.getPropertyName())) versionChanged(e.getNewValue()); diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/LauncherSettingsPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/LauncherSettingsPanel.form index 274b60515..72f58f42b 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/LauncherSettingsPanel.form +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/LauncherSettingsPanel.form @@ -392,6 +392,9 @@ + + + diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/LauncherSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/LauncherSettingsPanel.java index f74b7c552..fff863eff 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/LauncherSettingsPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/LauncherSettingsPanel.java @@ -259,6 +259,11 @@ public class LauncherSettingsPanel extends RepaintPage { lblCommonPath.setText(C.i18n("launcher.common_location")); // NOI18N txtCommonPath.setToolTipText(C.i18n("launcher.commpath_tooltip")); // NOI18N + txtCommonPath.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusLost(java.awt.event.FocusEvent evt) { + txtCommonPathFocusLost(evt); + } + }); btnSetCommonPath.setText(C.i18n("ui.button.explore")); // NOI18N btnSetCommonPath.addActionListener(new java.awt.event.ActionListener() { @@ -490,6 +495,10 @@ public class LauncherSettingsPanel extends RepaintPage { } }//GEN-LAST:event_btnSetCommonPathActionPerformed + private void txtCommonPathFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtCommonPathFocusLost + Settings.getInstance().setCommonpath(txtCommonPath.getText()); + }//GEN-LAST:event_txtCommonPathFocusLost + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnCheckUpdate; private javax.swing.JButton btnMCBBS; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/MainPagePanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/MainPagePanel.java index 5487c4e84..a151f4eb5 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/MainPagePanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/MainPagePanel.java @@ -530,7 +530,7 @@ public class MainPagePanel extends Page { } final Consumer onSelectedProfilesChanged = event -> { - Profile t = Settings.getProfile(event.getValue()); + Profile t = event.getValue(); t.propertyChanged.register(e -> { if ("selectedMinecraftVersion".equals(e.getPropertyName())) versionChanged(e.getNewValue());