From bbbe3726f212065957e386b3320271ea5953ca24 Mon Sep 17 00:00:00 2001 From: yushijinhun Date: Tue, 17 Jul 2018 18:11:25 +0800 Subject: [PATCH] Remove backgroundImageProperty --- .../org/jackhuang/hmcl/setting/Settings.java | 21 ------------------- .../java/org/jackhuang/hmcl/ui/Decorator.java | 3 ++- .../org/jackhuang/hmcl/ui/SettingsPage.java | 7 ++++--- 3 files changed, 6 insertions(+), 25 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.java index 9b1e0dcee..9b53af874 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.java @@ -308,27 +308,6 @@ public class Settings { * BACKGROUND * ****************************************/ - private final ImmediateStringProperty backgroundImage = new ImmediateStringProperty(this, "backgroundImage", ConfigHolder.CONFIG.backgroundImage.get()) { - @Override - public void invalidated() { - super.invalidated(); - - ConfigHolder.CONFIG.backgroundImage.set(get()); - } - }; - - public String getBackgroundImage() { - return backgroundImage.get(); - } - - public ImmediateStringProperty backgroundImageProperty() { - return backgroundImage; - } - - public void setBackgroundImage(String backgroundImage) { - this.backgroundImage.set(backgroundImage); - } - private final ImmediateObjectProperty backgroundImageType = new ImmediateObjectProperty(this, "backgroundImageType", EnumBackgroundImage.indexOf(ConfigHolder.CONFIG.backgroundImageType.get())) { @Override public void invalidated() { diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.java index 41695e1cb..bb1bab43c 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.java @@ -55,6 +55,7 @@ import javafx.stage.StageStyle; import javafx.util.Duration; import org.jackhuang.hmcl.Launcher; import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorDnD; +import org.jackhuang.hmcl.setting.ConfigHolder; import org.jackhuang.hmcl.setting.EnumBackgroundImage; import org.jackhuang.hmcl.setting.Settings; import org.jackhuang.hmcl.setting.Theme; @@ -222,7 +223,7 @@ public final class Decorator extends StackPane implements TaskExecutorDialogWiza if (Settings.INSTANCE.getBackgroundImageType() == EnumBackgroundImage.DEFAULT) background = searchBackgroundImage(new Image("/assets/img/background.jpg"), ""); else - background = searchBackgroundImage(new Image("/assets/img/background.jpg"), Settings.INSTANCE.getBackgroundImage()); + background = searchBackgroundImage(new Image("/assets/img/background.jpg"), ConfigHolder.CONFIG.backgroundImage.get()); drawerWrapper.setBackground(new Background(new BackgroundImage(background, BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.DEFAULT, new BackgroundSize(800, 480, false, false, true, true)))); } catch (IllegalArgumentException ignore) { diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SettingsPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/SettingsPage.java index c1d1e1860..ca21a4272 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SettingsPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/SettingsPage.java @@ -44,6 +44,7 @@ import org.jackhuang.hmcl.ui.wizard.DecoratorPage; import org.jackhuang.hmcl.util.Lang; import org.jackhuang.hmcl.util.i18n.Locales; +import static org.jackhuang.hmcl.ui.FXUtils.onInvalidating; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; import java.net.Proxy; @@ -186,12 +187,12 @@ public final class SettingsPage extends StackPane implements DecoratorPage { backgroundItem.createChildren(i18n("launcher.background.default"), EnumBackgroundImage.DEFAULT) )); - FXUtils.bindString(backgroundItem.getTxtCustom(), Settings.INSTANCE.backgroundImageProperty()); + FXUtils.bindString(backgroundItem.getTxtCustom(), ConfigHolder.CONFIG.backgroundImage); backgroundItem.setCustomUserData(EnumBackgroundImage.CUSTOM); backgroundItem.getGroup().getToggles().stream().filter(it -> it.getUserData() == Settings.INSTANCE.getBackgroundImageType()).findFirst().ifPresent(it -> it.setSelected(true)); - Settings.INSTANCE.backgroundImageProperty().setChangedListener(it -> initBackgroundItemSubtitle()); + ConfigHolder.CONFIG.backgroundImage.addListener(onInvalidating(this::initBackgroundItemSubtitle)); Settings.INSTANCE.backgroundImageTypeProperty().setChangedListener(it -> initBackgroundItemSubtitle()); initBackgroundItemSubtitle(); @@ -218,7 +219,7 @@ public final class SettingsPage extends StackPane implements DecoratorPage { backgroundItem.setSubtitle(i18n("launcher.background.default")); break; case CUSTOM: - backgroundItem.setSubtitle(Settings.INSTANCE.getBackgroundImage()); + backgroundItem.setSubtitle(ConfigHolder.CONFIG.backgroundImage.get()); break; } }