From b42a59a1db70cded4806533053098c68465dff9d Mon Sep 17 00:00:00 2001 From: leriomaggio Date: Thu, 8 Jul 2021 07:57:34 +0100 Subject: [PATCH] Switch Back to "Preferred Art" option name --- .../home/settings/CSubmenuPreferences.java | 33 ++++++++------ .../home/settings/VSubmenuPreferences.java | 43 ++++++++----------- .../forge/screens/settings/SettingsPage.java | 20 +++------ .../src/main/java/forge/model/FModel.java | 27 ++++-------- 4 files changed, 54 insertions(+), 69 deletions(-) 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 08a3f485aee..db930f9a4ee 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 @@ -1,18 +1,5 @@ package forge.screens.home.settings; -import java.awt.Desktop; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JCheckBox; -import javax.swing.SwingUtilities; - -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - import forge.MulliganDefs; import forge.Singletons; import forge.StaticData; @@ -38,6 +25,16 @@ import forge.toolbox.FComboBoxPanel; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; import forge.util.Localizer; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.io.File; +import java.util.ArrayList; +import java.util.List; /** * Controls the preferences submenu in the home UI. @@ -251,6 +248,7 @@ public enum CSubmenuPreferences implements ICDoc { initializeGameLogVerbosityComboBox(); initializeCloseActionComboBox(); initializeDefaultFontSizeComboBox(); + initializeCardArtPreference(); initializeAutoUpdaterComboBox(); initializeMulliganRuleComboBox(); initializeAiProfilesComboBox(); @@ -449,6 +447,15 @@ public enum CSubmenuPreferences implements ICDoc { panel.setComboBox(comboBox, selectedItem); } + private void initializeCardArtPreference() { + final String [] choices = FModel.getMagicDb().getCardArtAvailablePreferences(); + final FPref userSetting = FPref.UI_PREFERRED_ART; + final FComboBoxPanel panel = this.view.getCbpCardArtPreference(); + final FComboBox comboBox = createComboBox(choices, userSetting); + final String selectedItem = this.prefs.getPref(userSetting); + panel.setComboBox(comboBox, selectedItem); + } + private void initializeStackAdditionsComboBox() { final String[] elems = {ForgeConstants.STACK_EFFECT_NOTIFICATION_NEVER, ForgeConstants.STACK_EFFECT_NOTIFICATION_ALWAYS, ForgeConstants.STACK_EFFECT_NOTIFICATION_AI_AND_TRIGGERED}; 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 88607bcf411..6ab511baf76 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 @@ -1,24 +1,5 @@ package forge.screens.home.settings; -import java.awt.Color; -import java.awt.Font; -import java.awt.event.FocusAdapter; -import java.awt.event.FocusEvent; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.swing.JCheckBox; -import javax.swing.JPanel; -import javax.swing.ScrollPaneConstants; -import javax.swing.SwingConstants; - -import org.apache.commons.lang3.StringUtils; - import forge.control.FControl.CloseAction; import forge.control.KeyboardShortcuts; import forge.control.KeyboardShortcuts.Shortcut; @@ -31,15 +12,21 @@ import forge.model.FModel; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; -import forge.toolbox.FCheckBox; -import forge.toolbox.FComboBoxPanel; -import forge.toolbox.FLabel; -import forge.toolbox.FScrollPane; -import forge.toolbox.FSkin; +import forge.toolbox.*; import forge.toolbox.FSkin.SkinnedLabel; import forge.toolbox.FSkin.SkinnedTextField; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; +import org.apache.commons.lang3.StringUtils; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.util.List; +import java.util.*; /** @@ -132,6 +119,7 @@ public enum VSubmenuPreferences implements IVSubmenu { private final FComboBoxPanel cbpGameLogEntryType = new FComboBoxPanel<>(localizer.getMessage("cbpGameLogEntryType")+":"); private final FComboBoxPanel cbpCloseAction = new FComboBoxPanel<>(localizer.getMessage("cbpCloseAction")+":"); private final FComboBoxPanel cbpDefaultFontSize = new FComboBoxPanel<>(localizer.getMessage("cbpDefaultFontSize")+":"); + private final FComboBoxPanel cbpCardArtPreference = new FComboBoxPanel<>(localizer.getMessage("lblPreferredArt")+":"); private final FComboBoxPanel cbpMulliganRule = new FComboBoxPanel<>(localizer.getMessage("cbpMulliganRule")+":"); private final FComboBoxPanel cbpAiProfiles = new FComboBoxPanel<>(localizer.getMessage("cbpAiProfiles")+":"); private final FComboBoxPanel cbpStackAdditions = new FComboBoxPanel<>(localizer.getMessage("cbpStackAdditions")+":"); @@ -328,6 +316,9 @@ public enum VSubmenuPreferences implements IVSubmenu { pnlPrefs.add(cbImageFetcher, titleConstraints); pnlPrefs.add(new NoteLabel(localizer.getMessage("nlImageFetcher")), descriptionConstraints); + pnlPrefs.add(cbpCardArtPreference, comboBoxConstraints); + pnlPrefs.add(new NoteLabel(localizer.getMessage("nlPreferredArt")), descriptionConstraints); + pnlPrefs.add(cbDisableCardImages, titleConstraints); pnlPrefs.add(new NoteLabel(localizer.getMessage("nlDisableCardImages")), descriptionConstraints); @@ -748,6 +739,10 @@ public enum VSubmenuPreferences implements IVSubmenu { return cbpDefaultFontSize; } + public FComboBoxPanel getCbpCardArtPreference() { + return cbpCardArtPreference; + } + public FComboBoxPanel getCbpDefaultLanguageComboBoxPanel() { return cbpDefaultLanguage; } diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java index ed1f6e900a5..b620e941669 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java @@ -1,22 +1,12 @@ package forge.screens.settings; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - import com.badlogic.gdx.utils.Align; - import forge.Forge; import forge.Graphics; import forge.MulliganDefs; import forge.StaticData; import forge.ai.AiProfileUtil; -import forge.assets.FLanguage; -import forge.assets.FSkin; -import forge.assets.FSkinColor; -import forge.assets.FSkinFont; -import forge.assets.FSkinImage; -import forge.assets.ImageCache; +import forge.assets.*; import forge.game.GameLogEntryType; import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; @@ -37,6 +27,10 @@ import forge.util.Callback; import forge.util.Localizer; import forge.util.Utils; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class SettingsPage extends TabPage { private final FGroupList lstSettings = add(new FGroupList<>()); private final CustomSelectSetting settingSkins; @@ -411,10 +405,10 @@ public class SettingsPage extends TabPage { localizer.getMessage("cbImageFetcher"), localizer.getMessage("nlImageFetcher")), 4); - lstSettings.addItem(new CustomSelectSetting(FPref.UI_PREFERRED_CARD_FRAME, + lstSettings.addItem(new CustomSelectSetting(FPref.UI_PREFERRED_ART, localizer.getMessage("lblPreferredArt"), localizer.getMessage("nlPreferredArt"), - new String[]{"Latest", "Earliest", "Default"}) { + FModel.getMagicDb().getCardArtAvailablePreferences()) { @Override public void valueChanged(String newValue) { super.valueChanged(newValue); diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java index 30de9a77165..f1edb02e57f 100644 --- a/forge-gui/src/main/java/forge/model/FModel.java +++ b/forge-gui/src/main/java/forge/model/FModel.java @@ -17,16 +17,10 @@ */ package forge.model; -import java.io.File; -import java.util.List; -import java.util.Map; -import java.util.Set; - import com.google.common.base.Function; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; - import forge.CardStorageReader; import forge.CardStorageReader.ProgressObserver; import forge.ImageKeys; @@ -60,25 +54,20 @@ import forge.gui.card.CardPreferences; import forge.gui.interfaces.IProgressBar; import forge.item.PaperCard; import forge.itemmanager.ItemManagerConfig; -import forge.localinstance.achievements.AchievementCollection; -import forge.localinstance.achievements.ConstructedAchievements; -import forge.localinstance.achievements.DraftAchievements; -import forge.localinstance.achievements.PlanarConquestAchievements; -import forge.localinstance.achievements.PuzzleAchievements; -import forge.localinstance.achievements.QuestAchievements; -import forge.localinstance.achievements.SealedAchievements; +import forge.localinstance.achievements.*; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.player.GamePlayerUtil; -import forge.util.CardTranslation; -import forge.util.FileUtil; -import forge.util.ItemPool; -import forge.util.Lang; -import forge.util.Localizer; +import forge.util.*; import forge.util.storage.IStorage; import forge.util.storage.StorageBase; +import java.io.File; +import java.util.List; +import java.util.Map; +import java.util.Set; + /** * The default Model implementation for Forge. * @@ -191,7 +180,7 @@ public final class FModel { } magicDb = new StaticData(reader, tokenReader, customReader, ForgeConstants.EDITIONS_DIR, ForgeConstants.USER_CUSTOM_EDITIONS_DIR,ForgeConstants.BLOCK_DATA_DIR, - FModel.getPreferences().getPref(FPref.UI_PREFERRED_CARD_FRAME), + FModel.getPreferences().getPref(FPref.UI_PREFERRED_ART), FModel.getPreferences().getPrefBoolean(FPref.UI_LOAD_UNKNOWN_CARDS), FModel.getPreferences().getPrefBoolean(FPref.UI_LOAD_NONLEGAL_CARDS)); CardTranslation.preloadTranslation(preferences.getPref(FPref.UI_LANGUAGE), ForgeConstants.LANG_DIR);