From eecb7a120e17a6cebcb2a247a18adb5e62b8c2f9 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 22 Nov 2021 15:50:05 -0500 Subject: [PATCH 1/4] VLobby - add option for # of matches --- .../src/main/java/forge/screens/home/VLobby.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java index cc8903b14f9..0aaa4ba989c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java @@ -11,11 +11,7 @@ import java.util.Collections; import java.util.List; import java.util.Vector; -import javax.swing.JButton; -import javax.swing.JPanel; -import javax.swing.ListSelectionModel; -import javax.swing.ScrollPaneConstants; -import javax.swing.SwingConstants; +import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; @@ -84,6 +80,8 @@ public class VLobby implements ILobbyView { private final StartButton btnStart = new StartButton(); private final JPanel pnlStart = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); + private final JComboBox gamesInMatch = new JComboBox(new String[] {"1","3","5"}); + private final JPanel gamesInMatchFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); private final JPanel constructedFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); // Main content frame // Variants frame and variables @@ -212,11 +210,19 @@ public class VLobby implements ILobbyView { public final void actionPerformed(final ActionEvent arg0) { Runnable startGame = lobby.startGame(); if (startGame != null) { + if (!gamesInMatch.getSelectedItem().equals(ForgePreferences.FPref.UI_MATCHES_PER_GAME)) { + FModel.getPreferences().setPref(FPref.UI_MATCHES_PER_GAME, (String) gamesInMatch.getSelectedItem()); + } startGame.run(); } } }); } + gamesInMatchFrame.add(newLabel(localizer.getMessage("lblGamesInMatch")), "w 150px!, h 30px!"); + gamesInMatchFrame.add(gamesInMatch, "w 50px!, h 30px!"); + gamesInMatchFrame.setOpaque(false); + gamesInMatch.setSelectedItem("3"); + pnlStart.add(gamesInMatchFrame); } public void updateDeckPanel() { From 9874d478e234d22ea5bec9d8873ce27a56ce4676 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 22 Nov 2021 15:50:43 -0500 Subject: [PATCH 2/4] new prompt --- forge-gui/res/languages/de-DE.properties | 1 + forge-gui/res/languages/en-US.properties | 1 + forge-gui/res/languages/es-ES.properties | 1 + forge-gui/res/languages/it-IT.properties | 1 + forge-gui/res/languages/ja-JP.properties | 1 + forge-gui/res/languages/zh-CN.properties | 1 + 6 files changed, 6 insertions(+) diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 19b9c686443..b2896e4df91 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -286,6 +286,7 @@ lblTryAgain=Neu lblAddAPlayer=Spieler hinzufügen lblVariants=Varianten lblRandom=Zufällig +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=Constructed-Modus lblConstructed=Constructed diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 4fb81972a17..b53e2269736 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -287,6 +287,7 @@ lblTryAgain=Try Again lblAddAPlayer=Add a Player lblVariants=Variants lblRandom=Random +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=Constructed Mode lblConstructed=Constructed diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index d3f55563e11..6918644bc44 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -287,6 +287,7 @@ lblTryAgain=Probar de nuevo lblAddAPlayer=Añadir jugador lblVariants=Variantes lblRandom=Aleatorio +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=Modo Construido lblConstructed=Construido diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index c56d0a9a192..7e6274e353b 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -286,6 +286,7 @@ lblTryAgain=Riprova lblAddAPlayer=Aggiungi un giocatore lblVariants=Varianti lblRandom=Casuale +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=Modalità costruita lblConstructed=Costruito diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index e6d13cfe422..8e178df7c92 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -287,6 +287,7 @@ lblTryAgain=再試行 lblAddAPlayer=プレーヤーを追加 lblVariants=バリエーション lblRandom=ランダム +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=構築戦 lblConstructed=構築戦 diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index 67603f42625..83a1c4f67f9 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -287,6 +287,7 @@ lblTryAgain=再试一次 lblAddAPlayer=增加一个玩家 lblVariants=变种 lblRandom=随机 +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=构筑模式 lblConstructed=构筑 From c98f50ad8164b0259b8cd1941dd78498be5d7297 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 22 Nov 2021 15:51:16 -0500 Subject: [PATCH 3/4] ForgePreferences add UI_MATCHES_PER_GAME --- .../java/forge/localinstance/properties/ForgePreferences.java | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java index beb4cb86770..20f846048e5 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java @@ -68,6 +68,7 @@ public class ForgePreferences extends PreferencesStore { BRAWL_P7_DECK_STATE(""), BRAWL_P8_DECK_STATE(""), UI_LANDSCAPE_MODE ("false"), + UI_MATCHES_PER_GAME("3"), UI_COMPACT_MAIN_MENU ("false"), UI_USE_OLD ("false"), UI_RANDOM_FOIL ("false"), From 01e21b340ac850084b502d6b675e510c1ea14f4d Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 22 Nov 2021 15:51:35 -0500 Subject: [PATCH 4/4] add UI_MATCHES_PER_GAME to HostedMatch --- forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java index d86b05d0d26..8cca6f6bd9c 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java @@ -89,6 +89,7 @@ public class HostedMatch { gameRules.setSideboardForAI(FModel.getPreferences().getPrefBoolean(FPref.MATCH_SIDEBOARD_FOR_AI)); gameRules.setCanCloneUseTargetsImage(FModel.getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE)); gameRules.setUseGrayText(FModel.getPreferences().getPrefBoolean(FPref.UI_GRAY_INACTIVE_TEXT)); + gameRules.setGamesPerMatch(FModel.getPreferences().getPrefInt(FPref.UI_MATCHES_PER_GAME)); return gameRules; }