mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
refactored CSubmenuPreferences
added UI_FOR_TOUNCHSCREEN preference
This commit is contained in:
@@ -5,9 +5,11 @@ import java.awt.event.ItemListener;
|
|||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.JCheckBox;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.text.WordUtils;
|
import org.apache.commons.lang3.text.WordUtils;
|
||||||
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.Constant.Preferences;
|
import forge.Constant.Preferences;
|
||||||
@@ -19,6 +21,7 @@ import forge.gui.toolbox.FSkin;
|
|||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controls the preferences submenu in the home UI.
|
* Controls the preferences submenu in the home UI.
|
||||||
@@ -30,6 +33,9 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
/** */
|
/** */
|
||||||
SINGLETON_INSTANCE;
|
SINGLETON_INSTANCE;
|
||||||
|
|
||||||
|
|
||||||
|
private final List<Pair<JCheckBox, FPref>> lstControls = new ArrayList<Pair<JCheckBox,FPref>>();
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see forge.control.home.IControlSubmenu#update()
|
* @see forge.control.home.IControlSubmenu#update()
|
||||||
*/
|
*/
|
||||||
@@ -53,33 +59,7 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
view.getCbAnte().addItemListener(new ItemListener() {
|
// This updates variable right now and is not standard
|
||||||
@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();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
view.getCbDevMode().addItemListener(new ItemListener() {
|
view.getCbDevMode().addItemListener(new ItemListener() {
|
||||||
@Override
|
@Override
|
||||||
public void itemStateChanged(final ItemEvent arg0) {
|
public void itemStateChanged(final ItemEvent arg0) {
|
||||||
@@ -90,109 +70,33 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
view.getCbEnforceDeckLegality().addItemListener(new ItemListener() {
|
lstControls.clear(); // just in case
|
||||||
@Override
|
lstControls.add(Pair.of(view.getCbAnte(), FPref.UI_ANTE));
|
||||||
public void itemStateChanged(final ItemEvent arg0) {
|
lstControls.add(Pair.of(view.getCbManaBurn(), FPref.UI_MANABURN));
|
||||||
final boolean toggle = view.getCbEnforceDeckLegality().isSelected();
|
lstControls.add(Pair.of(view.getCbScaleLarger(), FPref.UI_SCALE_LARGER));
|
||||||
prefs.setPref(FPref.ENFORCE_DECK_LEGALITY, String.valueOf(toggle));
|
lstControls.add(Pair.of(view.getCbEnforceDeckLegality(), FPref.ENFORCE_DECK_LEGALITY));
|
||||||
prefs.save();
|
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) {
|
||||||
@Override
|
kv.getKey().addItemListener(new ItemListener() {
|
||||||
public void itemStateChanged(final ItemEvent arg0) {
|
@Override
|
||||||
final boolean toggle = view.getCbCloneImgSource().isSelected();
|
public void itemStateChanged(final ItemEvent arg0) {
|
||||||
prefs.setPref(FPref.UI_CLONE_MODE_SOURCE, String.valueOf(toggle));
|
prefs.setPref(kv.getValue(), String.valueOf(kv.getKey().isSelected()));
|
||||||
prefs.save();
|
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() {
|
view.getBtnReset().setCommand(new Command() {
|
||||||
@Override
|
@Override
|
||||||
@@ -215,22 +119,11 @@ public enum CSubmenuPreferences implements ICDoc {
|
|||||||
updateSkinNames();
|
updateSkinNames();
|
||||||
updateAIProfiles();
|
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.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));
|
for(Pair<JCheckBox, FPref> kv: lstControls) {
|
||||||
view.getCbRandomFoil().setSelected(prefs.getPrefBoolean(FPref.UI_RANDOM_FOIL));
|
kv.getKey().setSelected(prefs.getPrefBoolean(kv.getValue()));
|
||||||
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));
|
|
||||||
view.reloadShortcuts();
|
view.reloadShortcuts();
|
||||||
|
|
||||||
SwingUtilities.invokeLater(new Runnable() {
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
private final JCheckBox cbRandomizeArt = new OptionsCheckBox("Randomize Card Art");
|
private final JCheckBox cbRandomizeArt = new OptionsCheckBox("Randomize Card Art");
|
||||||
private final JCheckBox cbEnableSounds = new OptionsCheckBox("Enable Sounds");
|
private final JCheckBox cbEnableSounds = new OptionsCheckBox("Enable Sounds");
|
||||||
private final JCheckBox cbAltSoundSystem = new OptionsCheckBox("Use Alternate Sound System");
|
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>();
|
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(cbScaleLarger, regularConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("Allows card pictures to be expanded larger than their original size."), 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(cbTextMana, regularConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("Overlays each card with basic card-specific information."), regularConstraints);
|
pnlPrefs.add(new NoteLabel("Overlays each card with basic card-specific information."), regularConstraints);
|
||||||
|
|
||||||
@@ -179,8 +183,8 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
pnlPrefs.add(cbEnableSounds, regularConstraints);
|
pnlPrefs.add(cbEnableSounds, regularConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("Enable sound effects during the game."), regularConstraints);
|
pnlPrefs.add(new NoteLabel("Enable sound effects during the game."), regularConstraints);
|
||||||
|
|
||||||
pnlPrefs.add(cbAltSoundSystem, regularConstraints);
|
pnlPrefs.add(cbAltSoundSystem, regularConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("Use the alternate sound system (only use in case your have issues with sound not playing or disappearing)"), regularConstraints);
|
pnlPrefs.add(new NoteLabel("Use the alternate sound system (only use in case your have issues with sound not playing or disappearing)"), regularConstraints);
|
||||||
|
|
||||||
// Keyboard shortcuts
|
// Keyboard shortcuts
|
||||||
final JLabel lblShortcuts = new SectionLabel("Keyboard Shortcuts");
|
final JLabel lblShortcuts = new SectionLabel("Keyboard Shortcuts");
|
||||||
@@ -473,6 +477,10 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
return cbAltSoundSystem;
|
return cbAltSoundSystem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final JCheckBox getCbUiForTouchScreen() {
|
||||||
|
return cbUiForTouchScreen;
|
||||||
|
}
|
||||||
|
|
||||||
/** @return {@link forge.gui.toolbox.FLabel} */
|
/** @return {@link forge.gui.toolbox.FLabel} */
|
||||||
public FLabel getBtnReset() {
|
public FLabel getBtnReset() {
|
||||||
return btnReset;
|
return btnReset;
|
||||||
|
|||||||
@@ -55,6 +55,8 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
|||||||
UI_CURRENT_AI_PROFILE (AiProfileUtil.AI_PROFILE_RANDOM_MATCH),
|
UI_CURRENT_AI_PROFILE (AiProfileUtil.AI_PROFILE_RANDOM_MATCH),
|
||||||
UI_CLONE_MODE_SOURCE ("false"), /** */
|
UI_CLONE_MODE_SOURCE ("false"), /** */
|
||||||
|
|
||||||
|
UI_FOR_TOUCHSCREN("false"),
|
||||||
|
|
||||||
SUBMENU_CURRENTMENU (EMenuItem.CONSTRUCTED.toString()),
|
SUBMENU_CURRENTMENU (EMenuItem.CONSTRUCTED.toString()),
|
||||||
SUBMENU_SANCTIONED ("false"),
|
SUBMENU_SANCTIONED ("false"),
|
||||||
SUBMENU_GAUNTLET ("false"),
|
SUBMENU_GAUNTLET ("false"),
|
||||||
|
|||||||
Reference in New Issue
Block a user