refactored CSubmenuPreferences

added UI_FOR_TOUNCHSCREEN preference
This commit is contained in:
Maxmtg
2013-05-26 14:19:26 +00:00
parent a5a8617ff0
commit e48821afbb
3 changed files with 49 additions and 146 deletions

View File

@@ -5,9 +5,11 @@ import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JCheckBox;
import javax.swing.SwingUtilities;
import org.apache.commons.lang3.text.WordUtils;
import org.apache.commons.lang3.tuple.Pair;
import forge.Command;
import forge.Constant.Preferences;
@@ -19,6 +21,7 @@ import forge.gui.toolbox.FSkin;
import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref;
import java.util.ArrayList;
import java.util.List;
/**
* Controls the preferences submenu in the home UI.
@@ -30,6 +33,9 @@ public enum CSubmenuPreferences implements ICDoc {
/** */
SINGLETON_INSTANCE;
private final List<Pair<JCheckBox, FPref>> lstControls = new ArrayList<Pair<JCheckBox,FPref>>();
/* (non-Javadoc)
* @see forge.control.home.IControlSubmenu#update()
*/
@@ -53,33 +59,7 @@ public enum CSubmenuPreferences implements ICDoc {
}
});
view.getCbAnte().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbAnte().isSelected();
prefs.setPref(FPref.UI_ANTE, String.valueOf(toggle));
prefs.save();
}
});
view.getCbManaBurn().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbManaBurn().isSelected();
prefs.setPref(FPref.UI_MANABURN, String.valueOf(toggle));
prefs.save();
}
});
view.getCbScaleLarger().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbScaleLarger().isSelected();
prefs.setPref(FPref.UI_SCALE_LARGER, String.valueOf(toggle));
prefs.save();
}
});
// This updates variable right now and is not standard
view.getCbDevMode().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
@@ -90,109 +70,33 @@ public enum CSubmenuPreferences implements ICDoc {
}
});
view.getCbEnforceDeckLegality().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbEnforceDeckLegality().isSelected();
prefs.setPref(FPref.ENFORCE_DECK_LEGALITY, String.valueOf(toggle));
prefs.save();
}
});
lstControls.clear(); // just in case
lstControls.add(Pair.of(view.getCbAnte(), FPref.UI_ANTE));
lstControls.add(Pair.of(view.getCbManaBurn(), FPref.UI_MANABURN));
lstControls.add(Pair.of(view.getCbScaleLarger(), FPref.UI_SCALE_LARGER));
lstControls.add(Pair.of(view.getCbEnforceDeckLegality(), FPref.ENFORCE_DECK_LEGALITY));
lstControls.add(Pair.of(view.getCbCloneImgSource(), FPref.UI_CLONE_MODE_SOURCE));
lstControls.add(Pair.of(view.getCbRemoveSmall(), FPref.DECKGEN_NOSMALL));
lstControls.add(Pair.of(view.getCbRemoveArtifacts(), FPref.DECKGEN_ARTIFACTS));
lstControls.add(Pair.of(view.getCbSingletons(), FPref.DECKGEN_SINGLETONS));
lstControls.add(Pair.of(view.getCbUploadDraft(), FPref.UI_UPLOAD_DRAFT));
lstControls.add(Pair.of(view.getCbStackLand(), FPref.UI_SMOOTH_LAND));
lstControls.add(Pair.of(view.getCbRandomFoil(), FPref.UI_RANDOM_FOIL));
lstControls.add(Pair.of(view.getCbTextMana(), FPref.UI_CARD_OVERLAY));
lstControls.add(Pair.of(view.getCbRandomizeArt(), FPref.UI_RANDOM_CARD_ART));
lstControls.add(Pair.of(view.getCbEnableSounds(), FPref.UI_ENABLE_SOUNDS));
lstControls.add(Pair.of(view.getCbAltSoundSystem(), FPref.UI_ALT_SOUND_SYSTEM));
lstControls.add(Pair.of(view.getCbUiForTouchScreen(), FPref.UI_FOR_TOUCHSCREN));
view.getCbCloneImgSource().addItemListener(new ItemListener() {
for(final Pair<JCheckBox, FPref> kv : lstControls) {
kv.getKey().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbCloneImgSource().isSelected();
prefs.setPref(FPref.UI_CLONE_MODE_SOURCE, String.valueOf(toggle));
prefs.setPref(kv.getValue(), String.valueOf(kv.getKey().isSelected()));
prefs.save();
}
});
view.getCbRemoveSmall().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbRemoveSmall().isSelected();
prefs.setPref(FPref.DECKGEN_NOSMALL, String.valueOf(toggle));
prefs.save();
}
});
view.getCbRemoveArtifacts().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbRemoveArtifacts().isSelected();
prefs.setPref(FPref.DECKGEN_ARTIFACTS, String.valueOf(toggle));
prefs.save();
}
});
view.getCbSingletons().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbSingletons().isSelected();
prefs.setPref(FPref.DECKGEN_SINGLETONS, String.valueOf(toggle));
prefs.save();
}
});
view.getCbUploadDraft().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbUploadDraft().isSelected();
prefs.setPref(FPref.UI_UPLOAD_DRAFT , String.valueOf(toggle));
Preferences.UPLOAD_DRAFT = toggle;
prefs.save();
}
});
view.getCbStackLand().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
prefs.setPref(FPref.UI_SMOOTH_LAND, view.getCbRandomFoil().isSelected());
prefs.save();
}
});
view.getCbRandomFoil().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
prefs.setPref(FPref.UI_RANDOM_FOIL, view.getCbRandomFoil().isSelected());
prefs.save();
}
});
view.getCbTextMana().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
final boolean toggle = view.getCbTextMana().isSelected();
prefs.setPref(FPref.UI_CARD_OVERLAY, String.valueOf(toggle));
prefs.save();
}
});
view.getCbRandomizeArt().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
prefs.setPref(FPref.UI_RANDOM_CARD_ART, view.getCbRandomizeArt().isSelected());
prefs.save();
}
});
view.getCbEnableSounds().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
prefs.setPref(FPref.UI_ENABLE_SOUNDS, view.getCbEnableSounds().isSelected());
prefs.save();
}
});
view.getCbAltSoundSystem().addItemListener(new ItemListener() {
@Override
public void itemStateChanged(final ItemEvent arg0) {
prefs.setPref(FPref.UI_ALT_SOUND_SYSTEM, view.getCbAltSoundSystem().isSelected());
prefs.save();
}
});
view.getBtnReset().setCommand(new Command() {
@Override
@@ -215,22 +119,11 @@ public enum CSubmenuPreferences implements ICDoc {
updateSkinNames();
updateAIProfiles();
view.getCbRemoveSmall().setSelected(prefs.getPrefBoolean(FPref.DECKGEN_NOSMALL));
view.getCbSingletons().setSelected(prefs.getPrefBoolean(FPref.DECKGEN_SINGLETONS));
view.getCbRemoveArtifacts().setSelected(prefs.getPrefBoolean(FPref.DECKGEN_ARTIFACTS));
view.getCbAnte().setSelected(prefs.getPrefBoolean(FPref.UI_ANTE));
view.getCbManaBurn().setSelected(prefs.getPrefBoolean(FPref.UI_MANABURN));
view.getCbUploadDraft().setSelected(prefs.getPrefBoolean(FPref.UI_UPLOAD_DRAFT));
view.getCbStackLand().setSelected(prefs.getPrefBoolean(FPref.UI_SMOOTH_LAND));
view.getCbDevMode().setSelected(prefs.getPrefBoolean(FPref.DEV_MODE_ENABLED));
view.getCbEnforceDeckLegality().setSelected(prefs.getPrefBoolean(FPref.ENFORCE_DECK_LEGALITY));
view.getCbCloneImgSource().setSelected(prefs.getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE));
view.getCbRandomFoil().setSelected(prefs.getPrefBoolean(FPref.UI_RANDOM_FOIL));
view.getCbRandomizeArt().setSelected(prefs.getPrefBoolean(FPref.UI_RANDOM_CARD_ART));
view.getCbScaleLarger().setSelected(prefs.getPrefBoolean(FPref.UI_SCALE_LARGER));
view.getCbTextMana().setSelected(prefs.getPrefBoolean(FPref.UI_CARD_OVERLAY));
view.getCbEnableSounds().setSelected(prefs.getPrefBoolean(FPref.UI_ENABLE_SOUNDS));
view.getCbAltSoundSystem().setSelected(prefs.getPrefBoolean(FPref.UI_ALT_SOUND_SYSTEM));
for(Pair<JCheckBox, FPref> kv: lstControls) {
kv.getKey().setSelected(prefs.getPrefBoolean(kv.getValue()));
}
view.reloadShortcuts();
SwingUtilities.invokeLater(new Runnable() {

View File

@@ -97,6 +97,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
private final JCheckBox cbRandomizeArt = new OptionsCheckBox("Randomize Card Art");
private final JCheckBox cbEnableSounds = new OptionsCheckBox("Enable Sounds");
private final JCheckBox cbAltSoundSystem = new OptionsCheckBox("Use Alternate Sound System");
private final JCheckBox cbUiForTouchScreen = new OptionsCheckBox("Enchance UI for touchscreens");
private final Map<FPref, KeyboardShortcutField> shortcutFields = new HashMap<FPref, KeyboardShortcutField>();
@@ -170,6 +171,9 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
pnlPrefs.add(cbScaleLarger, regularConstraints);
pnlPrefs.add(new NoteLabel("Allows card pictures to be expanded larger than their original size."), regularConstraints);
pnlPrefs.add(cbUiForTouchScreen, regularConstraints);
pnlPrefs.add(new NoteLabel("Increases some UI elements to provide a better experience on touchscreen devices. (Needs restart)"), regularConstraints);
pnlPrefs.add(cbTextMana, regularConstraints);
pnlPrefs.add(new NoteLabel("Overlays each card with basic card-specific information."), regularConstraints);
@@ -473,6 +477,10 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
return cbAltSoundSystem;
}
public final JCheckBox getCbUiForTouchScreen() {
return cbUiForTouchScreen;
}
/** @return {@link forge.gui.toolbox.FLabel} */
public FLabel getBtnReset() {
return btnReset;

View File

@@ -55,6 +55,8 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
UI_CURRENT_AI_PROFILE (AiProfileUtil.AI_PROFILE_RANDOM_MATCH),
UI_CLONE_MODE_SOURCE ("false"), /** */
UI_FOR_TOUCHSCREN("false"),
SUBMENU_CURRENTMENU (EMenuItem.CONSTRUCTED.toString()),
SUBMENU_SANCTIONED ("false"),
SUBMENU_GAUNTLET ("false"),