diff --git a/cockatrice/src/client/network/parsers/interface_json_deck_parser.h b/cockatrice/src/client/network/parsers/interface_json_deck_parser.h index 8ac05a84b..e0fe4967a 100644 --- a/cockatrice/src/client/network/parsers/interface_json_deck_parser.h +++ b/cockatrice/src/client/network/parsers/interface_json_deck_parser.h @@ -6,6 +6,8 @@ #ifndef INTERFACE_JSON_DECK_PARSER_H #define INTERFACE_JSON_DECK_PARSER_H + +#include "../../../interface/deck_loader/card_node_function.h" #include "../../../interface/deck_loader/deck_loader.h" #include @@ -48,7 +50,7 @@ public: } loader->getDeckList()->loadFromStream_Plain(outStream, false); - DeckLoader::resolveSetNameAndNumberToProviderID(loader->getDeckList()); + loader->getDeckList()->forEachCard(CardNodeFunction::ResolveProviderId()); return loader; } @@ -95,7 +97,7 @@ public: } loader->getDeckList()->loadFromStream_Plain(outStream, false); - DeckLoader::resolveSetNameAndNumberToProviderID(loader->getDeckList()); + loader->getDeckList()->forEachCard(CardNodeFunction::ResolveProviderId()); QJsonObject commandersObj = obj.value("commanders").toObject(); if (!commandersObj.isEmpty()) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp index 2a276479f..952364e37 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp @@ -1,6 +1,7 @@ #include "dlg_load_deck_from_clipboard.h" #include "../../../client/settings/cache_settings.h" +#include "../../deck_loader/card_node_function.h" #include "../../deck_loader/deck_loader.h" #include "dlg_settings.h" @@ -82,9 +83,9 @@ bool AbstractDlgDeckTextEdit::loadIntoDeck(DeckLoader *deckLoader) const if (deckLoader->getDeckList()->loadFromStream_Plain(stream, true)) { if (loadSetNameAndNumberCheckBox->isChecked()) { - DeckLoader::resolveSetNameAndNumberToProviderID(deckLoader->getDeckList()); + deckLoader->getDeckList()->forEachCard(CardNodeFunction::ResolveProviderId()); } else { - DeckLoader::clearSetNamesAndNumbers(deckLoader->getDeckList()); + deckLoader->getDeckList()->forEachCard(CardNodeFunction::ClearPrintingData()); } return true; } diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_website.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_website.cpp index f29984ab0..20eb00083 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_website.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_website.cpp @@ -98,7 +98,7 @@ void DlgLoadDeckFromWebsite::accept() DeckLoader *loader = new DeckLoader(this); QTextStream stream(&deckText); loader->getDeckList()->loadFromStream_Plain(stream, false); - DeckLoader::resolveSetNameAndNumberToProviderID(loader->getDeckList()); + loader->getDeckList()->forEachCard(CardNodeFunction::ResolveProviderId()); deck = loader; QDialog::accept(); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp index 905ac5db0..5b6eff923 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp @@ -1,5 +1,6 @@ #include "dlg_select_set_for_cards.h" +#include "../../deck_loader/card_node_function.h" #include "../../deck_loader/deck_loader.h" #include "../interface/widgets/cards/card_info_picture_widget.h" #include "../interface/widgets/general/layout_containers/flow_widget.h" @@ -177,7 +178,7 @@ void DlgSelectSetForCards::actOK() void DlgSelectSetForCards::actClear() { emit deckAboutToBeModified(tr("Cleared all printing information.")); - DeckLoader::clearSetNamesAndNumbers(model->getDeckList()); + model->getDeckList()->forEachCard(CardNodeFunction::ClearPrintingData()); emit deckModified(); accept(); } @@ -185,8 +186,8 @@ void DlgSelectSetForCards::actClear() void DlgSelectSetForCards::actSetAllToPreferred() { emit deckAboutToBeModified(tr("Set all printings to preferred.")); - DeckLoader::clearSetNamesAndNumbers(model->getDeckList()); - DeckLoader::setProviderIdToPreferredPrinting(model->getDeckList()); + model->getDeckList()->forEachCard(CardNodeFunction::ClearPrintingData()); + model->getDeckList()->forEachCard(CardNodeFunction::SetProviderIdToPreferred()); emit deckModified(); accept(); } diff --git a/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_display_widget.cpp b/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_display_widget.cpp index 33ee67a1f..63d732c9a 100644 --- a/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_display_widget.cpp +++ b/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_display_widget.cpp @@ -1,5 +1,6 @@ #include "archidekt_api_response_deck_display_widget.h" +#include "../../../../../deck_loader/card_node_function.h" #include "../../../../../deck_loader/deck_loader.h" #include "../../../../cards/card_info_picture_with_text_overlay_widget.h" #include "../../../../cards/card_size_widget.h" @@ -68,7 +69,7 @@ ArchidektApiResponseDeckDisplayWidget::ArchidektApiResponseDeckDisplayWidget(QWi connect(model, &DeckListModel::modelReset, this, &ArchidektApiResponseDeckDisplayWidget::decklistModelReset); model->getDeckList()->loadFromStream_Plain(deckStream, false); - DeckLoader::resolveSetNameAndNumberToProviderID(model->getDeckList()); + model->getDeckList()->forEachCard(CardNodeFunction::ResolveProviderId()); model->rebuildTree();