diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java index 58c56acf9c6..f844cd6fde9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java @@ -114,6 +114,7 @@ public enum CSubmenuPreferences implements ICDoc { lstControls.add(Pair.of(view.getCbTokensInSeparateRow(), FPref.UI_TOKENS_IN_SEPARATE_ROW)); lstControls.add(Pair.of(view.getCbStackCreatures(), FPref.UI_STACK_CREATURES)); lstControls.add(Pair.of(view.getCbManaLostPrompt(), FPref.UI_MANA_LOST_PROMPT)); + lstControls.add(Pair.of(view.getCbEscapeEndsTurn(), FPref.UI_ALLOW_ESC_TO_END_TURN)); lstControls.add(Pair.of(view.getCbFilterLandsByColorId(), FPref.UI_FILTER_LANDS_BY_COLOR_IDENTITY)); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java index c12b819e4dc..b97e97da3b3 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java @@ -80,6 +80,7 @@ public enum VSubmenuPreferences implements IVSubmenu { private final JCheckBox cbPromptFreeBlocks = new OptionsCheckBox("Free Block Handling"); private final JCheckBox cbPauseWhileMinimized = new OptionsCheckBox("Pause While Minimized"); private final JCheckBox cbCompactPrompt = new OptionsCheckBox("Compact Prompt"); + private final JCheckBox cbEscapeEndsTurn = new OptionsCheckBox("Use Escape Key to End Turn"); private final JCheckBox cbHideReminderText = new OptionsCheckBox("Hide Reminder Text"); private final JCheckBox cbOpenPacksIndiv = new OptionsCheckBox("Open Packs Individually"); private final JCheckBox cbTokensInSeparateRow = new OptionsCheckBox("Display Tokens in a Separate Row"); @@ -162,6 +163,9 @@ public enum VSubmenuPreferences implements IVSubmenu { pnlPrefs.add(cbPauseWhileMinimized, regularConstraints); pnlPrefs.add(new NoteLabel("When enabled, Forge pauses when minimized (primarily for AI vs AI)."), regularConstraints); + pnlPrefs.add(cbEscapeEndsTurn, regularConstraints); + pnlPrefs.add(new NoteLabel("When enabled, Escape key functions as an alternative shortcut to end the current turn."), regularConstraints); + // Deck building options pnlPrefs.add(new SectionLabel("Random Deck Generation"), sectionConstraints); @@ -578,6 +582,10 @@ public enum VSubmenuPreferences implements IVSubmenu { return cbCompactPrompt; } + public final JCheckBox getCbEscapeEndsTurn() { + return cbEscapeEndsTurn; + } + public final JCheckBox getCbHideReminderText() { return cbHideReminderText; } diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java index d30030bf10a..ef63a8634e8 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java @@ -58,7 +58,7 @@ public class VPrompt implements IVDoc { public void keyPressed(final KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { if (btnCancel.isEnabled()) { - if (!btnCancel.getText().equals("End Turn")) { + if (FModel.getPreferences().getPrefBoolean(FPref.UI_ALLOW_ESC_TO_END_TURN) || !btnCancel.getText().equals("End Turn")) { btnCancel.doClick(); } } diff --git a/forge-gui/src/main/java/forge/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/properties/ForgePreferences.java index 81fbd60ca69..ec0f8f598c7 100644 --- a/forge-gui/src/main/java/forge/properties/ForgePreferences.java +++ b/forge-gui/src/main/java/forge/properties/ForgePreferences.java @@ -82,6 +82,7 @@ public class ForgePreferences extends PreferencesStore { UI_TOKENS_IN_SEPARATE_ROW("false"), // Display tokens in their own battlefield row. UI_DISPLAY_CURRENT_COLORS("Never"), UI_FILTER_LANDS_BY_COLOR_IDENTITY("true"), + UI_ALLOW_ESC_TO_END_TURN ("false"), UI_FOR_TOUCHSCREN("false"), @@ -168,7 +169,7 @@ public class ForgePreferences extends PreferencesStore { SHORTCUT_SHOWTARGETING ("84"), SHORTCUT_AUTOYIELD_ALWAYS_YES ("89"), SHORTCUT_AUTOYIELD_ALWAYS_NO ("78"); - + private final String strDefaultVal; private FPref(final String s0) {