Convenience method to fetch a specific CardInfoPerSet instance for a cardName and a UUID.

This commit is contained in:
Lukas Brübach 2024-11-14 21:14:24 +01:00
parent db042a4190
commit e0f9031ee5
2 changed files with 22 additions and 0 deletions

View file

@ -635,6 +635,27 @@ CardInfoPerSet CardDatabase::getPreferredSetForCard(const QString &cardName)
return CardInfoPerSet(nullptr);
}
CardInfoPerSet CardDatabase::getSpecificSetForCard(const QString &cardName, const QString &uuid) const
{
CardInfoPtr cardInfo = getCard(cardName);
if (!cardInfo) {
return CardInfoPerSet(nullptr);
}
CardInfoPerSetMap setMap = cardInfo->getSets();
if (setMap.empty()) {
return CardInfoPerSet(nullptr);
}
for (auto &cardInfoForSet : setMap) {
if (cardInfoForSet.getProperty("uuid") == uuid) {
return cardInfoForSet;
}
}
return CardInfoPerSet(nullptr);
}
QString CardDatabase::getPreferredPrintingUUIDForCard(const QString &cardName)
{
CardInfoPerSet preferredSetCardInfo = getPreferredSetForCard(cardName);

View file

@ -431,6 +431,7 @@ public:
QList<CardInfoPtr> getCards(const QStringList &cardNames) const;
CardInfoPtr getCardByNameAndUUID(const QString &cardName, const QString &uuid) const;
CardInfoPerSet getPreferredSetForCard(const QString &cardName);
CardInfoPerSet getSpecificSetForCard(const QString &cardName, const QString &uuid) const;
QString getPreferredPrintingUUIDForCard(const QString &cardName);
CardInfoPtr guessCard(const QString &cardName) const;