diff --git a/cockatrice/src/carddatabasemodel.cpp b/cockatrice/src/carddatabasemodel.cpp index 0eea4cb4..6a8d3fe7 100644 --- a/cockatrice/src/carddatabasemodel.cpp +++ b/cockatrice/src/carddatabasemodel.cpp @@ -146,14 +146,17 @@ bool CardDatabaseDisplayModel::filterAcceptsRow(int sourceRow, const QModelIndex { CardInfo const *info = static_cast(sourceModel())->getCard(sourceRow); - bool show = false; - if (!cardName.isEmpty()) { - if (info->getName().contains(cardName, Qt::CaseInsensitive)) - show = true; - } else - return true;// search is empty, show all + if (((isToken == ShowTrue) && !info->getIsToken()) || ((isToken == ShowFalse) && info->getIsToken())) + return false; - return show; + if (!cardName.isEmpty()) + if (!info->getName().contains(cardName, Qt::CaseInsensitive)) + return false; + + if (filterTree != NULL) + return filterTree->acceptsCard(info); + + return true; } void CardDatabaseDisplayModel::clearSearch()