mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-23 02:42:16 -07:00
Include cardName in the PixmapCacheKey in order to not break double-faced cards.
This commit is contained in:
parent
018c57b7fa
commit
89daa0ec4a
2 changed files with 7 additions and 4 deletions
|
|
@ -45,7 +45,8 @@ PictureToLoad::PictureToLoad(CardInfoPtr _card)
|
||||||
std::sort(sortedSets.begin(), sortedSets.end(), SetDownloadPriorityComparator());
|
std::sort(sortedSets.begin(), sortedSets.end(), SetDownloadPriorityComparator());
|
||||||
// If the pixmapCacheKey corresponds to a specific set, we have to try to load it first.
|
// If the pixmapCacheKey corresponds to a specific set, we have to try to load it first.
|
||||||
for (const auto &set : card->getSets()) {
|
for (const auto &set : card->getSets()) {
|
||||||
if (QLatin1String("card_") + QString(set.getProperty("uuid")) == card->getPixmapCacheKey()) {
|
if (QLatin1String("card_") + card->getName() + QString("_") + QString(set.getProperty("uuid")) ==
|
||||||
|
card->getPixmapCacheKey()) {
|
||||||
long long setIndex = sortedSets.indexOf(set.getPtr());
|
long long setIndex = sortedSets.indexOf(set.getPtr());
|
||||||
CardSetPtr setForCardUUID = sortedSets.takeAt(setIndex);
|
CardSetPtr setForCardUUID = sortedSets.takeAt(setIndex);
|
||||||
sortedSets.prepend(setForCardUUID);
|
sortedSets.prepend(setForCardUUID);
|
||||||
|
|
|
||||||
|
|
@ -451,7 +451,8 @@ CardInfoPtr CardDatabase::getCardByNameAndUUID(const QString &cardName, const QS
|
||||||
for (const auto &set : info->getSets()) {
|
for (const auto &set : info->getSets()) {
|
||||||
if (set.getProperty("uuid") == uuid) {
|
if (set.getProperty("uuid") == uuid) {
|
||||||
CardInfoPtr cardFromSpecificSet = info->clone();
|
CardInfoPtr cardFromSpecificSet = info->clone();
|
||||||
cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(set.getProperty("uuid")));
|
cardFromSpecificSet->setPixmapCacheKey(QLatin1String("card_") + QString(info->getName()) + QString("_") +
|
||||||
|
QString(set.getProperty("uuid")));
|
||||||
return cardFromSpecificSet;
|
return cardFromSpecificSet;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -600,7 +601,8 @@ LoadStatus CardDatabase::loadCardDatabases()
|
||||||
void CardDatabase::refreshPreferredPrintings()
|
void CardDatabase::refreshPreferredPrintings()
|
||||||
{
|
{
|
||||||
for (const CardInfoPtr &card : cards) {
|
for (const CardInfoPtr &card : cards) {
|
||||||
card->setPixmapCacheKey(QLatin1String("card_") + QString(getPreferredPrintingUUIDForCard(card->getName())));
|
card->setPixmapCacheKey(QLatin1String("card_") + QString(card->getName()) + QString("_") +
|
||||||
|
QString(getPreferredPrintingUUIDForCard(card->getName())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -673,7 +675,7 @@ QString CardDatabase::getPreferredPrintingUUIDForCard(const QString &cardName)
|
||||||
bool CardDatabase::isUuidForPreferredPrinting(const QString &cardName, const QString &uuid)
|
bool CardDatabase::isUuidForPreferredPrinting(const QString &cardName, const QString &uuid)
|
||||||
{
|
{
|
||||||
if (uuid.startsWith("card_")) {
|
if (uuid.startsWith("card_")) {
|
||||||
return uuid == QLatin1String("card_") + getPreferredPrintingUUIDForCard(cardName);
|
return uuid == QLatin1String("card_") + cardName + QString("_") + getPreferredPrintingUUIDForCard(cardName);
|
||||||
}
|
}
|
||||||
return uuid == getPreferredPrintingUUIDForCard(cardName);
|
return uuid == getPreferredPrintingUUIDForCard(cardName);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue