mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-29 17:32:17 -07:00
[Card Database] Improve loading times through binary cache
Took 10 minutes Took 9 minutes Took 16 seconds
This commit is contained in:
parent
688c5d2a12
commit
1057d2eb3b
30 changed files with 1434 additions and 90 deletions
|
|
@ -12,6 +12,7 @@ CardDatabaseModel::CardDatabaseModel(CardDatabase *_db, bool _showOnlyCardsFromE
|
|||
connect(db, &CardDatabase::cardRemoved, this, &CardDatabaseModel::cardRemoved);
|
||||
connect(db, &CardDatabase::cardDatabaseEnabledSetsChanged, this,
|
||||
&CardDatabaseModel::cardDatabaseEnabledSetsChanged);
|
||||
connect(db, &CardDatabase::cardDatabaseReset, this, &CardDatabaseModel::resetCardList);
|
||||
|
||||
cardDatabaseEnabledSetsChanged();
|
||||
}
|
||||
|
|
@ -151,3 +152,18 @@ void CardDatabaseModel::cardRemoved(CardInfoPtr card)
|
|||
cardList.removeAt(row);
|
||||
endRemoveRows();
|
||||
}
|
||||
|
||||
void CardDatabaseModel::resetCardList()
|
||||
{
|
||||
beginResetModel();
|
||||
cardList.clear();
|
||||
cardListSet.clear();
|
||||
for (const CardInfoPtr &card : db->getCardList()) {
|
||||
if (checkCardHasAtLeastOneEnabledSet(card)) {
|
||||
cardList.append(card);
|
||||
cardListSet.insert(card);
|
||||
connect(card.data(), &CardInfo::cardInfoChanged, this, &CardDatabaseModel::cardInfoChanged);
|
||||
}
|
||||
}
|
||||
endResetModel();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ private slots:
|
|||
void cardRemoved(CardInfoPtr card);
|
||||
void cardInfoChanged(const CardInfoPtr &card);
|
||||
void cardDatabaseEnabledSetsChanged();
|
||||
void resetCardList();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue