Add as set instance on subsequent loads as well.

This commit is contained in:
Lukas Brübach 2025-07-01 10:14:04 +02:00
parent 51f978ac72
commit 07f6b2d9bb

View file

@ -284,11 +284,28 @@ void VisualDatabaseDisplayWidget::loadNextPage()
} }
// Load the next page of cards and add them to the flow widget // Load the next page of cards and add them to the flow widget
QList<const CardFilter *> setFilters = filterModel->getFiltersOfType(CardFilter::AttrSet);
const CardFilter *setFilter = nullptr;
if (setFilters.length() == 1) {
setFilter = setFilters.at(0);
}
for (int row = start; row < end; ++row) { for (int row = start; row < end; ++row) {
QModelIndex index = databaseDisplayModel->index(row, CardDatabaseModel::NameColumn); QModelIndex index = databaseDisplayModel->index(row, CardDatabaseModel::NameColumn);
QVariant name = databaseDisplayModel->data(index, Qt::DisplayRole); QVariant name = databaseDisplayModel->data(index, Qt::DisplayRole);
if (CardInfoPtr info = CardDatabaseManager::getInstance()->getCard(name.toString())) { if (CardInfoPtr info = CardDatabaseManager::getInstance()->getCard(name.toString())) {
addCard(info); if (setFilter) {
CardInfoPerSetMap setMap = info->getSets();
if (setMap.contains(setFilter->term())) {
for (CardInfoPerSet cardSetInstance : setMap[setFilter->term()]) {
addCard(CardDatabaseManager::getInstance()->getCardByNameAndProviderId(
name.toString(), cardSetInstance.getProperty("uuid")));
}
}
} else {
addCard(info);
}
} else { } else {
qCDebug(VisualDatabaseDisplayLog) << "Card " << name.toString() << " not found in database!"; qCDebug(VisualDatabaseDisplayLog) << "Card " << name.toString() << " not found in database!";
} }