mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
ForgePreferences fully converted to enum architecture. All preference-style files are now standardized using enums.
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -10801,7 +10801,6 @@ res/quest/price.txt svneol=native#text/plain
|
||||
res/quest/quest-opponent-icons.txt -text
|
||||
res/quest/quest-pet-shop-icons.txt -text
|
||||
res/quest/quest-pet-token-images.txt -text
|
||||
res/quest/quest.preferences -text
|
||||
res/quest/quest.properties svneol=native#text/plain
|
||||
res/quest/themes/-1[!!-~]-1[!!-~]Counters[!!-~]BG.thm -text
|
||||
res/quest/themes/Anti[!!-~]Black[!!-~]WB.thm -text
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
BOOSTER_COMMONS=11
|
||||
BOOSTER_UNCOMMONS=3
|
||||
BOOSTER_RARES=1
|
||||
REWARDS_BASE=30
|
||||
REWARDS_UNDEFEATED=25
|
||||
REWARDS_WINS_MULTIPLIER=0.3
|
||||
REWARDS_POISON=50
|
||||
REWARDS_MILLED=40
|
||||
REWARDS_MULLIGAN0=500
|
||||
REWARDS_ALTERNATIVE=100
|
||||
REWARDS_TURN15=5
|
||||
REWARDS_TURN10=50
|
||||
REWARDS_TURN5=250
|
||||
REWARDS_TURN1=1500
|
||||
STARTING_BASIC_LANDS=20
|
||||
STARTING_SNOW_LANDS=5
|
||||
|
||||
STARTING_COMMONS_EASY=82
|
||||
STARTING_COMMONS_MEDIUM=80
|
||||
STARTING_COMMONS_HARD=78
|
||||
STARTING_COMMONS_EXPERT=76
|
||||
|
||||
STARTING_UNCOMMONS_EASY=40
|
||||
STARTING_UNCOMMONS_MEDIUM=36
|
||||
STARTING_UNCOMMONS_HARD=32
|
||||
STARTING_UNCOMMONS_EXPERT=28
|
||||
|
||||
STARTING_RARES_EASY=20
|
||||
STARTING_RARES_MEDIUM=18
|
||||
STARTING_RARES_HARD=16
|
||||
STARTING_RARES_EXPERT=15
|
||||
|
||||
STARTING_CREDITS_EASY=250
|
||||
STARTING_CREDITS_MEDIUM=200
|
||||
STARTING_CREDITS_HARD=150
|
||||
STARTING_CREDITS_EXPERT=100
|
||||
|
||||
WINS_BOOSTER_EASY=1
|
||||
WINS_BOOSTER_MEDIUM=1
|
||||
WINS_BOOSTER_HARD=2
|
||||
WINS_BOOSTER_EXPERT=2
|
||||
|
||||
WINS_RANKUP_EASY=3
|
||||
WINS_RANKUP_MEDIUM=4
|
||||
WINS_RANKUP_HARD=5
|
||||
WINS_RANKUP_EXPERT=6
|
||||
|
||||
WINS_MEDIUMAI_EASY=10
|
||||
WINS_MEDIUMAI_MEDIUM=9
|
||||
WINS_MEDIUMAI_HARD=8
|
||||
WINS_MEDIUMAI_EXPERT=7
|
||||
|
||||
WINS_HARDAI_EASY=20
|
||||
WINS_HARDAI_MEDIUM=18
|
||||
WINS_HARDAI_HARD=16
|
||||
WINS_HARDAI_EXPERT=14
|
||||
|
||||
WINS_EXPERTAI_EASY=40
|
||||
WINS_EXPERTAI_MEDIUM=36
|
||||
WINS_EXPERTAI_HARD=32
|
||||
WINS_EXPERTAI_EXPERT=28
|
||||
@@ -45,6 +45,7 @@ import forge.CardContainer;
|
||||
import forge.Counters;
|
||||
import forge.ImageCache;
|
||||
import forge.Singletons;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.view.toolbox.CardFaceSymbols;
|
||||
|
||||
/**
|
||||
@@ -585,7 +586,7 @@ public class CardPanel extends JPanel implements CardContainer {
|
||||
* a {@link forge.Card} object.
|
||||
*/
|
||||
public final void setText(final Card card) {
|
||||
if ((card == null) || !Singletons.getModel().getPreferences().isCardOverlay()) {
|
||||
if ((card == null) || !Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CARD_OVERLAY)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -635,7 +636,7 @@ public class CardPanel extends JPanel implements CardContainer {
|
||||
final Insets i = this.getInsets();
|
||||
final Image image = card == null ? null : ImageCache.getImage(card, this.getWidth() - i.left - i.right,
|
||||
this.getHeight() - i.top - i.bottom);
|
||||
if ((this.getGameCard() != null) && Singletons.getModel().getPreferences().isCardOverlay()) {
|
||||
if ((this.getGameCard() != null) && Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CARD_OVERLAY)) {
|
||||
this.setText(this.getGameCard());
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ import forge.gui.input.InputPayManaCost;
|
||||
import forge.gui.input.InputPayManaCostAbility;
|
||||
import forge.gui.input.InputPayManaCostUtil;
|
||||
import forge.item.CardPrinted;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.properties.NewConstants.Lang.GameAction.GameActionText;
|
||||
import forge.util.MyRandom;
|
||||
@@ -873,7 +874,6 @@ public class GameAction {
|
||||
}
|
||||
|
||||
if (this.canShowWinLose && this.checkEndGameState()) {
|
||||
AllZone.getDisplay().savePrefs();
|
||||
new ViewWinLose();
|
||||
this.canShowWinLose = false;
|
||||
return;
|
||||
@@ -1437,7 +1437,7 @@ public class GameAction {
|
||||
}
|
||||
|
||||
if (card.hasKeyword("Remove CARDNAME from your deck before playing if you're not playing for ante.")
|
||||
&& !Singletons.getModel().getPreferences().isPlayForAnte()) {
|
||||
&& !Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE)) {
|
||||
hAnteRemoved.add(card.getName());
|
||||
} else {
|
||||
AllZone.getHumanPlayer().getZone(Zone.Library).add(card);
|
||||
@@ -1479,7 +1479,7 @@ public class GameAction {
|
||||
}
|
||||
|
||||
if (card.hasKeyword("Remove CARDNAME from your deck before playing if you're not playing for ante.")
|
||||
&& !Singletons.getModel().getPreferences().isPlayForAnte()) {
|
||||
&& !Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE)) {
|
||||
cAnteRemoved.add(card.getName());
|
||||
} else {
|
||||
AllZone.getComputerPlayer().getZone(Zone.Library).add(card);
|
||||
@@ -1583,7 +1583,7 @@ public class GameAction {
|
||||
this.computerStartsGame();
|
||||
}
|
||||
|
||||
if (Singletons.getModel().getPreferences().isPlayForAnte()) {
|
||||
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE)) {
|
||||
final String nl = System.getProperty("line.separator");
|
||||
final StringBuilder msg = new StringBuilder();
|
||||
for (final Player p : AllZone.getPlayersInGame()) {
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.google.common.util.concurrent.UncheckedExecutionException;
|
||||
import com.mortennobel.imagescaling.ResampleOp;
|
||||
|
||||
import forge.item.InventoryItem;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.properties.NewConstants;
|
||||
|
||||
@@ -176,7 +177,7 @@ public class ImageCache {
|
||||
double scale = Math.min((double) width / original.getWidth(), (double) height / original.getHeight());
|
||||
// here would be the place to limit the scaling, scaling option in menu
|
||||
// ?
|
||||
if ((scale > 1) && !Singletons.getModel().getPreferences().isScaleLargerThanOriginal()) {
|
||||
if ((scale > 1) && !Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SCALE_LARGER)) {
|
||||
scale = 1;
|
||||
}
|
||||
|
||||
@@ -203,7 +204,7 @@ public class ImageCache {
|
||||
|
||||
double scale = Math.min((double) width / original.getWidth(), (double) height / original.getHeight());
|
||||
// here would be the place to limit the scaling option in menu ?
|
||||
if ((scale > 1) && !Singletons.getModel().getPreferences().isScaleLargerThanOriginal()) {
|
||||
if ((scale > 1) && !Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SCALE_LARGER)) {
|
||||
scale = 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import javax.swing.KeyStroke;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.view.GuiTopLevel;
|
||||
import forge.view.home.ViewSettings.KeyboardShortcutField;
|
||||
|
||||
@@ -100,12 +101,12 @@ public class KeyboardShortcuts {
|
||||
};
|
||||
|
||||
//========== Instantiate shortcut objects and add to list.
|
||||
list.add(new Shortcut("shortcut.showstack", "Match: show stack panel", actShowStack, am, im));
|
||||
list.add(new Shortcut("shortcut.showcombat", "Match: show combat panel", actShowCombat, am, im));
|
||||
list.add(new Shortcut("shortcut.showconsole", "Match: show console panel", actShowConsole, am, im));
|
||||
list.add(new Shortcut("shortcut.showplayers", "Match: show players panel", actShowPlayers, am, im));
|
||||
list.add(new Shortcut("shortcut.showdev", "Match: show dev panel", actShowDev, am, im));
|
||||
list.add(new Shortcut("shortcut.concede", "Match: concede game", actConcede, am, im));
|
||||
list.add(new Shortcut(FPref.SHORTCUT_SHOWSTACK, "Match: show stack panel", actShowStack, am, im));
|
||||
list.add(new Shortcut(FPref.SHORTCUT_SHOWCOMBAT, "Match: show combat panel", actShowCombat, am, im));
|
||||
list.add(new Shortcut(FPref.SHORTCUT_SHOWCONSOLE, "Match: show console panel", actShowConsole, am, im));
|
||||
list.add(new Shortcut(FPref.SHORTCUT_SHOWPLAYERS, "Match: show players panel", actShowPlayers, am, im));
|
||||
list.add(new Shortcut(FPref.SHORTCUT_SHOWDEV, "Match: show dev panel", actShowDev, am, im));
|
||||
list.add(new Shortcut(FPref.SHORTCUT_CONCEDE, "Match: concede game", actConcede, am, im));
|
||||
return list;
|
||||
} // End initMatchShortcuts()
|
||||
|
||||
@@ -158,7 +159,7 @@ public class KeyboardShortcuts {
|
||||
*/
|
||||
public static class Shortcut {
|
||||
/** */
|
||||
private String prefkey;
|
||||
private FPref prefkey;
|
||||
/** */
|
||||
private String description;
|
||||
/** */
|
||||
@@ -183,7 +184,7 @@ public class KeyboardShortcuts {
|
||||
* @param am0 ActionMap, of container targeted by shortcut
|
||||
* @param im0 InputMap, of container targeted by shortcut
|
||||
*/
|
||||
public Shortcut(final String prefkey0, final String description0,
|
||||
public Shortcut(final FPref prefkey0, final String description0,
|
||||
final Action handler0, final ActionMap am0, final InputMap im0) {
|
||||
|
||||
prefkey = prefkey0;
|
||||
@@ -203,14 +204,14 @@ public class KeyboardShortcuts {
|
||||
* String ident key in forge.preferences.
|
||||
* @return {@link java.lang.String}
|
||||
*/
|
||||
public String getPrefKey() {
|
||||
public FPref getPrefKey() {
|
||||
return prefkey;
|
||||
}
|
||||
|
||||
/** */
|
||||
public void attach() {
|
||||
detach();
|
||||
str = Singletons.getModel().getPreferences().getKeyboardShortcut(prefkey);
|
||||
str = Singletons.getModel().getPreferences().getPref(prefkey);
|
||||
key = KeyStroke.getKeyStroke(KeyboardShortcuts.codes2Chars(str));
|
||||
inputMap.put(key, str);
|
||||
actionMap.put(str, handler);
|
||||
|
||||
@@ -12,6 +12,7 @@ import forge.Constant;
|
||||
import forge.Singletons;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.properties.ForgePreferences.CardSizeType;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.view.GuiTopLevel;
|
||||
import forge.view.home.ViewSettings;
|
||||
import forge.view.toolbox.FSkin;
|
||||
@@ -56,7 +57,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbAnte().isSelected();
|
||||
prefs.setPlayForAnte(toggle);
|
||||
prefs.setPref(FPref.UI_ANTE, String.valueOf(toggle));
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
});
|
||||
@@ -65,7 +66,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbScaleLarger().isSelected();
|
||||
prefs.setScaleLargerThanOriginal(toggle);
|
||||
prefs.setPref(FPref.UI_SCALE_LARGER, String.valueOf(toggle));
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
});
|
||||
@@ -74,7 +75,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbDevMode().isSelected();
|
||||
prefs.setDeveloperMode(toggle);
|
||||
prefs.setPref(FPref.DEV_MODE_ENABLED, String.valueOf(toggle));
|
||||
Constant.Runtime.DEV_MODE[0] = toggle;
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
@@ -84,7 +85,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbRemoveSmall().isSelected();
|
||||
prefs.setDeckGenRmvSmall(toggle);
|
||||
prefs.setPref(FPref.DECKGEN_NOSMALL, String.valueOf(toggle));
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
});
|
||||
@@ -93,7 +94,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbRemoveArtifacts().isSelected();
|
||||
prefs.setDeckGenRmvArtifacts(toggle);
|
||||
prefs.setPref(FPref.DECKGEN_ARTIFACTS, String.valueOf(toggle));
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
});
|
||||
@@ -102,7 +103,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbSingletons().isSelected();
|
||||
prefs.setDeckGenSingletons(toggle);
|
||||
prefs.setPref(FPref.DECKGEN_SINGLETONS, String.valueOf(toggle));
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
});
|
||||
@@ -111,7 +112,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbUploadDraft().isSelected();
|
||||
prefs.setUploadDraftAI(toggle);
|
||||
prefs.setPref(FPref.UI_UPLOAD_DRAFT , String.valueOf(toggle));
|
||||
Constant.Runtime.UPLOAD_DRAFT[0] = toggle;
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
@@ -121,7 +122,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbStackLand().isSelected();
|
||||
prefs.setStackAiLand(toggle);
|
||||
prefs.setPref(FPref.UI_SMOOTH_LAND, String.valueOf(toggle));
|
||||
Constant.Runtime.SMOOTH[0] = toggle;
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
@@ -131,7 +132,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbRandomFoil().isSelected();
|
||||
prefs.setRandCFoil(toggle);
|
||||
prefs.setPref(FPref.UI_RANDOM_FOIL, String.valueOf(toggle));
|
||||
Constant.Runtime.RANDOM_FOIL[0] = toggle;
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
@@ -141,7 +142,7 @@ public class ControlSettings {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent arg0) {
|
||||
final boolean toggle = ControlSettings.this.view.getCbTextMana().isSelected();
|
||||
prefs.setCardOverlay(toggle);
|
||||
prefs.setPref(FPref.UI_CARD_OVERLAY, String.valueOf(toggle));
|
||||
try { prefs.save(); } catch (Exception e) { e.printStackTrace(); }
|
||||
}
|
||||
});
|
||||
@@ -153,7 +154,7 @@ public class ControlSettings {
|
||||
|
||||
skin.loadFontsAndImages();
|
||||
|
||||
prefs.setSkin(name);
|
||||
prefs.setPref(FPref.UI_SKIN, name);
|
||||
Singletons.getView().setSkin(skin);
|
||||
((GuiTopLevel) AllZone.getDisplay()).getController().changeState(0);
|
||||
|
||||
@@ -167,7 +168,7 @@ public class ControlSettings {
|
||||
* @throws Exception */
|
||||
public void updateCardSize(JRadioButton rad0) throws Exception {
|
||||
CardSizeType cst = CardSizeType.valueOf(rad0.getText().toLowerCase());
|
||||
Singletons.getModel().getPreferences().setCardSize(cst);
|
||||
Singletons.getModel().getPreferences().setPref(FPref.UI_CARD_SIZE, cst.toString());
|
||||
prefs.save();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import forge.AllZone;
|
||||
import forge.GuiDisplayUtil;
|
||||
import forge.MyObservable;
|
||||
import forge.Singletons;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.view.match.ViewTabber;
|
||||
|
||||
/**
|
||||
@@ -61,13 +62,13 @@ public class ControlTabber extends MyObservable {
|
||||
public ControlTabber(final ViewTabber v) {
|
||||
this.view = v;
|
||||
|
||||
if (Singletons.getModel().getPreferences().isMillingLossCondition()) {
|
||||
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.DEV_MILLING_LOSS)) {
|
||||
this.view.getLblMilling().setEnabled(true);
|
||||
} else {
|
||||
this.view.getLblMilling().setEnabled(false);
|
||||
}
|
||||
|
||||
if (Singletons.getModel().getPreferences().isUnlimitedLand()) {
|
||||
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.DEV_UNLIMITED_LAND)) {
|
||||
this.view.getLblUnlimitedLands().setEnabled(true);
|
||||
} else {
|
||||
this.view.getLblUnlimitedLands().setEnabled(false);
|
||||
|
||||
@@ -16,6 +16,7 @@ import forge.game.GameType;
|
||||
import forge.gui.GuiUtils;
|
||||
import forge.item.CardDb;
|
||||
import forge.item.CardPrinted;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.view.GuiTopLevel;
|
||||
import forge.view.match.ViewWinLose;
|
||||
|
||||
@@ -84,7 +85,7 @@ public class ControlWinLose {
|
||||
* with other game modes.
|
||||
*/
|
||||
public void startNextRound() {
|
||||
boolean isAnte = Singletons.getModel().getPreferences().isPlayForAnte();
|
||||
boolean isAnte = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE);
|
||||
GameType gameType = Constant.Runtime.getGameType();
|
||||
|
||||
//This is called from QuestWinLoseHandler also. If we're in a quest, this is already handled elsewhere
|
||||
|
||||
@@ -31,6 +31,7 @@ import forge.Constant;
|
||||
import forge.PlayerType;
|
||||
import forge.Singletons;
|
||||
import forge.error.ErrorViewer;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
@@ -81,7 +82,7 @@ public class Generate2ColorDeck {
|
||||
this.notColors.add("red");
|
||||
this.notColors.add("green");
|
||||
|
||||
if (Singletons.getModel().getPreferences().isDeckGenSingletons()) {
|
||||
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_SINGLETONS)) {
|
||||
this.maxDuplicates = 1;
|
||||
}
|
||||
|
||||
@@ -145,7 +146,7 @@ public class Generate2ColorDeck {
|
||||
|
||||
// reduce to cards that match the colors
|
||||
CardList cl1 = allCards.getColor(this.color1);
|
||||
if (!Singletons.getModel().getPreferences().isDeckGenRmvArtifacts()) {
|
||||
if (!Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_ARTIFACTS)) {
|
||||
cl1.addAll(allCards.getColor(Constant.Color.COLORLESS));
|
||||
}
|
||||
CardList cl2 = allCards.getColor(this.color2);
|
||||
|
||||
@@ -31,6 +31,7 @@ import forge.Constant;
|
||||
import forge.PlayerType;
|
||||
import forge.Singletons;
|
||||
import forge.error.ErrorViewer;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
@@ -84,7 +85,7 @@ public class Generate3ColorDeck {
|
||||
this.notColors.add("red");
|
||||
this.notColors.add("green");
|
||||
|
||||
if (Singletons.getModel().getPreferences().isDeckGenSingletons()) {
|
||||
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_SINGLETONS)) {
|
||||
this.maxDuplicates = 1;
|
||||
}
|
||||
|
||||
@@ -157,7 +158,7 @@ public class Generate3ColorDeck {
|
||||
|
||||
// reduce to cards that match the colors
|
||||
CardList cl1 = allCards.getColor(this.color1);
|
||||
if (!Singletons.getModel().getPreferences().isDeckGenRmvArtifacts()) {
|
||||
if (!Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_ARTIFACTS)) {
|
||||
cl1.addAll(allCards.getColor(Constant.Color.COLORLESS));
|
||||
}
|
||||
CardList cl2 = allCards.getColor(this.color2);
|
||||
|
||||
@@ -32,6 +32,7 @@ import forge.PlayerType;
|
||||
import forge.Singletons;
|
||||
import forge.error.ErrorViewer;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
/**
|
||||
@@ -110,7 +111,7 @@ public class Generate5ColorDeck {
|
||||
this.notColors.remove(this.color4);
|
||||
this.notColors.remove(this.color5);
|
||||
|
||||
if (Singletons.getModel().getPreferences().isDeckGenSingletons()) {
|
||||
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_SINGLETONS)) {
|
||||
this.maxDuplicates = 1;
|
||||
}
|
||||
|
||||
@@ -155,7 +156,7 @@ public class Generate5ColorDeck {
|
||||
|
||||
// reduce to cards that match the colors
|
||||
CardList cL1 = allCards.getColor(this.color1);
|
||||
if (!Singletons.getModel().getPreferences().isDeckGenRmvArtifacts()) {
|
||||
if (!Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_ARTIFACTS)) {
|
||||
cL1.addAll(allCards.getColor(Constant.Color.COLORLESS));
|
||||
}
|
||||
CardList cL2 = allCards.getColor(this.color2);
|
||||
|
||||
@@ -30,6 +30,7 @@ import forge.CardListUtil;
|
||||
import forge.CardUtil;
|
||||
import forge.Constant;
|
||||
import forge.Singletons;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -182,7 +183,7 @@ public class GenerateConstructedDeck {
|
||||
// is this really a colorless artifact and not something
|
||||
// weird like Sarcomite Myr which is a colored artifact
|
||||
return c.isArtifact() && CardUtil.getColors(c).contains(Constant.Color.COLORLESS)
|
||||
&& !Singletons.getModel().getPreferences().isDeckGenRmvArtifacts();
|
||||
&& !Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_ARTIFACTS);
|
||||
}
|
||||
});
|
||||
out.addAll(artifact);
|
||||
@@ -191,7 +192,7 @@ public class GenerateConstructedDeck {
|
||||
@Override
|
||||
public boolean addCard(final Card c) {
|
||||
if (c.isCreature() && (c.getNetAttack() <= 1)
|
||||
&& Singletons.getModel().getPreferences().isDeckGenRmvSmall()) {
|
||||
&& Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_NOSMALL)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import forge.CardListUtil;
|
||||
import forge.CardUtil;
|
||||
import forge.Constant;
|
||||
import forge.Singletons;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -381,7 +382,7 @@ public class GenerateConstructedMultiColorDeck {
|
||||
// is this really a colorless artifact and not something
|
||||
// wierd like Sarcomite Myr which is a colored artifact
|
||||
return c.isArtifact() && CardUtil.getColors(c).contains(Constant.Color.COLORLESS)
|
||||
&& !Singletons.getModel().getPreferences().isDeckGenRmvArtifacts();
|
||||
&& !Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_ARTIFACTS);
|
||||
}
|
||||
});
|
||||
out.addAll(artifact);
|
||||
@@ -390,7 +391,7 @@ public class GenerateConstructedMultiColorDeck {
|
||||
@Override
|
||||
public boolean addCard(final Card c) {
|
||||
if (c.isCreature() && (c.getNetAttack() <= 1)
|
||||
&& Singletons.getModel().getPreferences().isDeckGenRmvSmall()) {
|
||||
&& Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_NOSMALL)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -436,7 +437,7 @@ public class GenerateConstructedMultiColorDeck {
|
||||
// is this really a colorless artifact and not something
|
||||
// wierd like Sarcomite Myr which is a colored artifact
|
||||
return c.isArtifact() && CardUtil.getColors(c).contains(Constant.Color.COLORLESS)
|
||||
&& !Singletons.getModel().getPreferences().isDeckGenRmvArtifacts();
|
||||
&& !Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_ARTIFACTS);
|
||||
}
|
||||
});
|
||||
out.addAll(artifact);
|
||||
@@ -445,7 +446,7 @@ public class GenerateConstructedMultiColorDeck {
|
||||
@Override
|
||||
public boolean addCard(final Card c) {
|
||||
if (c.isCreature() && (c.getNetAttack() <= 1)
|
||||
&& Singletons.getModel().getPreferences().isDeckGenRmvSmall()) {
|
||||
&& Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_NOSMALL)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ import org.mantisbt.connect.ui.DefaultSubmitter;
|
||||
import forge.Singletons;
|
||||
import forge.model.BuildInfo;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.properties.NewConstants;
|
||||
|
||||
@@ -188,10 +189,10 @@ public class BugzReporter extends JDialog {
|
||||
this.contentPanel.add(this.txtUserName);
|
||||
this.txtUserName.setColumns(4);
|
||||
try {
|
||||
this.prefs = new ForgePreferences("forge.preferences");
|
||||
if (!this.prefs.getBugzName().equals("")) {
|
||||
this.txtUserName.setText(this.prefs.getBugzName());
|
||||
this.txtPassword.setText(this.prefs.getBugzPwd());
|
||||
this.prefs = new ForgePreferences();
|
||||
if (!this.prefs.getPref(FPref.UI_BUGZ_NAME).equals("")) {
|
||||
this.txtUserName.setText(this.prefs.getPref(FPref.UI_BUGZ_NAME));
|
||||
this.txtPassword.setText(this.prefs.getPref(FPref.UI_BUGZ_PWD));
|
||||
this.chkReportAnonymously.setSelected(false);
|
||||
} else {
|
||||
this.chkReportAnonymously.setSelected(true);
|
||||
@@ -209,9 +210,9 @@ public class BugzReporter extends JDialog {
|
||||
BugzReporter.this.txtUserName.setText("ForgeGUI");
|
||||
BugzReporter.this.txtPassword.setText("vi2ccTbfBUu^");
|
||||
} else {
|
||||
if (!BugzReporter.this.prefs.getBugzName().equals("")) {
|
||||
BugzReporter.this.txtUserName.setText(BugzReporter.this.prefs.getBugzName());
|
||||
BugzReporter.this.txtPassword.setText(BugzReporter.this.prefs.getBugzPwd());
|
||||
if (!BugzReporter.this.prefs.getPref(FPref.UI_BUGZ_NAME).equals("")) {
|
||||
BugzReporter.this.txtUserName.setText(BugzReporter.this.prefs.getPref(FPref.UI_BUGZ_NAME));
|
||||
BugzReporter.this.txtPassword.setText(BugzReporter.this.prefs.getPref(FPref.UI_BUGZ_PWD));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -458,8 +459,8 @@ public class BugzReporter extends JDialog {
|
||||
break Report;
|
||||
}
|
||||
|
||||
this.prefs.setBugzName(this.txtUserName.getText());
|
||||
this.prefs.setBugzPwd(String.valueOf(this.txtPassword.getPassword()));
|
||||
this.prefs.setPref(FPref.UI_BUGZ_NAME, this.txtUserName.getText());
|
||||
this.prefs.setPref(FPref.UI_BUGZ_PWD, String.valueOf(this.txtPassword.getPassword()));
|
||||
try {
|
||||
this.prefs.save();
|
||||
} catch (final Exception e) {
|
||||
|
||||
@@ -36,6 +36,7 @@ import forge.gui.input.InputControl;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.quest.data.QuestPreferences;
|
||||
import forge.util.FileUtil;
|
||||
import forge.util.HttpUtil;
|
||||
@@ -86,7 +87,7 @@ public class FModel {
|
||||
|
||||
// Instantiate preferences
|
||||
try {
|
||||
this.preferences = new ForgePreferences("forge.preferences");
|
||||
this.preferences = new ForgePreferences();
|
||||
} catch (final Exception exn) {
|
||||
throw new RuntimeException(exn);
|
||||
}
|
||||
@@ -99,7 +100,7 @@ public class FModel {
|
||||
// Unfortunately, they're tied up in legacy code in the Display interface,
|
||||
// currently in GuiTopLevel. When that code is updated, this TODO should be resolved.
|
||||
// Doublestrike 24-01-12
|
||||
Constant.Runtime.DEV_MODE[0] = preferences.isDeveloperMode();
|
||||
Constant.Runtime.DEV_MODE[0] = preferences.getPrefBoolean(FPref.DEV_MODE_ENABLED);
|
||||
|
||||
// Instantiate AI
|
||||
AllZone.setInputControl(new InputControl(FModel.this));
|
||||
|
||||
@@ -19,14 +19,12 @@ package forge.properties;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.TreeSet;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -40,117 +38,118 @@ import java.util.TreeSet;
|
||||
* @version $Id$
|
||||
*/
|
||||
public class ForgePreferences {
|
||||
private String fileName = "forge.preferences";
|
||||
private Map<String, String> prefs;
|
||||
private Map<FPref, String> preferenceValues;
|
||||
|
||||
/**
|
||||
* Initializes default values for preferences and sets a file address.
|
||||
*
|
||||
* Note: preferences must be loaded separately.
|
||||
*
|
||||
* @param s0   File address string
|
||||
/**
|
||||
* Preference identifiers, and their default values.
|
||||
* When this class is instantiated, these enum values are used
|
||||
* in a map that is populated with the current preferences
|
||||
* from the text file.
|
||||
*/
|
||||
public ForgePreferences(String s0) {
|
||||
this.fileName = s0;
|
||||
File f = new File(fileName);
|
||||
public enum FPref { /** */
|
||||
UI_USE_OLD ("false"), /** */
|
||||
UI_RANDOM_FOIL ("false"), /** */
|
||||
UI_LAYOUT_PARAMS ("0.15,0.55,0.68,0.73,0.44,0.40"), /** */
|
||||
UI_SMOOTH_LAND ("false"), /** */
|
||||
UI_USE_SKIN ("default"), /** */
|
||||
UI_CARD_OVERLAY ("true"), /** */
|
||||
UI_UPLOAD_DRAFT ("false"), /** */
|
||||
UI_SCALE_LARGER ("false"), /** */
|
||||
UI_MAX_STACK ("3"), /** */
|
||||
UI_STACK_OFFSET ("tiny"), /** */
|
||||
UI_CARD_SIZE ("small"), /** */
|
||||
UI_BUGZ_NAME (""), /** */
|
||||
UI_BUGZ_PWD (""), /** */
|
||||
UI_ANTE ("false"), /** */
|
||||
UI_SKIN ("default"), /** */
|
||||
|
||||
if (!f.exists()) { makeNew(); }
|
||||
else { load(); }
|
||||
DEV_MODE_ENABLED ("false"), /** */
|
||||
DEV_MILLING_LOSS ("true"), /** */
|
||||
DEV_UNLIMITED_LAND ("false"), /** */
|
||||
|
||||
// Test for existence of old file
|
||||
if (prefs.get("ui.use.skin") == null) {
|
||||
makeNew();
|
||||
DECKGEN_SINGLETONS ("false"), /** */
|
||||
DECKGEN_ARTIFACTS ("false"), /** */
|
||||
DECKGEN_NOSMALL ("false"), /** */
|
||||
|
||||
PHASE_AI_UPKEEP ("true"), /** */
|
||||
PHASE_AI_DRAW ("true"), /** */
|
||||
PHASE_AI_MAIN1 ("true"), /** */
|
||||
PHASE_AI_BEGINCOMBAT ("true"), /** */
|
||||
PHASE_AI_DECLAREATTACKERS ("true"), /** */
|
||||
PHASE_AI_DECLAREBLOCKERS ("true"), /** */
|
||||
PHASE_AI_FIRSTSTRIKE ("true"), /** */
|
||||
PHASE_AI_COMBATDAMAGE ("true"), /** */
|
||||
PHASE_AI_ENDCOMBAT ("true"), /** */
|
||||
PHASE_AI_MAIN2 ("true"), /** */
|
||||
PHASE_AI_EOT ("true"), /** */
|
||||
PHASE_AI_CLEANUP ("true"), /** */
|
||||
|
||||
PHASE_HUMAN_UPKEEP ("true"), /** */
|
||||
PHASE_HUMAN_DRAW ("true"), /** */
|
||||
PHASE_HUMAN_MAIN1 ("true"), /** */
|
||||
PHASE_HUMAN_BEGINCOMBAT ("true"), /** */
|
||||
PHASE_HUMAN_DECLAREATTACKERS ("true"), /** */
|
||||
PHASE_HUMAN_DECLAREBLOCKERS ("true"), /** */
|
||||
PHASE_HUMAN_FIRSTSTRIKE ("true"), /** */
|
||||
PHASE_HUMAN_COMBATDAMAGE ("true"), /** */
|
||||
PHASE_HUMAN_ENDCOMBAT ("true"), /** */
|
||||
PHASE_HUMAN_MAIN2 ("true"), /** */
|
||||
PHASE_HUMAN_EOT ("true"), /** */
|
||||
PHASE_HUMAN_CLEANUP ("true"), /** */
|
||||
|
||||
SHORTCUT_SHOWSTACK ("83"), /** */
|
||||
SHORTCUT_SHOWCOMBAT ("67"), /** */
|
||||
SHORTCUT_SHOWCONSOLE ("76"), /** */
|
||||
SHORTCUT_SHOWPLAYERS ("80"), /** */
|
||||
SHORTCUT_SHOWDEV ("68"), /** */
|
||||
SHORTCUT_CONCEDE ("17");
|
||||
|
||||
private final String strDefaultVal;
|
||||
|
||||
/** @param s0   {@link java.lang.String} */
|
||||
FPref(String s0) {
|
||||
this.strDefaultVal = s0;
|
||||
}
|
||||
|
||||
/** @return {@link java.lang.String} */
|
||||
public String getDefault() {
|
||||
return strDefaultVal;
|
||||
}
|
||||
}
|
||||
|
||||
private void makeNew() {
|
||||
prefs = new HashMap<String, String>();
|
||||
//========== Default values for all preferences:
|
||||
// UI preferences
|
||||
prefs.put("ui.use.old", "false");
|
||||
prefs.put("ui.random.foil", "false");
|
||||
prefs.put("ui.layout.params", "");
|
||||
prefs.put("ui.smooth.land", "false");
|
||||
prefs.put("ui.use.skin", "default");
|
||||
prefs.put("ui.card.overlay", "true");
|
||||
prefs.put("ui.upload.draft", "false");
|
||||
prefs.put("ui.scale.larger", "false");
|
||||
prefs.put("ui.max.stack", "3");
|
||||
prefs.put("ui.stack.offset", "tiny");
|
||||
prefs.put("ui.card.size", "small");
|
||||
prefs.put("ui.bugz.name", "");
|
||||
prefs.put("ui.bugz.pwd", "");
|
||||
prefs.put("ui.ante", "false");
|
||||
|
||||
// Devmode preferences
|
||||
prefs.put("dev.mode", "false");
|
||||
prefs.put("dev.milling.loss", "true");
|
||||
prefs.put("dev.unlimited.land", "false");
|
||||
|
||||
//Deck generation preferences
|
||||
prefs.put("deckgen.singletons", "false");
|
||||
prefs.put("deckgen.artifacts", "false");
|
||||
prefs.put("deckgen.nosmall", "false");
|
||||
|
||||
// Phase toggle preferences
|
||||
prefs.put("phase.ai.upkeep", "true");
|
||||
prefs.put("phase.ai.draw", "true");
|
||||
prefs.put("phase.ai.main1", "true");
|
||||
prefs.put("phase.ai.beginCombat", "true");
|
||||
prefs.put("phase.ai.declareAttackers", "true");
|
||||
prefs.put("phase.ai.declareBlockers", "true");
|
||||
prefs.put("phase.ai.firstStrike", "true");
|
||||
prefs.put("phase.ai.combatDamage", "true");
|
||||
prefs.put("phase.ai.endCombat", "true");
|
||||
prefs.put("phase.ai.main2", "true");
|
||||
prefs.put("phase.ai.eot", "true");
|
||||
prefs.put("phase.ai.cleanup", "true");
|
||||
|
||||
prefs.put("phase.human.upkeep", "true");
|
||||
prefs.put("phase.human.draw", "true");
|
||||
prefs.put("phase.human.main1", "true");
|
||||
prefs.put("phase.human.beginCombat", "true");
|
||||
prefs.put("phase.human.declareAttackers", "true");
|
||||
prefs.put("phase.human.declareBlockers", "true");
|
||||
prefs.put("phase.human.firstStrike", "true");
|
||||
prefs.put("phase.human.combatDamage", "true");
|
||||
prefs.put("phase.human.endCombat", "true");
|
||||
prefs.put("phase.human.main2", "true");
|
||||
prefs.put("phase.human.eot", "true");
|
||||
prefs.put("phase.human.cleanup", "true");
|
||||
|
||||
// Keyboard shortcuts
|
||||
prefs.put("shortcut.showstack", "83");
|
||||
prefs.put("shortcut.showcombat", "67");
|
||||
prefs.put("shortcut.showconsole", "76");
|
||||
prefs.put("shortcut.showplayers", "80");
|
||||
prefs.put("shortcut.showdev", "68");
|
||||
prefs.put("shortcut.concede", "17");
|
||||
|
||||
save();
|
||||
/** */
|
||||
public enum CardSizeType {
|
||||
/** */
|
||||
tiny, smaller, small, medium, large, huge
|
||||
}
|
||||
//========== File handling
|
||||
|
||||
/** Loads preferences from file into prefs map. */
|
||||
public void load() {
|
||||
BufferedReader reader = null;
|
||||
/** */
|
||||
public enum StackOffsetType {
|
||||
/** */
|
||||
tiny, small, medium, large
|
||||
}
|
||||
|
||||
/** Instantiates a ForgePreferences object. */
|
||||
public ForgePreferences() {
|
||||
preferenceValues = new HashMap<FPref, String>();
|
||||
try {
|
||||
final BufferedReader input = new BufferedReader(new FileReader(NewConstants.PREFERENCE_FILE));
|
||||
String line = null;
|
||||
reader = new BufferedReader(new FileReader(fileName));
|
||||
prefs = new HashMap<String, String>();
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String[] pair = line.split("=");
|
||||
if (pair.length != 2) {
|
||||
while ((line = input.readLine()) != null) {
|
||||
if (line.startsWith("#") || (line.length() == 0)) {
|
||||
continue;
|
||||
}
|
||||
prefs.put(pair[0], pair[1]);
|
||||
|
||||
final String[] split = line.split("=");
|
||||
|
||||
if (split.length == 2) {
|
||||
this.setPref(split[0], split[1]);
|
||||
}
|
||||
}
|
||||
reader.close();
|
||||
} catch (FileNotFoundException ex) {
|
||||
ex.printStackTrace();
|
||||
//ex.printStackTrace();
|
||||
} catch (IOException ex) {
|
||||
ex.printStackTrace();
|
||||
//ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,10 +158,9 @@ public class ForgePreferences {
|
||||
BufferedWriter writer = null;
|
||||
|
||||
try {
|
||||
writer = new BufferedWriter(new FileWriter(fileName));
|
||||
TreeSet<String> keys = new TreeSet<String>(prefs.keySet());
|
||||
for (String key : keys) {
|
||||
writer.write(key + "=" + prefs.get(key));
|
||||
writer = new BufferedWriter(new FileWriter(NewConstants.PREFERENCE_FILE));
|
||||
for (FPref key : FPref.values()) {
|
||||
writer.write(key + "=" + getPref(key));
|
||||
writer.newLine();
|
||||
}
|
||||
|
||||
@@ -175,286 +173,62 @@ public class ForgePreferences {
|
||||
}
|
||||
}
|
||||
|
||||
//========== Enums
|
||||
/** */
|
||||
public static enum CardSizeType {
|
||||
/** */
|
||||
tiny, smaller, small, medium, large, huge
|
||||
/**
|
||||
* DUE TO BE DEPRECATED:
|
||||
* Transition code between preference manager for v1.2.2 and v1.2.3.
|
||||
* (string-based vs. enum-based)
|
||||
*
|
||||
* @param s0   {@link java.lang.String} identifier of preference
|
||||
* @param s1   {@link java.lang.String} value
|
||||
*/
|
||||
public void setPref(String s0, String s1) {
|
||||
try {
|
||||
preferenceValues.put(FPref.valueOf(s0), s1);
|
||||
}
|
||||
catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
/** */
|
||||
public static enum StackOffsetType {
|
||||
/** */
|
||||
tiny, small, medium, large
|
||||
/**
|
||||
* @param q0   {@link forge.properties.ForgePreferences.FPref}
|
||||
* @param s0   {@link java.lang.String} value
|
||||
*/
|
||||
public void setPref(FPref q0, String s0) {
|
||||
preferenceValues.put(q0, s0);
|
||||
}
|
||||
|
||||
//========== Setters / getters: UI prefs
|
||||
/**
|
||||
* Returns a non-difficulty-indexed preference value.
|
||||
*
|
||||
* @param fp0   {@link forge.quest.data.ForgePreferences.FPref}
|
||||
* @return String
|
||||
*/
|
||||
public String getPref(FPref fp0) {
|
||||
String val;
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isStackAiLand() {
|
||||
return Boolean.parseBoolean(prefs.get("ui.smooth.land"));
|
||||
val = preferenceValues.get(fp0);
|
||||
if (val == null) { val = fp0.getDefault(); }
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setStackAiLand(boolean b0) {
|
||||
prefs.put("ui.smooth.land", Boolean.toString(b0));
|
||||
/**
|
||||
* Returns a non-difficulty-indexed preference value, as an int.
|
||||
*
|
||||
* @param fp0   {@link forge.quest.data.ForgePreferences.FPref}
|
||||
* @return int
|
||||
*/
|
||||
public int getPrefInt(FPref fp0) {
|
||||
return Integer.parseInt(getPref(fp0));
|
||||
}
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isOldGui() {
|
||||
return Boolean.parseBoolean(prefs.get("ui.use.old"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setOldGui(boolean b0) {
|
||||
prefs.put("ui.use.old", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return String of six values, comma delimited */
|
||||
public String getUILayout() {
|
||||
return prefs.get("ui.layout.params");
|
||||
}
|
||||
|
||||
/** @param s0   String of six values, comma delimited */
|
||||
public void setUILayout(String s0) {
|
||||
prefs.put("ui.layout.params", s0);
|
||||
}
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isUploadDraftAI() {
|
||||
return Boolean.parseBoolean(prefs.get("ui.upload.draft"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setUploadDraftAI(boolean b0) {
|
||||
prefs.put("ui.upload.draft", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return the randCFoil */
|
||||
public boolean isRandCFoil() {
|
||||
return Boolean.parseBoolean(prefs.get("ui.random.foil"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setRandCFoil(boolean b0) {
|
||||
prefs.put("ui.random.foil", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @param skin0   String skin name*/
|
||||
public void setSkin(String skin0) {
|
||||
prefs.put("ui.use.skin", skin0);
|
||||
}
|
||||
|
||||
/** @return boolean*/
|
||||
public boolean isCardOverlay() {
|
||||
return Boolean.parseBoolean(prefs.get("ui.card.overlay"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setCardOverlay(boolean b0) {
|
||||
prefs.put("ui.card.overlay", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return int */
|
||||
public int getMaxStackSize() {
|
||||
return Integer.parseInt(prefs.get("ui.max.stack"));
|
||||
}
|
||||
|
||||
/** @param i0   int, max stack size */
|
||||
public void setMaxStackSize(int i0) {
|
||||
prefs.put("ui.max.stack", Integer.toString(i0));
|
||||
}
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isScaleLargerThanOriginal() {
|
||||
return Boolean.parseBoolean(prefs.get("ui.scale.larger"));
|
||||
}
|
||||
|
||||
/** @param b0 boolean */
|
||||
public void setScaleLargerThanOriginal(boolean b0) {
|
||||
prefs.put("ui.scale.larger", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isPlayForAnte() {
|
||||
return Boolean.parseBoolean(prefs.get("ui.ante"));
|
||||
}
|
||||
|
||||
/** @param b0 boolean */
|
||||
public void setPlayForAnte(boolean b0) {
|
||||
prefs.put("ui.ante", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
//========== Setters / getters: Dev mode prefs
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isMillingLossCondition() {
|
||||
return Boolean.parseBoolean(prefs.get("dev.milling.loss"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setMillingLossCondition(boolean b0) {
|
||||
prefs.put("dev.milling.loss", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isUnlimitedLand() {
|
||||
return Boolean.parseBoolean(prefs.get("dev.unlimited.land"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setUnlimitedLand(boolean b0) {
|
||||
prefs.put("dev.unlimited.land", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isDeveloperMode() {
|
||||
return Boolean.parseBoolean(prefs.get("dev.mode"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setDeveloperMode(boolean b0) {
|
||||
prefs.put("dev.mode", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return CardSizeType */
|
||||
public CardSizeType getCardSize() {
|
||||
return CardSizeType.valueOf(prefs.get("ui.card.size"));
|
||||
}
|
||||
|
||||
/** @param cst0   CardSizeType */
|
||||
public void setCardSize(CardSizeType cst0) {
|
||||
prefs.put("ui.card.size", cst0.toString());
|
||||
}
|
||||
|
||||
/** @return StackOffsetType */
|
||||
public StackOffsetType getStackOffset() {
|
||||
return StackOffsetType.valueOf(prefs.get("ui.stack.offset"));
|
||||
}
|
||||
|
||||
/** @param sot0   StackOffsetType */
|
||||
public void setStackOffset(StackOffsetType sot0) {
|
||||
prefs.put("ui.stack.offset", sot0.toString());
|
||||
}
|
||||
|
||||
/** @return String skin name */
|
||||
public String getSkin() {
|
||||
return prefs.get("ui.use.skin");
|
||||
}
|
||||
|
||||
/** @return String */
|
||||
public String getBugzName() {
|
||||
return prefs.get("ui.bugz.name");
|
||||
}
|
||||
|
||||
/** @param s0   String bugzName */
|
||||
public void setBugzName(String s0) {
|
||||
prefs.put("ui.bugz.name", s0);
|
||||
}
|
||||
|
||||
/** @return String */
|
||||
public String getBugzPwd() {
|
||||
return prefs.get("ui.bugz.pwd");
|
||||
}
|
||||
|
||||
/** @param s0   String password */
|
||||
public void setBugzPwd(String s0) {
|
||||
prefs.put("ui.bugz.pwd", s0);
|
||||
}
|
||||
|
||||
//========== Setters / getters: Deck generation prefs
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isDeckGenSingletons() {
|
||||
return Boolean.parseBoolean(prefs.get("deckgen.singletons"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setDeckGenSingletons(boolean b0) {
|
||||
prefs.put("deckgen.singletons", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isDeckGenRmvArtifacts() {
|
||||
return Boolean.parseBoolean(prefs.get("deckgen.artifacts"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setDeckGenRmvArtifacts(boolean b0) {
|
||||
prefs.put("deckgen.artifacts", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
/** @return boolean */
|
||||
public boolean isDeckGenRmvSmall() {
|
||||
return Boolean.parseBoolean(prefs.get("deckgen.nosmall"));
|
||||
}
|
||||
|
||||
/** @param b0   boolean */
|
||||
public void setDeckGenRmvSmall(boolean b0) {
|
||||
prefs.put("deckgen.nosmall", Boolean.toString(b0));
|
||||
}
|
||||
|
||||
//========== Phase and shortcut setter/getter
|
||||
|
||||
/**
|
||||
* Prints exception stack trace if phase name is not in the list.
|
||||
* @param s0   String phase name
|
||||
/**
|
||||
* Returns a non-difficulty-indexed preference value, as a boolean.
|
||||
*
|
||||
* @param fp0   {@link forge.quest.data.ForgePreferences.FPref}
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isShowPhase(String s0) {
|
||||
if (prefs.get(s0) != null) {
|
||||
return Boolean.parseBoolean(prefs.get(s0));
|
||||
}
|
||||
else {
|
||||
Exception ex = new Exception();
|
||||
ex.printStackTrace();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints exception stack trace if phase name is not in the list.
|
||||
* @param s0   String phase name
|
||||
* @param b0   boolean
|
||||
*/
|
||||
public void setShowPhase(String s0, boolean b0) {
|
||||
if (prefs.get(s0) != null) {
|
||||
prefs.put(s0, Boolean.toString(b0));
|
||||
}
|
||||
else {
|
||||
Exception ex = new Exception();
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints exception stack trace if shortcut is not in the list.
|
||||
* @param s0   String shortcut key code(s)
|
||||
* @return boolean
|
||||
*/
|
||||
public String getKeyboardShortcut(String s0) {
|
||||
if (prefs.get(s0) != null) {
|
||||
return prefs.get(s0);
|
||||
}
|
||||
else {
|
||||
Exception ex = new Exception();
|
||||
ex.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints exception stack trace if shortcut is not in the list.
|
||||
* @param s0   String shortcut name
|
||||
* @param s1   String shortcut key code(s)
|
||||
*/
|
||||
public void setKeyboardShortcut(String s0, String s1) {
|
||||
if (prefs.get(s0) != null) {
|
||||
prefs.put(s0, s1);
|
||||
}
|
||||
else {
|
||||
Exception ex = new Exception();
|
||||
ex.printStackTrace();
|
||||
}
|
||||
public boolean getPrefBoolean(FPref fp0) {
|
||||
return Boolean.parseBoolean(getPref(fp0));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,13 +43,15 @@ public final class NewConstants {
|
||||
/** Constant <code>CARDFORGE_URL = "program/cardforgeURL"</code>. */
|
||||
public static final String CARDFORGE_URL = "program/cardforgeURL";
|
||||
|
||||
/** Constant <code>CARDFORGE_URL = "program/cardforgeURL"</code>. */
|
||||
public static final String PREFERENCE_FILE = "forge.preferences";
|
||||
|
||||
/** Constant <code>DECKS="decks"</code>. */
|
||||
public static final String DECKS = "decks";
|
||||
/** Constant <code>BOOSTER_DECKS="booster-decks"</code>. */
|
||||
public static final String BOOSTER_DECKS = "booster-decks";
|
||||
/** Constant <code>NEW_DECKS="decks-dir"</code>. */
|
||||
public static final String NEW_DECKS = "decks-dir";
|
||||
|
||||
|
||||
/** Constant <code>TOKENS="tokens"</code>. */
|
||||
public static final String TOKENS = "tokens";
|
||||
@@ -209,7 +211,8 @@ public final class NewConstants {
|
||||
|
||||
/** The PET_TOKEN_IMAGES. */
|
||||
public static final String PET_TOKEN_IMAGES = "quest/pet/tokens";
|
||||
|
||||
|
||||
/** */
|
||||
public static final String PRECONS = "quest/precons-dir";
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,6 @@ import forge.properties.NewConstants.Quest;
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class QuestPreferences implements Serializable {
|
||||
|
||||
private Map<QPref, String> preferenceValues;
|
||||
|
||||
/**
|
||||
@@ -151,12 +150,15 @@ public class QuestPreferences implements Serializable {
|
||||
}
|
||||
|
||||
final String[] split = line.split("=");
|
||||
this.setPreference(split[0], split[1]);
|
||||
|
||||
if (split.length == 2) {
|
||||
this.setPreference(split[0], split[1]);
|
||||
}
|
||||
}
|
||||
} catch (FileNotFoundException ex) {
|
||||
ex.printStackTrace();
|
||||
//ex.printStackTrace();
|
||||
} catch (IOException ex) {
|
||||
ex.printStackTrace();
|
||||
//ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,8 +189,7 @@ public class QuestPreferences implements Serializable {
|
||||
/**
|
||||
* DUE TO BE DEPRECATED:
|
||||
* Transition code between preference manager for v1.2.2 and v1.2.3.
|
||||
* Should be able to delete very neatly after release of 1.2.3,
|
||||
* perhaps sooner.
|
||||
* (string-based vs. enum-based)
|
||||
*
|
||||
* @param s0   {@link java.lang.String} identifier of preference
|
||||
* @param s1   {@link java.lang.String} value
|
||||
@@ -202,7 +203,7 @@ public class QuestPreferences implements Serializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param q0   {@link forge.quest.data.CopyOfQuestPreferences.QPref}
|
||||
* @param q0   {@link forge.quest.data.QuestPreferences.QPref}
|
||||
* @param s0   {@link java.lang.String} value
|
||||
*/
|
||||
public void setPreference(QPref q0, String s0) {
|
||||
@@ -212,7 +213,7 @@ public class QuestPreferences implements Serializable {
|
||||
/**
|
||||
* Returns a non-difficulty-indexed preference value.
|
||||
*
|
||||
* @param qp0   {@link forge.quest.data.CopyOfQuestPreferences.QPref}
|
||||
* @param qp0   {@link forge.quest.data.QuestPreferences.QPref}
|
||||
* @return String
|
||||
*/
|
||||
public String getPreference(QPref qp0) {
|
||||
@@ -237,7 +238,7 @@ public class QuestPreferences implements Serializable {
|
||||
/**
|
||||
* Returns a preference value according to a difficulty index.
|
||||
*
|
||||
* @param qp0   {@link forge.quest.data.CopyOfQuestPreferences.QPref}
|
||||
* @param qp0   {@link forge.quest.data.QuestPreferences.QPref}
|
||||
* @param i0   int difficulty index
|
||||
* @return String
|
||||
*/
|
||||
@@ -269,7 +270,7 @@ public class QuestPreferences implements Serializable {
|
||||
/**
|
||||
* Returns a non-difficulty-indexed preference value, as an int.
|
||||
*
|
||||
* @param qp0   {@link forge.quest.data.CopyOfQuestPreferences.QPref}
|
||||
* @param qp0   {@link forge.quest.data.QuestPreferences.QPref}
|
||||
* @return int
|
||||
*/
|
||||
public int getPreferenceInt(QPref qp0) {
|
||||
@@ -279,7 +280,7 @@ public class QuestPreferences implements Serializable {
|
||||
/**
|
||||
* Returns a difficulty-indexed preference value, as an int.
|
||||
*
|
||||
* @param qp0   {@link forge.quest.data.CopyOfQuestPreferences.QPref}
|
||||
* @param qp0   {@link forge.quest.data.QuestPreferences.QPref}
|
||||
* @param i0   int difficulty index
|
||||
* @return int
|
||||
*/
|
||||
|
||||
@@ -45,6 +45,7 @@ import forge.gui.GuiUtils;
|
||||
import forge.gui.ListChooser;
|
||||
import forge.item.CardPrinted;
|
||||
import forge.model.FMatchState;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.quest.data.QuestChallenge;
|
||||
import forge.quest.data.QuestData;
|
||||
import forge.quest.data.QuestEvent;
|
||||
@@ -103,7 +104,7 @@ public class QuestWinLoseHandler extends ControlWinLose {
|
||||
this.model.qPrefs = Singletons.getModel().getQuestPreferences();
|
||||
this.wonMatch = this.model.matchState.isMatchWonBy(AllZone.getHumanPlayer().getName());
|
||||
this.skin = Singletons.getView().getSkin();
|
||||
this.isAnte = Singletons.getModel().getPreferences().isPlayForAnte();
|
||||
this.isAnte = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,7 +24,6 @@ import java.util.List;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLayeredPane;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import forge.AllZone;
|
||||
import forge.Card;
|
||||
@@ -39,8 +38,8 @@ import forge.Singletons;
|
||||
import forge.control.FControl;
|
||||
import forge.control.match.ControlField;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.view.match.ViewField;
|
||||
import forge.view.match.ViewTabber;
|
||||
import forge.view.toolbox.FOverlay;
|
||||
|
||||
/**
|
||||
@@ -317,41 +316,42 @@ public class GuiTopLevel extends JFrame implements Display, CardContainer {
|
||||
final ForgePreferences fp = Singletons.getModel().getPreferences();
|
||||
final List<ViewField> fieldViews = this.control.getMatchController().getView().getFieldViews();
|
||||
|
||||
Constant.Runtime.MILL[0] = fp.isMillingLossCondition();
|
||||
Constant.Runtime.DEV_MODE[0] = fp.isDeveloperMode();
|
||||
Constant.Runtime.UPLOAD_DRAFT[0] = fp.isUploadDraftAI();
|
||||
Constant.Runtime.RANDOM_FOIL[0] = fp.isRandCFoil();
|
||||
Constant.Runtime.UPLOAD_DRAFT[0] = (Constant.Runtime.NET_CONN[0] ? fp.isUploadDraftAI() : false);
|
||||
Constant.Runtime.MILL[0] = fp.getPrefBoolean(FPref.DEV_MILLING_LOSS);
|
||||
Constant.Runtime.DEV_MODE[0] = fp.getPrefBoolean(FPref.DEV_MODE_ENABLED);
|
||||
Constant.Runtime.UPLOAD_DRAFT[0] = fp.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
|
||||
Constant.Runtime.RANDOM_FOIL[0] = fp.getPrefBoolean(FPref.UI_RANDOM_FOIL);
|
||||
Constant.Runtime.UPLOAD_DRAFT[0] =
|
||||
(Constant.Runtime.NET_CONN[0] ? fp.getPrefBoolean(FPref.UI_UPLOAD_DRAFT) : false);
|
||||
|
||||
// AI field is at index [0]
|
||||
fieldViews.get(0).getLblUpkeep().setEnabled(fp.isShowPhase("phase.ai.upkeep"));
|
||||
fieldViews.get(0).getLblDraw().setEnabled(fp.isShowPhase("phase.ai.draw"));
|
||||
fieldViews.get(0).getLblMain1().setEnabled(fp.isShowPhase("phase.ai.main1"));
|
||||
fieldViews.get(0).getLblBeginCombat().setEnabled(fp.isShowPhase("phase.ai.beginCombat"));
|
||||
fieldViews.get(0).getLblDeclareAttackers().setEnabled(fp.isShowPhase("phase.ai.declareAttackers"));
|
||||
fieldViews.get(0).getLblDeclareBlockers().setEnabled(fp.isShowPhase("phase.ai.declareBlockers"));
|
||||
fieldViews.get(0).getLblFirstStrike().setEnabled(fp.isShowPhase("phase.ai.firstStrike"));
|
||||
fieldViews.get(0).getLblCombatDamage().setEnabled(fp.isShowPhase("phase.ai.combatDamage"));
|
||||
fieldViews.get(0).getLblEndCombat().setEnabled(fp.isShowPhase("phase.ai.endCombat"));
|
||||
fieldViews.get(0).getLblMain2().setEnabled(fp.isShowPhase("phase.ai.main2"));
|
||||
fieldViews.get(0).getLblEndTurn().setEnabled(fp.isShowPhase("phase.ai.eot"));
|
||||
fieldViews.get(0).getLblCleanup().setEnabled(fp.isShowPhase("phase.ai.cleanup"));
|
||||
fieldViews.get(0).getLblUpkeep().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_UPKEEP));
|
||||
fieldViews.get(0).getLblDraw().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_DRAW));
|
||||
fieldViews.get(0).getLblMain1().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_MAIN1));
|
||||
fieldViews.get(0).getLblBeginCombat().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_BEGINCOMBAT));
|
||||
fieldViews.get(0).getLblDeclareAttackers().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_DECLAREATTACKERS));
|
||||
fieldViews.get(0).getLblDeclareBlockers().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_DECLAREBLOCKERS));
|
||||
fieldViews.get(0).getLblFirstStrike().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_FIRSTSTRIKE));
|
||||
fieldViews.get(0).getLblCombatDamage().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_COMBATDAMAGE));
|
||||
fieldViews.get(0).getLblEndCombat().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_ENDCOMBAT));
|
||||
fieldViews.get(0).getLblMain2().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_MAIN2));
|
||||
fieldViews.get(0).getLblEndTurn().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_EOT));
|
||||
fieldViews.get(0).getLblCleanup().setEnabled(fp.getPrefBoolean(FPref.PHASE_AI_CLEANUP));
|
||||
|
||||
// Human field is at index [1]
|
||||
fieldViews.get(1).getLblUpkeep().setEnabled(fp.isShowPhase("phase.human.upkeep"));
|
||||
fieldViews.get(1).getLblDraw().setEnabled(fp.isShowPhase("phase.human.draw"));
|
||||
fieldViews.get(1).getLblMain1().setEnabled(fp.isShowPhase("phase.human.main1"));
|
||||
fieldViews.get(1).getLblBeginCombat().setEnabled(fp.isShowPhase("phase.human.beginCombat"));
|
||||
fieldViews.get(1).getLblDeclareAttackers().setEnabled(fp.isShowPhase("phase.human.declareAttackers"));
|
||||
fieldViews.get(1).getLblDeclareBlockers().setEnabled(fp.isShowPhase("phase.human.declareBlockers"));
|
||||
fieldViews.get(1).getLblFirstStrike().setEnabled(fp.isShowPhase("phase.human.firstStrike"));
|
||||
fieldViews.get(1).getLblCombatDamage().setEnabled(fp.isShowPhase("phase.human.combatDamage"));
|
||||
fieldViews.get(1).getLblEndCombat().setEnabled(fp.isShowPhase("phase.human.endCombat"));
|
||||
fieldViews.get(1).getLblMain2().setEnabled(fp.isShowPhase("phase.human.main2"));
|
||||
fieldViews.get(1).getLblEndTurn().setEnabled(fp.isShowPhase("phase.human.eot"));
|
||||
fieldViews.get(1).getLblCleanup().setEnabled(fp.isShowPhase("phase.human.cleanup"));
|
||||
fieldViews.get(1).getLblUpkeep().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_UPKEEP));
|
||||
fieldViews.get(1).getLblDraw().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_DRAW));
|
||||
fieldViews.get(1).getLblMain1().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_MAIN1));
|
||||
fieldViews.get(1).getLblBeginCombat().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_BEGINCOMBAT));
|
||||
fieldViews.get(1).getLblDeclareAttackers().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREATTACKERS));
|
||||
fieldViews.get(1).getLblDeclareBlockers().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_DECLAREBLOCKERS));
|
||||
fieldViews.get(1).getLblFirstStrike().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_FIRSTSTRIKE));
|
||||
fieldViews.get(1).getLblCombatDamage().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_COMBATDAMAGE));
|
||||
fieldViews.get(1).getLblEndCombat().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_ENDCOMBAT));
|
||||
fieldViews.get(1).getLblMain2().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_MAIN2));
|
||||
fieldViews.get(1).getLblEndTurn().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_EOT));
|
||||
fieldViews.get(1).getLblCleanup().setEnabled(fp.getPrefBoolean(FPref.PHASE_HUMAN_CLEANUP));
|
||||
|
||||
this.control.getMatchController().getView().setLayoutParams(fp.getUILayout());
|
||||
this.control.getMatchController().getView().setLayoutParams(fp.getPref(FPref.UI_LAYOUT_PARAMS));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -367,54 +367,6 @@ public class GuiTopLevel extends JFrame implements Display, CardContainer {
|
||||
*/
|
||||
@Override
|
||||
public final boolean savePrefs() {
|
||||
final ForgePreferences fp = Singletons.getModel().getPreferences();
|
||||
final List<ViewField> fieldViews = this.control.getMatchController().getView().getFieldViews();
|
||||
|
||||
// AI field is at index [0]
|
||||
fp.setShowPhase("phase.ai.upkeep", fieldViews.get(0).getLblUpkeep().getEnabled());
|
||||
fp.setShowPhase("phase.ai.draw", fieldViews.get(0).getLblDraw().getEnabled());
|
||||
fp.setShowPhase("phase.ai.main1", fieldViews.get(0).getLblMain1().getEnabled());
|
||||
fp.setShowPhase("phase.ai.beginCombat", fieldViews.get(0).getLblBeginCombat().getEnabled());
|
||||
fp.setShowPhase("phase.ai.declareAttackers", fieldViews.get(0).getLblDeclareAttackers().getEnabled());
|
||||
fp.setShowPhase("phase.ai.declareBlockers", fieldViews.get(0).getLblDeclareBlockers().getEnabled());
|
||||
fp.setShowPhase("phase.ai.firstStrike", fieldViews.get(0).getLblFirstStrike().getEnabled());
|
||||
fp.setShowPhase("phase.ai.combatDamage", fieldViews.get(0).getLblCombatDamage().getEnabled());
|
||||
fp.setShowPhase("phase.ai.endCombat", fieldViews.get(0).getLblEndCombat().getEnabled());
|
||||
fp.setShowPhase("phase.ai.main2", fieldViews.get(0).getLblMain2().getEnabled());
|
||||
fp.setShowPhase("phase.ai.eot", fieldViews.get(0).getLblEndTurn().getEnabled());
|
||||
fp.setShowPhase("phase.ai.cleanup", fieldViews.get(0).getLblCleanup().getEnabled());
|
||||
|
||||
// Human field is at index [1]
|
||||
fp.setShowPhase("phase.human.upkeep", fieldViews.get(1).getLblUpkeep().getEnabled());
|
||||
fp.setShowPhase("phase.human.draw", fieldViews.get(1).getLblDraw().getEnabled());
|
||||
fp.setShowPhase("phase.human.main1", fieldViews.get(1).getLblMain1().getEnabled());
|
||||
fp.setShowPhase("phase.human.beginCombat", fieldViews.get(1).getLblBeginCombat().getEnabled());
|
||||
fp.setShowPhase("phase.human.declareAttackers", fieldViews.get(1).getLblDeclareAttackers().getEnabled());
|
||||
fp.setShowPhase("phase.human.declareBlockers", fieldViews.get(1).getLblDeclareBlockers().getEnabled());
|
||||
fp.setShowPhase("phase.human.firstStrike", fieldViews.get(1).getLblFirstStrike().getEnabled());
|
||||
fp.setShowPhase("phase.human.combatDamage", fieldViews.get(1).getLblCombatDamage().getEnabled());
|
||||
fp.setShowPhase("phase.human.endCombat", fieldViews.get(1).getLblEndCombat().getEnabled());
|
||||
fp.setShowPhase("phase.human.main2", fieldViews.get(1).getLblMain2().getEnabled());
|
||||
fp.setShowPhase("phase.human.eot", fieldViews.get(1).getLblEndTurn().getEnabled());
|
||||
fp.setShowPhase("phase.human.cleanup", fieldViews.get(1).getLblCleanup().getEnabled());
|
||||
|
||||
ViewTabber v = this.control.getMatchController().getView().getTabberController().getView();
|
||||
Constant.Runtime.MILL[0] = v.getLblMilling().getEnabled();
|
||||
|
||||
fp.setMillingLossCondition(Constant.Runtime.MILL[0]);
|
||||
fp.setUILayout(control.getMatchController().getView().getLayoutParams());
|
||||
fp.setUnlimitedLand(v.getLblUnlimitedLands().getEnabled());
|
||||
|
||||
try {
|
||||
fp.save();
|
||||
} catch (final Exception ex) {
|
||||
final int result = JOptionPane.showConfirmDialog(this,
|
||||
"Preferences could not be saved. Continue to close without saving ?", "Confirm Exit",
|
||||
JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);
|
||||
if (result != JOptionPane.OK_OPTION) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import forge.Singletons;
|
||||
import forge.error.ErrorViewer;
|
||||
import forge.error.ExceptionHandler;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.view.toolbox.FSkin;
|
||||
|
||||
/**
|
||||
@@ -45,7 +46,7 @@ public final class Main {
|
||||
ExceptionHandler.registerErrorHandling();
|
||||
try {
|
||||
final FModel model = new FModel();
|
||||
final FSkin skin = new FSkin(model.getPreferences().getSkin());
|
||||
final FSkin skin = new FSkin(model.getPreferences().getPref(FPref.UI_SKIN));
|
||||
final FView view = new FView(skin);
|
||||
|
||||
Singletons.setModel(model);
|
||||
|
||||
@@ -33,6 +33,7 @@ import forge.Singletons;
|
||||
import forge.control.KeyboardShortcuts;
|
||||
import forge.control.KeyboardShortcuts.Shortcut;
|
||||
import forge.control.home.ControlSettings;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.properties.NewConstants.Lang.OldGuiNewGame.NewGameText;
|
||||
import forge.view.GuiTopLevel;
|
||||
@@ -88,19 +89,19 @@ public class ViewSettings extends JScrollPane {
|
||||
|
||||
final JLabel lblRemoveSmall = new NoteLabel("Disables 1/1 and 0/X creatures in generated decks.");
|
||||
cbRemoveSmall = new OptionsCheckBox("Remove Small Creatures");
|
||||
cbRemoveSmall.setSelected(Singletons.getModel().getPreferences().isDeckGenRmvSmall());
|
||||
cbRemoveSmall.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_NOSMALL));
|
||||
viewport.add(cbRemoveSmall, regularConstraints);
|
||||
viewport.add(lblRemoveSmall, regularConstraints);
|
||||
|
||||
final JLabel lblSingletons = new NoteLabel("Disables non-land duplicates in generated decks.");
|
||||
cbSingletons = new OptionsCheckBox("Singleton Mode");
|
||||
cbSingletons.setSelected(Singletons.getModel().getPreferences().isDeckGenSingletons());
|
||||
cbSingletons.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_SINGLETONS));
|
||||
viewport.add(cbSingletons, regularConstraints);
|
||||
viewport.add(lblSingletons, regularConstraints);
|
||||
|
||||
final JLabel lblRemoveArtifacts = new NoteLabel("Disables artifact cards in generated decks.");
|
||||
cbRemoveArtifacts = new OptionsCheckBox("Remove Artifacts");
|
||||
cbRemoveArtifacts.setSelected(Singletons.getModel().getPreferences().isDeckGenRmvArtifacts());
|
||||
cbRemoveArtifacts.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.DECKGEN_ARTIFACTS));
|
||||
viewport.add(cbRemoveArtifacts, regularConstraints);
|
||||
viewport.add(lblRemoveArtifacts, regularConstraints);
|
||||
|
||||
@@ -109,25 +110,25 @@ public class ViewSettings extends JScrollPane {
|
||||
viewport.add(lblTitleUI, sectionConstraints);
|
||||
|
||||
cbAnte = new OptionsCheckBox("Play for Ante");
|
||||
cbAnte.setSelected(Singletons.getModel().getPreferences().isPlayForAnte());
|
||||
cbAnte.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE));
|
||||
final JLabel lblAnte = new NoteLabel("Determines whether or not the game is played for ante.");
|
||||
viewport.add(cbAnte, regularConstraints);
|
||||
viewport.add(lblAnte, regularConstraints);
|
||||
|
||||
cbUploadDraft = new OptionsCheckBox("Upload Draft Pics");
|
||||
cbUploadDraft.setSelected(Singletons.getModel().getPreferences().isUploadDraftAI());
|
||||
cbUploadDraft.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_UPLOAD_DRAFT));
|
||||
final JLabel lblUploadDraft = new NoteLabel("Sends draft picks to Forge servers for analysis, to improve draft AI.");
|
||||
viewport.add(cbUploadDraft, regularConstraints);
|
||||
viewport.add(lblUploadDraft, regularConstraints);
|
||||
|
||||
cbStackLand = new OptionsCheckBox("Stack AI Land");
|
||||
cbStackLand.setSelected(Singletons.getModel().getPreferences().isStackAiLand());
|
||||
cbStackLand.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SMOOTH_LAND));
|
||||
final JLabel lblStackLand = new NoteLabel("Minimizes mana lock in AI hands, giving a slight advantage to computer.");
|
||||
viewport.add(cbStackLand, regularConstraints);
|
||||
viewport.add(lblStackLand, regularConstraints);
|
||||
|
||||
cbDevMode = new OptionsCheckBox(ForgeProps.getLocalized(NewGameText.DEV_MODE));
|
||||
cbDevMode.setSelected(Singletons.getModel().getPreferences().isDeveloperMode());
|
||||
cbDevMode.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.DEV_MODE_ENABLED));
|
||||
final JLabel lblDevMode = new NoteLabel("Enables menu with functions for testing during development.");
|
||||
viewport.add(cbDevMode, regularConstraints);
|
||||
viewport.add(lblDevMode, regularConstraints);
|
||||
@@ -143,7 +144,7 @@ public class ViewSettings extends JScrollPane {
|
||||
|
||||
lstChooseSkin = new FList();
|
||||
lstChooseSkin.setListData(FSkin.getSkins().toArray(new String[0]));
|
||||
lstChooseSkin.setSelectedValue(Singletons.getModel().getPreferences().getSkin(), true);
|
||||
lstChooseSkin.setSelectedValue(Singletons.getModel().getPreferences().getPref(FPref.UI_SKIN), true);
|
||||
lstChooseSkin.ensureIndexIsVisible(lstChooseSkin.getSelectedIndex());
|
||||
viewport.add(new FScrollPane(lstChooseSkin), "h 60px!, w 150px!, gap 10% 0 0 2%, wrap");
|
||||
|
||||
@@ -156,19 +157,19 @@ public class ViewSettings extends JScrollPane {
|
||||
|
||||
final JLabel lblRandomFoil = new NoteLabel("Adds foiled effects to random cards.");
|
||||
cbRandomFoil = new OptionsCheckBox("Random Foil");
|
||||
cbRandomFoil.setSelected(Singletons.getModel().getPreferences().isRandCFoil());
|
||||
cbRandomFoil.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL));
|
||||
viewport.add(cbRandomFoil, regularConstraints);
|
||||
viewport.add(lblRandomFoil, regularConstraints);
|
||||
|
||||
final JLabel lblScaleLarger = new NoteLabel("Allows card pictures to be expanded larger than their original size.");
|
||||
cbScaleLarger = new OptionsCheckBox("Scale Image Larger");
|
||||
cbScaleLarger.setSelected(Singletons.getModel().getPreferences().isScaleLargerThanOriginal());
|
||||
cbScaleLarger.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_SCALE_LARGER));
|
||||
viewport.add(cbScaleLarger, regularConstraints);
|
||||
viewport.add(lblScaleLarger, regularConstraints);
|
||||
|
||||
final JLabel lblTextMana = new NoteLabel("Overlays each card with basic card-specific information.");
|
||||
cbTextMana = new OptionsCheckBox("Text / Mana Overlay");
|
||||
cbTextMana.setSelected(Singletons.getModel().getPreferences().isCardOverlay());
|
||||
cbTextMana.setSelected(Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CARD_OVERLAY));
|
||||
viewport.add(cbTextMana, regularConstraints);
|
||||
viewport.add(lblTextMana, regularConstraints);
|
||||
|
||||
@@ -264,8 +265,8 @@ public class ViewSettings extends JScrollPane {
|
||||
private class CardSizeRadio extends OptionsRadio {
|
||||
public CardSizeRadio(String txt0) {
|
||||
super(txt0);
|
||||
if (Singletons.getModel().getPreferences().getCardSize()
|
||||
.toString().equalsIgnoreCase(txt0)) {
|
||||
if (Singletons.getModel().getPreferences().getPref(FPref.UI_CARD_SIZE)
|
||||
.equalsIgnoreCase(txt0)) {
|
||||
setSelected(true);
|
||||
}
|
||||
|
||||
@@ -336,7 +337,7 @@ public class ViewSettings extends JScrollPane {
|
||||
super();
|
||||
this.setEditable(false);
|
||||
this.setFont(skin.getFont(14));
|
||||
this.setCodeString(Singletons.getModel().getPreferences().getKeyboardShortcut(s0.getPrefKey()));
|
||||
this.setCodeString(Singletons.getModel().getPreferences().getPref(s0.getPrefKey()));
|
||||
|
||||
this.addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
@@ -353,7 +354,7 @@ public class ViewSettings extends JScrollPane {
|
||||
|
||||
@Override
|
||||
public void focusLost(final FocusEvent e) {
|
||||
Singletons.getModel().getPreferences().setKeyboardShortcut(
|
||||
Singletons.getModel().getPreferences().setPref(
|
||||
s0.getPrefKey(), getCodeString());
|
||||
Singletons.getModel().getPreferences().save();
|
||||
s0.attach();
|
||||
|
||||
@@ -58,6 +58,7 @@ import forge.card.spellability.SpellAbilityStackInstance;
|
||||
import forge.control.match.ControlTabber;
|
||||
import forge.gui.ForgeAction;
|
||||
import forge.gui.MultiLineLabelUI;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.view.GuiTopLevel;
|
||||
import forge.view.toolbox.FPanel;
|
||||
@@ -428,7 +429,7 @@ public class ViewTabber extends FRoundedPanel {
|
||||
} else {
|
||||
temp[5].setText("");
|
||||
}
|
||||
if (Singletons.getModel().getPreferences().isPlayForAnte()) {
|
||||
if (Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE)) {
|
||||
CardList list = p0.getCardsIn(Zone.Ante);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Ante'd: ");
|
||||
|
||||
Reference in New Issue
Block a user