[Card Database] Improve loading times through binary cache (#7051)

* [Card Database] Improve loading times through binary cache

Took 10 minutes


Took 9 minutes

Took 16 seconds

* [Card Database] Remove lib qt include

Took 18 minutes


Took 14 seconds

* Downgrade to 6.3 datastream

Took 5 minutes

* go up to 6.4 datastream

Took 1 minute

* Address comments

* Small bug fixes

Took 20 minutes


Took 10 seconds

* More fixes.

Took 4 minutes


Took 4 seconds

* Even more fixes.

Took 11 minutes


Took 4 seconds

* More fixes.

Took 6 minutes

Took 26 seconds

Took 8 minutes

* Namespace instead of class

Took 6 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-07-27 23:12:53 +02:00 committed by GitHub
parent 4bb8831531
commit 749223c2dc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
31 changed files with 1604 additions and 106 deletions

View file

@ -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();
}

View file

@ -57,6 +57,7 @@ private slots:
void cardRemoved(CardInfoPtr card);
void cardInfoChanged(const CardInfoPtr &card);
void cardDatabaseEnabledSetsChanged();
void resetCardList();
};
#endif