update CardDatabase signatures

This commit is contained in:
RickyRister 2025-07-12 03:05:20 -07:00
parent 47c9a03bee
commit bc8e28133e
2 changed files with 27 additions and 26 deletions

View file

@ -126,11 +126,11 @@ QList<CardInfoPtr> CardDatabase::getCards(const QStringList &cardNames) const
return cardInfos; return cardInfos;
} }
QList<CardInfoPtr> CardDatabase::getCardsByNameAndProviderId(const QMap<QString, QString> &cardNames) const QList<CardInfoPtr> CardDatabase::getCardsByNameAndProviderId(const QList<CardRef> &cardRefs) const
{ {
QList<CardInfoPtr> cardInfos; QList<CardInfoPtr> cardInfos;
for (const QString &cardName : cardNames) { for (const auto &cardRef : cardRefs) {
CardInfoPtr ptr = getCardByNameAndProviderId(cardName, cardNames[cardName]); CardInfoPtr ptr = getCardByNameAndProviderId(cardRef);
if (ptr) if (ptr)
cardInfos.append(ptr); cardInfos.append(ptr);
} }
@ -138,16 +138,16 @@ QList<CardInfoPtr> CardDatabase::getCardsByNameAndProviderId(const QMap<QString,
return cardInfos; return cardInfos;
} }
CardInfoPtr CardDatabase::getCardByNameAndProviderId(const QString &cardName, const QString &providerId) const CardInfoPtr CardDatabase::getCardByNameAndProviderId(const CardRef &cardRef) const
{ {
auto info = getCard(cardName); auto info = getCard(cardRef.name);
if (providerId.isNull() || providerId.isEmpty() || info.isNull()) { if (cardRef.providerId.isNull() || cardRef.providerId.isEmpty() || info.isNull()) {
return info; return info;
} }
for (const auto &printings : info->getSets()) { for (const auto &printings : info->getSets()) {
for (const auto &printing : printings) { for (const auto &printing : printings) {
if (printing.getProperty("uuid") == providerId) { if (printing.getProperty("uuid") == cardRef.providerId) {
CardInfoPtr cardFromSpecificSet = info->clone(); CardInfoPtr cardFromSpecificSet = info->clone();
cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(info->getName()) + cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(info->getName()) +
QString("_") + QString(printing.getProperty("uuid"))); QString("_") + QString(printing.getProperty("uuid")));
@ -163,14 +163,14 @@ CardInfoPtr CardDatabase::getCardBySimpleName(const QString &cardName) const
return simpleNameCards.value(CardInfo::simplifyName(cardName)); return simpleNameCards.value(CardInfo::simplifyName(cardName));
} }
CardInfoPtr CardDatabase::guessCard(const QString &cardName, const QString &providerId) const CardInfoPtr CardDatabase::guessCard(const CardRef &cardRef) const
{ {
CardInfoPtr temp = providerId.isEmpty() ? getCard(cardName) : getCardByNameAndProviderId(cardName, providerId); CardInfoPtr temp = cardRef.providerId.isEmpty() ? getCard(cardRef.name) : getCardByNameAndProviderId(cardRef);
if (temp == nullptr) { // get card by simple name instead if (temp == nullptr) { // get card by simple name instead
temp = getCardBySimpleName(cardName); temp = getCardBySimpleName(cardRef.name);
if (temp == nullptr) { // still could not find the card, so simplify the cardName too if (temp == nullptr) { // still could not find the card, so simplify the cardName too
const auto &simpleCardName = CardInfo::simplifyName(cardName); const auto &simpleCardName = CardInfo::simplifyName(cardRef.name);
temp = getCardBySimpleName(simpleCardName); temp = getCardBySimpleName(simpleCardName);
} }
} }
@ -335,9 +335,9 @@ PrintingInfo CardDatabase::getPreferredPrinting(const CardInfoPtr &cardInfo) con
return PrintingInfo(nullptr); return PrintingInfo(nullptr);
} }
PrintingInfo CardDatabase::getSpecificPrinting(const QString &cardName, const QString &providerId) const PrintingInfo CardDatabase::getSpecificPrinting(const CardRef &cardRef) const
{ {
CardInfoPtr cardInfo = getCard(cardName); CardInfoPtr cardInfo = getCard(cardRef.name);
if (!cardInfo) { if (!cardInfo) {
return PrintingInfo(nullptr); return PrintingInfo(nullptr);
} }
@ -349,14 +349,14 @@ PrintingInfo CardDatabase::getSpecificPrinting(const QString &cardName, const QS
for (const auto &printings : setMap) { for (const auto &printings : setMap) {
for (auto &cardInfoForSet : printings) { for (auto &cardInfoForSet : printings) {
if (cardInfoForSet.getProperty("uuid") == providerId) { if (cardInfoForSet.getProperty("uuid") == cardRef.providerId) {
return cardInfoForSet; return cardInfoForSet;
} }
} }
} }
if (providerId.isNull()) { if (cardRef.providerId.isNull()) {
return getPreferredPrinting(cardName); return getPreferredPrinting(cardRef.name);
} }
return PrintingInfo(nullptr); return PrintingInfo(nullptr);
@ -409,13 +409,13 @@ QString CardDatabase::getPreferredPrintingProviderIdForCard(const QString &cardN
return defaultCardInfo->getName(); return defaultCardInfo->getName();
} }
bool CardDatabase::isProviderIdForPreferredPrinting(const QString &cardName, const QString &providerId) bool CardDatabase::isProviderIdForPreferredPrinting(const CardRef &cardRef)
{ {
if (providerId.startsWith("card_")) { if (cardRef.providerId.startsWith("card_")) {
return providerId == return cardRef.providerId == QLatin1String("card_") + cardRef.name + QString("_") +
QLatin1String("card_") + cardName + QString("_") + getPreferredPrintingProviderIdForCard(cardName); getPreferredPrintingProviderIdForCard(cardRef.name);
} }
return providerId == getPreferredPrintingProviderIdForCard(cardName); return cardRef.providerId == getPreferredPrintingProviderIdForCard(cardRef.name);
} }
PrintingInfo CardDatabase::getSetInfoForCard(const CardInfoPtr &_card) PrintingInfo CardDatabase::getSetInfoForCard(const CardInfoPtr &_card)

View file

@ -2,6 +2,7 @@
#define CARDDATABASE_H #define CARDDATABASE_H
#include "card_info.h" #include "card_info.h"
#include "card_ref.h"
#include <QBasicMutex> #include <QBasicMutex>
#include <QDate> #include <QDate>
@ -67,18 +68,18 @@ public:
[[nodiscard]] CardInfoPtr getCard(const QString &cardName) const; [[nodiscard]] CardInfoPtr getCard(const QString &cardName) const;
[[nodiscard]] QList<CardInfoPtr> getCards(const QStringList &cardNames) const; [[nodiscard]] QList<CardInfoPtr> getCards(const QStringList &cardNames) const;
QList<CardInfoPtr> getCardsByNameAndProviderId(const QMap<QString, QString> &cardNames) const; QList<CardInfoPtr> getCardsByNameAndProviderId(const QList<CardRef> &cardRefs) const;
[[nodiscard]] CardInfoPtr getCardByNameAndProviderId(const QString &cardName, const QString &providerId) const; [[nodiscard]] CardInfoPtr getCardByNameAndProviderId(const CardRef &cardRef) const;
[[nodiscard]] PrintingInfo getPreferredPrinting(const QString &cardName) const; [[nodiscard]] PrintingInfo getPreferredPrinting(const QString &cardName) const;
[[nodiscard]] PrintingInfo getPreferredPrinting(const CardInfoPtr &cardInfo) const; [[nodiscard]] PrintingInfo getPreferredPrinting(const CardInfoPtr &cardInfo) const;
[[nodiscard]] PrintingInfo getSpecificPrinting(const QString &cardName, const QString &providerId) const; [[nodiscard]] PrintingInfo getSpecificPrinting(const CardRef &cardRef) const;
PrintingInfo PrintingInfo
getSpecificPrinting(const QString &cardName, const QString &setShortName, const QString &collectorNumber) const; getSpecificPrinting(const QString &cardName, const QString &setShortName, const QString &collectorNumber) const;
QString getPreferredPrintingProviderIdForCard(const QString &cardName); QString getPreferredPrintingProviderIdForCard(const QString &cardName);
bool isProviderIdForPreferredPrinting(const QString &cardName, const QString &providerId); bool isProviderIdForPreferredPrinting(const CardRef &cardRef);
[[nodiscard]] CardInfoPtr guessCard(const QString &cardName, const QString &providerId = QString()) const; [[nodiscard]] CardInfoPtr guessCard(const CardRef &cardRef) const;
/* /*
* Get a card by its simple name. The name will be simplified in this * Get a card by its simple name. The name will be simplified in this