diff --git a/src/main/java/forge/control/home/ControlQuest.java b/src/main/java/forge/control/home/ControlQuest.java index 5b520438427..6fa14237090 100644 --- a/src/main/java/forge/control/home/ControlQuest.java +++ b/src/main/java/forge/control/home/ControlQuest.java @@ -110,7 +110,7 @@ public class ControlQuest { public void actionPerformed(final ActionEvent actionEvent) { if (view.getCbxPet().getSelectedIndex() > 0) { qData.getPetManager().setSelectedPet( - (String) view.getCbxPet().getSelectedItem()); + view.getCbxPet().getSelectedItem().toString().substring(7)); } else { qData.getPetManager().setSelectedPet(null); } diff --git a/src/main/java/forge/control/match/ControlDock.java b/src/main/java/forge/control/match/ControlDock.java index 3eec43003b4..80974c55038 100644 --- a/src/main/java/forge/control/match/ControlDock.java +++ b/src/main/java/forge/control/match/ControlDock.java @@ -54,6 +54,7 @@ public class ControlDock { /** Concede game, bring up WinLose UI. */ public void concede() { + AllZone.getDisplay().savePrefs(); AllZone.getHumanPlayer().concede(); AllZone.getGameAction().checkStateEffects(); } diff --git a/src/main/java/forge/view/GuiTopLevel.java b/src/main/java/forge/view/GuiTopLevel.java index db5e7b762ad..8d346e7aa5c 100644 --- a/src/main/java/forge/view/GuiTopLevel.java +++ b/src/main/java/forge/view/GuiTopLevel.java @@ -39,6 +39,7 @@ 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; import forge.view.toolbox.FSkin; @@ -369,6 +370,43 @@ public class GuiTopLevel extends JFrame implements Display, CardContainer { */ @Override public final boolean savePrefs() { + final ForgePreferences fp = Singletons.getModel().getPreferences(); + final List fieldViews = this.control.getMatchController().getView().getFieldViews(); + + // AI field is at index [0] + fp.setPref(FPref.PHASE_AI_UPKEEP, String.valueOf(fieldViews.get(0).getLblUpkeep().getEnabled())); + fp.setPref(FPref.PHASE_AI_DRAW, String.valueOf(fieldViews.get(0).getLblDraw().getEnabled())); + fp.setPref(FPref.PHASE_AI_MAIN1, String.valueOf(fieldViews.get(0).getLblMain1().getEnabled())); + fp.setPref(FPref.PHASE_AI_BEGINCOMBAT, String.valueOf(fieldViews.get(0).getLblBeginCombat().getEnabled())); + fp.setPref(FPref.PHASE_AI_DECLAREATTACKERS, String.valueOf(fieldViews.get(0).getLblDeclareAttackers().getEnabled())); + fp.setPref(FPref.PHASE_AI_DECLAREBLOCKERS, String.valueOf(fieldViews.get(0).getLblDeclareBlockers().getEnabled())); + fp.setPref(FPref.PHASE_AI_FIRSTSTRIKE, String.valueOf(fieldViews.get(0).getLblFirstStrike().getEnabled())); + fp.setPref(FPref.PHASE_AI_COMBATDAMAGE, String.valueOf(fieldViews.get(0).getLblCombatDamage().getEnabled())); + fp.setPref(FPref.PHASE_AI_ENDCOMBAT, String.valueOf(fieldViews.get(0).getLblEndCombat().getEnabled())); + fp.setPref(FPref.PHASE_AI_MAIN2, String.valueOf(fieldViews.get(0).getLblMain2().getEnabled())); + fp.setPref(FPref.PHASE_AI_EOT, String.valueOf(fieldViews.get(0).getLblEndTurn().getEnabled())); + fp.setPref(FPref.PHASE_AI_CLEANUP, String.valueOf(fieldViews.get(0).getLblCleanup().getEnabled())); + + // Human field is at index [1] + fp.setPref(FPref.PHASE_HUMAN_UPKEEP, String.valueOf(fieldViews.get(1).getLblUpkeep().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_DRAW, String.valueOf(fieldViews.get(1).getLblDraw().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_MAIN1, String.valueOf(fieldViews.get(1).getLblMain1().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_BEGINCOMBAT, String.valueOf(fieldViews.get(1).getLblBeginCombat().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_DECLAREATTACKERS, String.valueOf(fieldViews.get(1).getLblDeclareAttackers().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_DECLAREBLOCKERS, String.valueOf(fieldViews.get(1).getLblDeclareBlockers().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_FIRSTSTRIKE, String.valueOf(fieldViews.get(1).getLblFirstStrike().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_COMBATDAMAGE, String.valueOf(fieldViews.get(1).getLblCombatDamage().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_ENDCOMBAT, String.valueOf(fieldViews.get(1).getLblEndCombat().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_MAIN2, String.valueOf(fieldViews.get(1).getLblMain2().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_EOT, String.valueOf(fieldViews.get(1).getLblEndTurn().getEnabled())); + fp.setPref(FPref.PHASE_HUMAN_CLEANUP, String.valueOf(fieldViews.get(1).getLblCleanup().getEnabled())); + + ViewTabber v = this.control.getMatchController().getView().getTabberController().getView(); + Constant.Runtime.MILL[0] = v.getLblMilling().getEnabled(); + + fp.setPref(FPref.DEV_MILLING_LOSS, String.valueOf(Constant.Runtime.MILL[0])); + fp.setPref(FPref.UI_LAYOUT_PARAMS, String.valueOf(control.getMatchController().getView().getLayoutParams())); + fp.setPref(FPref.DEV_UNLIMITED_LAND, String.valueOf(v.getLblUnlimitedLands().getEnabled())); return true; }