mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-30 10:33:54 -07:00
Display cards as set variants if only a single set is selected. (#5854)
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
3b1d6e394d
commit
1e01c684c4
1 changed files with 18 additions and 1 deletions
|
|
@ -195,13 +195,30 @@ void VisualDatabaseDisplayWidget::populateCards()
|
||||||
databaseDisplayModel->fetchMore(QModelIndex());
|
databaseDisplayModel->fetchMore(QModelIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) {
|
||||||
qCDebug(VisualDatabaseDisplayLog) << "Adding " << row;
|
qCDebug(VisualDatabaseDisplayLog) << "Adding " << 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);
|
||||||
qCDebug(VisualDatabaseDisplayLog) << name.toString();
|
qCDebug(VisualDatabaseDisplayLog) << name.toString();
|
||||||
|
|
||||||
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 not found in database!";
|
qCDebug(VisualDatabaseDisplayLog) << "Card not found in database!";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue