update SettingsScene landscape checkbox

This commit is contained in:
Anthony Calosa
2025-07-23 06:29:58 +08:00
parent 977d46bca5
commit 9f7852e76f

View File

@@ -260,9 +260,19 @@ public class SettingsScene extends UIScene {
if (!GuiBase.isAndroid()) { if (!GuiBase.isAndroid()) {
addCheckBox(Forge.getLocalizer().getMessage("lblBattlefieldTextureFiltering"), ForgePreferences.FPref.UI_LIBGDX_TEXTURE_FILTERING); addCheckBox(Forge.getLocalizer().getMessage("lblBattlefieldTextureFiltering"), ForgePreferences.FPref.UI_LIBGDX_TEXTURE_FILTERING);
addCheckBox(Forge.getLocalizer().getMessage("lblAltZoneTabs"), ForgePreferences.FPref.UI_ALT_PLAYERZONETABS); addCheckBox(Forge.getLocalizer().getMessage("lblAltZoneTabs"), ForgePreferences.FPref.UI_ALT_PLAYERZONETABS);
} else {
addCheckBox(Forge.getLocalizer().getMessage("lblLandscapeMode") + " (" +
Forge.getLocalizer().getMessage("lblRestartRequired") + ")",
ForgePreferences.FPref.UI_LANDSCAPE_MODE, () -> {
boolean landscapeMode = FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_LANDSCAPE_MODE);
//ensure device able to save off ini file so landscape change takes effect
Forge.getDeviceAdapter().setLandscapeMode(landscapeMode);
if (Forge.isLandscapeMode() != landscapeMode) {
restartForge();
}
});
} }
addCheckBox(Forge.getLocalizer().getMessage("lblLandscapeMode"), ForgePreferences.FPref.UI_LANDSCAPE_MODE);
addCheckBox(Forge.getLocalizer().getMessage("lblAnimatedCardTapUntap"), ForgePreferences.FPref.UI_ANIMATED_CARD_TAPUNTAP); addCheckBox(Forge.getLocalizer().getMessage("lblAnimatedCardTapUntap"), ForgePreferences.FPref.UI_ANIMATED_CARD_TAPUNTAP);
if (!GuiBase.isAndroid()) { if (!GuiBase.isAndroid()) {
final String[] item = {FModel.getPreferences().getPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING)}; final String[] item = {FModel.getPreferences().getPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING)};
@@ -320,6 +330,10 @@ public class SettingsScene extends UIScene {
} }
private void addCheckBox(String name, ForgePreferences.FPref pref) { private void addCheckBox(String name, ForgePreferences.FPref pref) {
addCheckBox(name, pref, null);
}
private void addCheckBox(String name, ForgePreferences.FPref pref, Runnable runnable) {
CheckBox box = Controls.newCheckBox(""); CheckBox box = Controls.newCheckBox("");
box.setChecked(FModel.getPreferences().getPrefBoolean(pref)); box.setChecked(FModel.getPreferences().getPrefBoolean(pref));
box.addListener(new ChangeListener() { box.addListener(new ChangeListener() {
@@ -327,6 +341,8 @@ public class SettingsScene extends UIScene {
public void changed(ChangeEvent event, Actor actor) { public void changed(ChangeEvent event, Actor actor) {
FModel.getPreferences().setPref(pref, ((CheckBox) actor).isChecked()); FModel.getPreferences().setPref(pref, ((CheckBox) actor).isChecked());
FModel.getPreferences().save(); FModel.getPreferences().save();
if (runnable != null)
runnable.run();
} }
}); });