mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-09-09 20:06:39 -04:00
fix: onWeakChange should return ChangeListener instead of WeakChangeListener.
This commit is contained in:
parent
23750e1222
commit
03df019638
@ -117,9 +117,9 @@ public final class FXUtils {
|
||||
value.addListener((a, b, c) -> consumer.accept(c));
|
||||
}
|
||||
|
||||
public static <T> WeakChangeListener<T> onWeakChange(ObservableValue<T> value, Consumer<T> consumer) {
|
||||
WeakChangeListener<T> listener = new WeakChangeListener<>((a, b, c) -> consumer.accept(c));
|
||||
value.addListener(listener);
|
||||
public static <T> ChangeListener<T> onWeakChange(ObservableValue<T> value, Consumer<T> consumer) {
|
||||
ChangeListener<T> listener = (a, b, c) -> consumer.accept(c);
|
||||
value.addListener(new WeakChangeListener<>(listener));
|
||||
return listener;
|
||||
}
|
||||
|
||||
@ -128,7 +128,7 @@ public final class FXUtils {
|
||||
onChange(value, consumer);
|
||||
}
|
||||
|
||||
public static <T> WeakChangeListener<T> onWeakChangeAndOperate(ObservableValue<T> value, Consumer<T> consumer) {
|
||||
public static <T> ChangeListener<T> onWeakChangeAndOperate(ObservableValue<T> value, Consumer<T> consumer) {
|
||||
consumer.accept(value.getValue());
|
||||
return onWeakChange(value, consumer);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ import javafx.application.Platform;
|
||||
import javafx.beans.InvalidationListener;
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.*;
|
||||
import javafx.beans.value.WeakChangeListener;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.css.PseudoClass;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.geometry.Pos;
|
||||
@ -83,7 +83,7 @@ public final class LogWindow extends Stage {
|
||||
}
|
||||
};
|
||||
private final LogWindowImpl impl = new LogWindowImpl();
|
||||
private final WeakChangeListener<Number> logLinesListener = FXUtils.onWeakChange(config().logLinesProperty(), logLines -> checkLogCount());
|
||||
private final ChangeListener<Number> logLinesListener = FXUtils.onWeakChange(config().logLinesProperty(), logLines -> checkLogCount());
|
||||
|
||||
private Consumer<String> exportGameCrashInfoCallback;
|
||||
|
||||
|
@ -67,7 +67,7 @@ import static org.jackhuang.hmcl.ui.FXUtils.newImage;
|
||||
import static org.jackhuang.hmcl.ui.FXUtils.stringConverter;
|
||||
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
|
||||
|
||||
public final class VersionSettingsPage extends StackPane implements DecoratorPage, VersionPage.VersionLoadable {
|
||||
public final class VersionSettingsPage extends StackPane implements DecoratorPage, VersionPage.VersionLoadable, PageAware {
|
||||
private final ReadOnlyObjectWrapper<State> state = new ReadOnlyObjectWrapper<>(new State("", null, false, false, false));
|
||||
|
||||
private final boolean globalSetting;
|
||||
@ -153,6 +153,8 @@ public final class VersionSettingsPage extends StackPane implements DecoratorPag
|
||||
specificSettingsLink.setOnMouseClicked(e -> editSpecificSettings());
|
||||
|
||||
specificSettingsHint.setChildren(text, specificSettingsLink);
|
||||
specificSettingsHint.managedProperty().bind(navigateToSpecificSettings);
|
||||
specificSettingsHint.visibleProperty().bind(navigateToSpecificSettings);
|
||||
|
||||
rootPane.getChildren().addAll(specificSettingsHint);
|
||||
}
|
||||
@ -582,9 +584,17 @@ public final class VersionSettingsPage extends StackPane implements DecoratorPag
|
||||
|
||||
listenerHolder.add(FXUtils.onWeakChangeAndOperate(profile.selectedVersionProperty(), selectedVersion -> {
|
||||
this.selectedVersion.setValue(selectedVersion);
|
||||
navigateToSpecificSettings.set(!profile.getRepository().getVersionSetting(selectedVersion).isUsesGlobal());
|
||||
|
||||
VersionSetting specializedVersionSetting = profile.getRepository().getLocalVersionSetting(selectedVersion);
|
||||
if (specializedVersionSetting != null) {
|
||||
navigateToSpecificSettings.bind(specializedVersionSetting.usesGlobalProperty().not());
|
||||
} else {
|
||||
navigateToSpecificSettings.unbind();
|
||||
navigateToSpecificSettings.set(false);
|
||||
}
|
||||
}));
|
||||
} else {
|
||||
navigateToSpecificSettings.unbind();
|
||||
navigateToSpecificSettings.set(false);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user