mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-12 09:04:53 -07:00
Add modelDirty signal, add helper functions to gather all main and sub card types. (#5819)
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
04b1561c0f
commit
83757f0ea3
3 changed files with 47 additions and 0 deletions
|
|
@ -472,6 +472,45 @@ QStringList CardDatabase::getAllMainCardTypes() const
|
||||||
return types.values();
|
return types.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QMap<QString, int> CardDatabase::getAllMainCardTypesWithCount() const
|
||||||
|
{
|
||||||
|
QMap<QString, int> typeCounts;
|
||||||
|
QHashIterator<QString, CardInfoPtr> cardIterator(cards);
|
||||||
|
|
||||||
|
while (cardIterator.hasNext()) {
|
||||||
|
QString type = cardIterator.next().value()->getMainCardType();
|
||||||
|
typeCounts[type]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return typeCounts;
|
||||||
|
}
|
||||||
|
|
||||||
|
QMap<QString, int> CardDatabase::getAllSubCardTypesWithCount() const
|
||||||
|
{
|
||||||
|
QMap<QString, int> typeCounts;
|
||||||
|
QHashIterator<QString, CardInfoPtr> cardIterator(cards);
|
||||||
|
|
||||||
|
while (cardIterator.hasNext()) {
|
||||||
|
QString type = cardIterator.next().value()->getCardType();
|
||||||
|
|
||||||
|
QStringList parts = type.split(" — ");
|
||||||
|
|
||||||
|
if (parts.size() > 1) { // Ensure there are subtypes
|
||||||
|
#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))
|
||||||
|
QStringList subtypes = parts[1].split(" ", Qt::SkipEmptyParts);
|
||||||
|
#else
|
||||||
|
QStringList subtypes = parts[1].split(" ", QString::SkipEmptyParts);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (const QString &subtype : subtypes) {
|
||||||
|
typeCounts[subtype]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return typeCounts;
|
||||||
|
}
|
||||||
|
|
||||||
void CardDatabase::checkUnknownSets()
|
void CardDatabase::checkUnknownSets()
|
||||||
{
|
{
|
||||||
auto _sets = getSetList();
|
auto _sets = getSetList();
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,8 @@ public:
|
||||||
LoadStatus loadFromFile(const QString &fileName);
|
LoadStatus loadFromFile(const QString &fileName);
|
||||||
bool saveCustomTokensToFile();
|
bool saveCustomTokensToFile();
|
||||||
QStringList getAllMainCardTypes() const;
|
QStringList getAllMainCardTypes() const;
|
||||||
|
QMap<QString, int> getAllMainCardTypesWithCount() const;
|
||||||
|
QMap<QString, int> getAllSubCardTypesWithCount() const;
|
||||||
LoadStatus getLoadStatus() const
|
LoadStatus getLoadStatus() const
|
||||||
{
|
{
|
||||||
return loadStatus;
|
return loadStatus;
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,7 @@ public:
|
||||||
void setIsToken(FilterBool _isToken)
|
void setIsToken(FilterBool _isToken)
|
||||||
{
|
{
|
||||||
isToken = _isToken;
|
isToken = _isToken;
|
||||||
|
emit modelDirty();
|
||||||
dirty();
|
dirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -97,17 +98,20 @@ public:
|
||||||
filterString = nullptr;
|
filterString = nullptr;
|
||||||
}
|
}
|
||||||
cardName = sanitizeCardName(_cardName, characterTranslation);
|
cardName = sanitizeCardName(_cardName, characterTranslation);
|
||||||
|
emit modelDirty();
|
||||||
dirty();
|
dirty();
|
||||||
}
|
}
|
||||||
void setStringFilter(const QString &_src)
|
void setStringFilter(const QString &_src)
|
||||||
{
|
{
|
||||||
delete filterString;
|
delete filterString;
|
||||||
filterString = new FilterString(_src);
|
filterString = new FilterString(_src);
|
||||||
|
emit modelDirty();
|
||||||
dirty();
|
dirty();
|
||||||
}
|
}
|
||||||
void setCardNameSet(const QSet<QString> &_cardNameSet)
|
void setCardNameSet(const QSet<QString> &_cardNameSet)
|
||||||
{
|
{
|
||||||
cardNameSet = _cardNameSet;
|
cardNameSet = _cardNameSet;
|
||||||
|
emit modelDirty();
|
||||||
dirty();
|
dirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,6 +123,8 @@ public:
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
bool canFetchMore(const QModelIndex &parent) const override;
|
bool canFetchMore(const QModelIndex &parent) const override;
|
||||||
void fetchMore(const QModelIndex &parent) override;
|
void fetchMore(const QModelIndex &parent) override;
|
||||||
|
signals:
|
||||||
|
void modelDirty();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override;
|
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue