From ee01e3d29fafd1b739bb8075b22358e66f0a6f22 Mon Sep 17 00:00:00 2001 From: Heitor Bittencourt Date: Mon, 24 Mar 2025 17:04:07 -0300 Subject: [PATCH] fix: copy to clipboard now collates copies of a card together. --- forge-gui-mobile/src/forge/deck/FDeckViewer.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/deck/FDeckViewer.java b/forge-gui-mobile/src/forge/deck/FDeckViewer.java index 6d6a1e8ea04..aba5fb60b46 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckViewer.java +++ b/forge-gui-mobile/src/forge/deck/FDeckViewer.java @@ -1,5 +1,7 @@ package forge.deck; +import java.util.Collection; +import java.util.Iterator; import java.util.Map.Entry; import forge.Forge; @@ -7,6 +9,7 @@ import forge.assets.FImage; import forge.assets.FSkinImage; import forge.assets.ImageCache; import forge.item.PaperCard; +import forge.item.PaperCardPredicates; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; @@ -57,8 +60,15 @@ public class FDeckViewer extends FScreen { } deckList.append(s.toString()).append(": "); deckList.append(nl); + int count = 0; for (final Entry ev : cp) { - deckList.append(ev.getValue()).append(" ").append(ev.getKey().getCardName()).append(nl); + count = cp.countByName(ev.getKey()); + deckList.append(count).append(" ").append(ev.getKey().getCardName()).append(nl); + if(count != ev.getValue()) + { + cp.removeAll(cp.getFilteredPool(PaperCardPredicates.name(ev.getKey().getCardName()))); + } + } deckList.append(nl); }