mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
update SettingsScene
- fix preferences
This commit is contained in:
@@ -182,6 +182,10 @@ public class Forge implements ApplicationListener {
|
|||||||
ForgePreferences prefs = new ForgePreferences();
|
ForgePreferences prefs = new ForgePreferences();
|
||||||
if (Files.exists(Paths.get(ForgeConstants.DEFAULT_SKINS_DIR+ForgeConstants.ADV_TEXTURE_BG_FILE)))
|
if (Files.exists(Paths.get(ForgeConstants.DEFAULT_SKINS_DIR+ForgeConstants.ADV_TEXTURE_BG_FILE)))
|
||||||
selector = prefs.getPref(FPref.UI_SELECTOR_MODE);
|
selector = prefs.getPref(FPref.UI_SELECTOR_MODE);
|
||||||
|
if (prefs.getPrefBoolean(FPref.UI_LANDSCAPE_MODE) != (screenWidth > screenHeight)) {
|
||||||
|
prefs.setPref(FPref.UI_LANDSCAPE_MODE, (screenWidth > screenHeight));
|
||||||
|
prefs.save();
|
||||||
|
}
|
||||||
String skinName;
|
String skinName;
|
||||||
if (FileUtil.doesFileExist(ForgeConstants.MAIN_PREFS_FILE)) {
|
if (FileUtil.doesFileExist(ForgeConstants.MAIN_PREFS_FILE)) {
|
||||||
skinName = prefs.getPref(FPref.UI_SKIN);
|
skinName = prefs.getPref(FPref.UI_SKIN);
|
||||||
@@ -379,12 +383,6 @@ public class Forge implements ApplicationListener {
|
|||||||
//adjust height modifier
|
//adjust height modifier
|
||||||
adjustHeightModifier(getScreenWidth(), getScreenHeight());
|
adjustHeightModifier(getScreenWidth(), getScreenHeight());
|
||||||
|
|
||||||
//update landscape mode preference if it doesn't match what the app loaded as
|
|
||||||
if (FModel.getPreferences().getPrefBoolean(FPref.UI_LANDSCAPE_MODE) != isLandscapeMode()) {
|
|
||||||
FModel.getPreferences().setPref(FPref.UI_LANDSCAPE_MODE, isLandscapeMode());
|
|
||||||
FModel.getPreferences().save();
|
|
||||||
}
|
|
||||||
|
|
||||||
FThreads.invokeInBackgroundThread(() -> FThreads.invokeInEdtLater(() -> {
|
FThreads.invokeInBackgroundThread(() -> FThreads.invokeInEdtLater(() -> {
|
||||||
//load skin full
|
//load skin full
|
||||||
FSkin.loadFull(splashScreen);
|
FSkin.loadFull(splashScreen);
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
|
|||||||
* Scene to handle settings of the base forge and adventure mode
|
* Scene to handle settings of the base forge and adventure mode
|
||||||
*/
|
*/
|
||||||
public class SettingsScene extends UIScene {
|
public class SettingsScene extends UIScene {
|
||||||
static public ForgePreferences Preference;
|
|
||||||
private final Table settingGroup;
|
private final Table settingGroup;
|
||||||
TextraButton backButton;
|
TextraButton backButton;
|
||||||
//TextraButton newPlane;
|
//TextraButton newPlane;
|
||||||
@@ -99,9 +98,6 @@ public class SettingsScene extends UIScene {
|
|||||||
super(Forge.isLandscapeMode() ? "ui/settings.json" : "ui/settings_portrait.json");
|
super(Forge.isLandscapeMode() ? "ui/settings.json" : "ui/settings_portrait.json");
|
||||||
|
|
||||||
settingGroup = new Table();
|
settingGroup = new Table();
|
||||||
if (Preference == null) {
|
|
||||||
Preference = FModel.getPreferences();
|
|
||||||
}
|
|
||||||
//temporary disable custom world until it works correctly on each update
|
//temporary disable custom world until it works correctly on each update
|
||||||
/*selectSourcePlane = Controls.newComboBox();
|
/*selectSourcePlane = Controls.newComboBox();
|
||||||
newPlaneName = Controls.newTextField("");
|
newPlaneName = Controls.newTextField("");
|
||||||
@@ -131,10 +127,10 @@ public class SettingsScene extends UIScene {
|
|||||||
mode = "720p";
|
mode = "720p";
|
||||||
Graphics.setVideoMode(mode);
|
Graphics.setVideoMode(mode);
|
||||||
|
|
||||||
//update preference for classic mode if needed
|
//update
|
||||||
if (Preference.getPref(ForgePreferences.FPref.UI_VIDEO_MODE).equals(mode)) {
|
if (!FModel.getPreferences().getPref(ForgePreferences.FPref.UI_VIDEO_MODE).equalsIgnoreCase(mode)) {
|
||||||
Preference.setPref(ForgePreferences.FPref.UI_VIDEO_MODE, mode);
|
FModel.getPreferences().setPref(ForgePreferences.FPref.UI_VIDEO_MODE, mode);
|
||||||
Preference.save();
|
FModel.getPreferences().save();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
@@ -194,10 +190,8 @@ public class SettingsScene extends UIScene {
|
|||||||
Config.instance().getSettingData().fullScreen = value;
|
Config.instance().getSettingData().fullScreen = value;
|
||||||
Config.instance().saveSettings();
|
Config.instance().saveSettings();
|
||||||
//update
|
//update
|
||||||
if (Preference.getPrefBoolean(ForgePreferences.FPref.UI_FULLSCREEN_MODE) != value) {
|
FModel.getPreferences().setPref(ForgePreferences.FPref.UI_FULLSCREEN_MODE, Config.instance().getSettingData().fullScreen);
|
||||||
Preference.setPref(ForgePreferences.FPref.UI_LANDSCAPE_MODE, value);
|
FModel.getPreferences().save();
|
||||||
Preference.save();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -237,16 +231,18 @@ public class SettingsScene extends UIScene {
|
|||||||
addCheckBox(Forge.getLocalizer().getMessage("lblLandscapeMode"), ForgePreferences.FPref.UI_LANDSCAPE_MODE);
|
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 = {Preference.getPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING)};
|
final String[] item = {FModel.getPreferences().getPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING)};
|
||||||
SelectBox<String> borderMask = Controls.newComboBox(new String[]{"Off", "Crop", "Full", "Art"}, item[0], o -> {
|
SelectBox<String> borderMask = Controls.newComboBox(new String[]{"Off", "Crop", "Full", "Art"}, item[0], o -> {
|
||||||
String mode = (String) o;
|
String mode = (String) o;
|
||||||
if (mode == null)
|
if (mode == null)
|
||||||
mode = "Crop";
|
mode = "Crop";
|
||||||
item[0] = mode;
|
item[0] = mode;
|
||||||
//update preference for classic mode if needed
|
//update
|
||||||
Preference.setPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING, mode);
|
if (!FModel.getPreferences().getPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING).equalsIgnoreCase(mode)) {
|
||||||
Preference.save();
|
FModel.getPreferences().setPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING, mode);
|
||||||
Forge.enableUIMask = Preference.getPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING);
|
FModel.getPreferences().save();
|
||||||
|
Forge.enableUIMask = FModel.getPreferences().getPref(ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING);
|
||||||
|
}
|
||||||
ImageCache.clearGeneratedCards();
|
ImageCache.clearGeneratedCards();
|
||||||
ImageCache.disposeTextures();
|
ImageCache.disposeTextures();
|
||||||
return null;
|
return null;
|
||||||
@@ -277,12 +273,12 @@ public class SettingsScene extends UIScene {
|
|||||||
|
|
||||||
private void addInputField(String name, ForgePreferences.FPref pref) {
|
private void addInputField(String name, ForgePreferences.FPref pref) {
|
||||||
TextField box = Controls.newTextField("");
|
TextField box = Controls.newTextField("");
|
||||||
box.setText(Preference.getPref(pref));
|
box.setText(FModel.getPreferences().getPref(pref));
|
||||||
box.addListener(new ChangeListener() {
|
box.addListener(new ChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void changed(ChangeEvent event, Actor actor) {
|
public void changed(ChangeEvent event, Actor actor) {
|
||||||
Preference.setPref(pref, ((TextField) actor).getText());
|
FModel.getPreferences().setPref(pref, ((TextField) actor).getText());
|
||||||
Preference.save();
|
FModel.getPreferences().save();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -292,12 +288,12 @@ public class SettingsScene extends UIScene {
|
|||||||
|
|
||||||
private void addCheckBox(String name, ForgePreferences.FPref pref) {
|
private void addCheckBox(String name, ForgePreferences.FPref pref) {
|
||||||
CheckBox box = Controls.newCheckBox("");
|
CheckBox box = Controls.newCheckBox("");
|
||||||
box.setChecked(Preference.getPrefBoolean(pref));
|
box.setChecked(FModel.getPreferences().getPrefBoolean(pref));
|
||||||
box.addListener(new ChangeListener() {
|
box.addListener(new ChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void changed(ChangeEvent event, Actor actor) {
|
public void changed(ChangeEvent event, Actor actor) {
|
||||||
Preference.setPref(pref, ((CheckBox) actor).isChecked());
|
FModel.getPreferences().setPref(pref, ((CheckBox) actor).isChecked());
|
||||||
Preference.save();
|
FModel.getPreferences().save();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -307,12 +303,12 @@ public class SettingsScene extends UIScene {
|
|||||||
|
|
||||||
private void addSettingSlider(String name, ForgePreferences.FPref pref, int min, int max) {
|
private void addSettingSlider(String name, ForgePreferences.FPref pref, int min, int max) {
|
||||||
Slider slide = Controls.newSlider(min, max, 1, false);
|
Slider slide = Controls.newSlider(min, max, 1, false);
|
||||||
slide.setValue(Preference.getPrefInt(pref));
|
slide.setValue(FModel.getPreferences().getPrefInt(pref));
|
||||||
slide.addListener(new ChangeListener() {
|
slide.addListener(new ChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void changed(ChangeEvent event, Actor actor) {
|
public void changed(ChangeEvent event, Actor actor) {
|
||||||
Preference.setPref(pref, String.valueOf((int) ((Slider) actor).getValue()));
|
FModel.getPreferences().setPref(pref, String.valueOf((int) ((Slider) actor).getValue()));
|
||||||
Preference.save();
|
FModel.getPreferences().save();
|
||||||
if (ForgePreferences.FPref.UI_VOL_MUSIC.equals(pref))
|
if (ForgePreferences.FPref.UI_VOL_MUSIC.equals(pref))
|
||||||
SoundSystem.instance.refreshVolume();
|
SoundSystem.instance.refreshVolume();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user