mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
NDeckManager now includes the new DeckBlockFilter if preferences in menu
say to load HIstoric formats
This commit is contained in:
@@ -4,9 +4,7 @@ import java.awt.Component;
|
|||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import javax.swing.JMenu;
|
import javax.swing.JMenu;
|
||||||
@@ -14,6 +12,8 @@ import javax.swing.JTable;
|
|||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
|
|
||||||
|
import forge.itemmanager.filters.*;
|
||||||
|
import forge.localinstance.properties.ForgePreferences;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -29,15 +29,6 @@ import forge.gui.GuiUtils;
|
|||||||
import forge.gui.UiCommand;
|
import forge.gui.UiCommand;
|
||||||
import forge.gui.framework.FScreen;
|
import forge.gui.framework.FScreen;
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
import forge.itemmanager.filters.AdvancedSearchFilter;
|
|
||||||
import forge.itemmanager.filters.DeckColorFilter;
|
|
||||||
import forge.itemmanager.filters.DeckFolderFilter;
|
|
||||||
import forge.itemmanager.filters.DeckFormatFilter;
|
|
||||||
import forge.itemmanager.filters.DeckQuestWorldFilter;
|
|
||||||
import forge.itemmanager.filters.DeckSearchFilter;
|
|
||||||
import forge.itemmanager.filters.DeckSetFilter;
|
|
||||||
import forge.itemmanager.filters.FormatFilter;
|
|
||||||
import forge.itemmanager.filters.ItemFilter;
|
|
||||||
import forge.itemmanager.views.ItemCellRenderer;
|
import forge.itemmanager.views.ItemCellRenderer;
|
||||||
import forge.itemmanager.views.ItemListView;
|
import forge.itemmanager.views.ItemListView;
|
||||||
import forge.itemmanager.views.ItemTableColumn;
|
import forge.itemmanager.views.ItemTableColumn;
|
||||||
@@ -123,7 +114,7 @@ public final class DeckManager extends ItemManager<DeckProxy> implements IHasGam
|
|||||||
/**
|
/**
|
||||||
* Sets the delete command.
|
* Sets the delete command.
|
||||||
*
|
*
|
||||||
* @param c0   {@link forge.forge.gui.UiCommand} command executed on delete.
|
* @param c0   {@link forge.gui.UiCommand} command executed on delete.
|
||||||
*/
|
*/
|
||||||
public void setDeleteCommand(final UiCommand c0) {
|
public void setDeleteCommand(final UiCommand c0) {
|
||||||
this.cmdDelete = c0;
|
this.cmdDelete = c0;
|
||||||
@@ -132,7 +123,7 @@ public final class DeckManager extends ItemManager<DeckProxy> implements IHasGam
|
|||||||
/**
|
/**
|
||||||
* Sets the select command.
|
* Sets the select command.
|
||||||
*
|
*
|
||||||
* @param c0   {@link forge.forge.gui.UiCommand} command executed on row select.
|
* @param c0   {@link forge.gui.UiCommand} command executed on row select.
|
||||||
*/
|
*/
|
||||||
public void setSelectCommand(final UiCommand c0) {
|
public void setSelectCommand(final UiCommand c0) {
|
||||||
this.cmdSelect = c0;
|
this.cmdSelect = c0;
|
||||||
@@ -289,6 +280,28 @@ public final class DeckManager extends ItemManager<DeckProxy> implements IHasGam
|
|||||||
}
|
}
|
||||||
menu.add(world);
|
menu.add(world);
|
||||||
|
|
||||||
|
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.LOAD_HISTORIC_FORMATS)) {
|
||||||
|
JMenu blocks = GuiUtils.createMenu(localizer.getMessage("lblBlock"));
|
||||||
|
List<GameFormat> blockFormats = new ArrayList<>();
|
||||||
|
for (GameFormat format : FModel.getFormats().getHistoricList()){
|
||||||
|
if (format.getFormatSubType() != GameFormat.FormatSubType.BLOCK)
|
||||||
|
continue;
|
||||||
|
if (!format.getName().endsWith("Block"))
|
||||||
|
continue;
|
||||||
|
blockFormats.add(format);
|
||||||
|
}
|
||||||
|
Collections.sort(blockFormats); // GameFormat will be sorted by Index!
|
||||||
|
for (final GameFormat f : blockFormats) {
|
||||||
|
GuiUtils.addMenuItem(blocks, f.getName(), null, new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
addFilter(new DeckBlockFilter(DeckManager.this, f));
|
||||||
|
}
|
||||||
|
}, DeckBlockFilter.canAddCardBlock(f, getFilter(DeckBlockFilter.class)));
|
||||||
|
}
|
||||||
|
menu.add(blocks);
|
||||||
|
}
|
||||||
|
|
||||||
GuiUtils.addSeparator(menu);
|
GuiUtils.addSeparator(menu);
|
||||||
|
|
||||||
GuiUtils.addMenuItem(menu, localizer.getMessage("lblColors"), null, new Runnable() {
|
GuiUtils.addMenuItem(menu, localizer.getMessage("lblColors"), null, new Runnable() {
|
||||||
|
|||||||
Reference in New Issue
Block a user