Adjust to database split.

Took 8 minutes
This commit is contained in:
Lukas Brübach 2025-09-27 01:06:37 +02:00
parent 6fa1dcbe1d
commit e8d56c1ed3
4 changed files with 22 additions and 16 deletions

View file

@ -1,5 +1,6 @@
#include "card_database_querier.h"
#include "../settings/cache_settings.h"
#include "../utility/card_set_comparator.h"
#include "card_database.h"
@ -202,6 +203,17 @@ PrintingInfo CardDatabaseQuerier::getSpecificPrinting(const QString &cardName,
return PrintingInfo(nullptr);
}
/**
* Gets the card representing the preferred printing of the cardInfo
*
* @param cardName The cardName to find the preferred card and printing for
* @return A specific printing of a card
*/
ExactCard CardDatabaseQuerier::getPreferredCard(const QString &cardName) const
{
return getPreferredCard(getCardInfo(cardName));
}
/**
* Gets the card representing the preferred printing of the cardInfo
*
@ -234,6 +246,13 @@ PrintingInfo CardDatabaseQuerier::getPreferredPrinting(const CardInfoPtr &cardIn
return PrintingInfo(nullptr);
}
const auto &pinnedPrintingProviderId =
SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardInfo->getName());
if (!pinnedPrintingProviderId.isEmpty()) {
return getSpecificPrinting({cardInfo->getName(), pinnedPrintingProviderId});
}
SetToPrintingsMap setMap = cardInfo->getSets();
if (setMap.empty()) {
return PrintingInfo(nullptr);

View file

@ -39,6 +39,7 @@ public:
[[nodiscard]] PrintingInfo getSpecificPrinting(const CardRef &cardRef) const;
[[nodiscard]] PrintingInfo
getSpecificPrinting(const QString &cardName, const QString &setCode, const QString &collectorNumber) const;
ExactCard getPreferredCard(const QString &cardName) const;
[[nodiscard]] PrintingInfo findPrintingWithId(const CardInfoPtr &card, const QString &providerId) const;
[[nodiscard]] QStringList getAllMainCardTypes() const;

View file

@ -199,7 +199,7 @@ void DlgCreateToken::tokenSelectionChanged(const QModelIndex &current, const QMo
annotationEdit->setText("");
}
pic->setCard(CardDatabaseManager::getInstance()->getPreferredCard(cardInfo));
pic->setCard(CardDatabaseManager::query()->getPreferredCard(cardInfo));
}
void DlgCreateToken::updateSearchFieldWithoutUpdatingFilter(const QString &newValue) const

View file

@ -175,21 +175,7 @@ ExactCard DeckEditorDatabaseDisplayWidget::currentCard() const
const QString cardName = currentIndex.sibling(currentIndex.row(), 0).data().toString();
return getCardOrPinnedPrinting(cardName);
}
ExactCard DeckEditorDatabaseDisplayWidget::getCardOrPinnedPrinting(QString cardName) const
{
const auto &cardProviderId = SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardName);
ExactCard card = CardDatabaseManager::query()->getCard({cardName});
if (cardProviderId != "") {
return ExactCard(card.getCardPtr(),
CardDatabaseManager::query()->getSpecificPrinting({cardName, cardProviderId}));
}
return card;
return CardDatabaseManager::query()->getPreferredCard(cardName);
}
void DeckEditorDatabaseDisplayWidget::databaseCustomMenu(QPoint point)