@@ -104,7 +104,7 @@ public final class ModListPage extends ListPageBase<ModListPageSkin.ModInfoObjec
|
|||||||
lock.lock();
|
lock.lock();
|
||||||
try {
|
try {
|
||||||
modManager.refreshMods();
|
modManager.refreshMods();
|
||||||
return modManager.getMods();
|
return modManager.getMods().stream().map(ModListPageSkin.ModInfoObject::new).toList();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new UncheckedIOException(e);
|
throw new UncheckedIOException(e);
|
||||||
} finally {
|
} finally {
|
||||||
@@ -114,7 +114,7 @@ public final class ModListPage extends ListPageBase<ModListPageSkin.ModInfoObjec
|
|||||||
updateSupportedLoaders(modManager);
|
updateSupportedLoaders(modManager);
|
||||||
|
|
||||||
if (exception == null) {
|
if (exception == null) {
|
||||||
getItems().setAll(list.stream().map(ModListPageSkin.ModInfoObject::new).toList());
|
getItems().setAll(list);
|
||||||
} else {
|
} else {
|
||||||
LOG.warning("Failed to load mods", exception);
|
LOG.warning("Failed to load mods", exception);
|
||||||
getItems().clear();
|
getItems().clear();
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
package org.jackhuang.hmcl.ui.versions;
|
package org.jackhuang.hmcl.ui.versions;
|
||||||
|
|
||||||
import com.jfoenix.controls.*;
|
import com.jfoenix.controls.*;
|
||||||
import com.jfoenix.controls.datamodels.treetable.RecursiveTreeObject;
|
|
||||||
import javafx.animation.PauseTransition;
|
import javafx.animation.PauseTransition;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.beans.property.BooleanProperty;
|
import javafx.beans.property.BooleanProperty;
|
||||||
@@ -61,7 +60,6 @@ import org.jackhuang.hmcl.util.i18n.I18n;
|
|||||||
import org.jackhuang.hmcl.util.io.CompressingUtils;
|
import org.jackhuang.hmcl.util.io.CompressingUtils;
|
||||||
import org.jackhuang.hmcl.util.io.FileUtils;
|
import org.jackhuang.hmcl.util.io.FileUtils;
|
||||||
import org.jackhuang.hmcl.util.io.NetworkUtils;
|
import org.jackhuang.hmcl.util.io.NetworkUtils;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.lang.ref.SoftReference;
|
import java.lang.ref.SoftReference;
|
||||||
@@ -289,7 +287,7 @@ final class ModListPageSkin extends SkinBase<ModListPage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static final class ModInfoObject extends RecursiveTreeObject<ModInfoObject> implements Comparable<ModInfoObject> {
|
static final class ModInfoObject {
|
||||||
private final BooleanProperty active;
|
private final BooleanProperty active;
|
||||||
private final LocalModFile localModFile;
|
private final LocalModFile localModFile;
|
||||||
private final @Nullable ModTranslations.Mod modTranslations;
|
private final @Nullable ModTranslations.Mod modTranslations;
|
||||||
@@ -403,12 +401,6 @@ final class ModListPageSkin extends SkinBase<ModListPage> {
|
|||||||
imageView.setImage(image);
|
imageView.setImage(image);
|
||||||
}, Schedulers.javafx());
|
}, Schedulers.javafx());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int compareTo(@NotNull ModListPageSkin.ModInfoObject o) {
|
|
||||||
return localModFile.getFileName().toLowerCase(Locale.ROOT)
|
|
||||||
.compareTo(o.localModFile.getFileName().toLowerCase(Locale.ROOT));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final class ModInfoDialog extends JFXDialogLayout {
|
final class ModInfoDialog extends JFXDialogLayout {
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ public final class LocalModFile implements Comparable<LocalModFile> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int compareTo(LocalModFile o) {
|
public int compareTo(LocalModFile o) {
|
||||||
return getFileName().compareTo(o.getFileName());
|
return getFileName().compareToIgnoreCase(o.getFileName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user