diff --git a/forge-game/src/main/java/forge/game/GameFormat.java b/forge-game/src/main/java/forge/game/GameFormat.java index 9390ccf0793..24d11e9c3f4 100644 --- a/forge-game/src/main/java/forge/game/GameFormat.java +++ b/forge-game/src/main/java/forge/game/GameFormat.java @@ -309,6 +309,16 @@ public class GameFormat implements Comparable { return coreList; } + public Iterable getHistoricList() { + List coreList = new ArrayList<>(); + for(GameFormat format: naturallyOrdered){ + if(format.getFormatType().equals(FormatType.Historic)){ + coreList.add(format); + } + } + return coreList; + } + public GameFormat getStandard() { return this.map.get("Standard"); } diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java index c0f67a79439..a33166a31ff 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java @@ -92,6 +92,17 @@ public class CardManager extends ItemManager { } menu.add(fmt); + JMenu fmthist = GuiUtils.createMenu("Historic Format"); + for (final GameFormat f : FModel.getFormats().getHistoricList()) { + GuiUtils.addMenuItem(fmthist, f.getName(), null, new Runnable() { + @Override + public void run() { + itemManager.addFilter(new CardFormatFilter(itemManager, f)); + } + }, FormatFilter.canAddFormat(f, itemManager.getFilter(CardFormatFilter.class))); + } + menu.add(fmthist); + GuiUtils.addMenuItem(menu, "Sets...", null, new Runnable() { @Override public void run() { diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java index 0d1f9f5cc3a..d8cfb29c6ae 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java @@ -186,6 +186,17 @@ public final class DeckManager extends ItemManager implements IHasGam } menu.add(fmt); + final JMenu fmtall = GuiUtils.createMenu("Historic Format"); + for (final GameFormat f : FModel.getFormats().getHistoricList()) { + GuiUtils.addMenuItem(fmtall, f.getName(), null, new Runnable() { + @Override + public void run() { + addFilter(new DeckFormatFilter(DeckManager.this, f)); + } + }, FormatFilter.canAddFormat(f, getFilter(DeckFormatFilter.class))); + } + menu.add(fmtall); + GuiUtils.addMenuItem(menu, "Sets...", null, new Runnable() { @Override public void run() { final DeckSetFilter existingFilter = getFilter(DeckSetFilter.class); diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/FormatFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/FormatFilter.java index 5235c83e269..a2fed88a002 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/FormatFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/FormatFilter.java @@ -166,6 +166,7 @@ public abstract class FormatFilter extends ItemFilter