mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Fix so music doesn't change when opening preferences page the first time
This commit is contained in:
@@ -42,6 +42,7 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
|
|
||||||
private VSubmenuPreferences view;
|
private VSubmenuPreferences view;
|
||||||
private ForgePreferences prefs;
|
private ForgePreferences prefs;
|
||||||
|
private boolean updating;
|
||||||
|
|
||||||
private final List<Pair<JCheckBox, FPref>> lstControls = new ArrayList<Pair<JCheckBox,FPref>>();
|
private final List<Pair<JCheckBox, FPref>> lstControls = new ArrayList<Pair<JCheckBox,FPref>>();
|
||||||
|
|
||||||
@@ -59,6 +60,8 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
view.getCbDevMode().addItemListener(new ItemListener() {
|
view.getCbDevMode().addItemListener(new ItemListener() {
|
||||||
@Override
|
@Override
|
||||||
public void itemStateChanged(final ItemEvent arg0) {
|
public void itemStateChanged(final ItemEvent arg0) {
|
||||||
|
if (updating) { return; }
|
||||||
|
|
||||||
final boolean toggle = view.getCbDevMode().isSelected();
|
final boolean toggle = view.getCbDevMode().isSelected();
|
||||||
prefs.setPref(FPref.DEV_MODE_ENABLED, String.valueOf(toggle));
|
prefs.setPref(FPref.DEV_MODE_ENABLED, String.valueOf(toggle));
|
||||||
ForgePreferences.DEV_MODE = toggle;
|
ForgePreferences.DEV_MODE = toggle;
|
||||||
@@ -70,6 +73,8 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
view.getCbEnableMusic().addItemListener(new ItemListener() {
|
view.getCbEnableMusic().addItemListener(new ItemListener() {
|
||||||
@Override
|
@Override
|
||||||
public void itemStateChanged(final ItemEvent arg0) {
|
public void itemStateChanged(final ItemEvent arg0) {
|
||||||
|
if (updating) { return; }
|
||||||
|
|
||||||
final boolean toggle = view.getCbEnableMusic().isSelected();
|
final boolean toggle = view.getCbEnableMusic().isSelected();
|
||||||
prefs.setPref(FPref.UI_ENABLE_MUSIC, String.valueOf(toggle));
|
prefs.setPref(FPref.UI_ENABLE_MUSIC, String.valueOf(toggle));
|
||||||
prefs.save();
|
prefs.save();
|
||||||
@@ -108,6 +113,8 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
kv.getKey().addItemListener(new ItemListener() {
|
kv.getKey().addItemListener(new ItemListener() {
|
||||||
@Override
|
@Override
|
||||||
public void itemStateChanged(final ItemEvent arg0) {
|
public void itemStateChanged(final ItemEvent arg0) {
|
||||||
|
if (updating) { return; }
|
||||||
|
|
||||||
prefs.setPref(kv.getValue(), String.valueOf(kv.getKey().isSelected()));
|
prefs.setPref(kv.getValue(), String.valueOf(kv.getKey().isSelected()));
|
||||||
prefs.save();
|
prefs.save();
|
||||||
}
|
}
|
||||||
@@ -167,6 +174,7 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void update() {
|
public void update() {
|
||||||
|
updating = true; //prevent itemStateChanged causing prefs to be saved or other logic occurring while updating values
|
||||||
|
|
||||||
this.view = VSubmenuPreferences.SINGLETON_INSTANCE;
|
this.view = VSubmenuPreferences.SINGLETON_INSTANCE;
|
||||||
this.prefs = FModel.getPreferences();
|
this.prefs = FModel.getPreferences();
|
||||||
@@ -183,6 +191,8 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
SwingUtilities.invokeLater(new Runnable() {
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
@Override public void run() { view.getCbRemoveSmall().requestFocusInWindow(); }
|
@Override public void run() { view.getCbRemoveSmall().requestFocusInWindow(); }
|
||||||
});
|
});
|
||||||
|
|
||||||
|
updating = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
|||||||
Reference in New Issue
Block a user