From 0b98d903370ba6c06996bd0a7f261e44ad964a5a Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Fri, 27 Aug 2010 22:48:35 +0200 Subject: [PATCH] search function couldn't find colorless cards: fixed --- cockatrice/src/carddatabase.cpp | 7 +++++-- cockatrice/src/carddatabasemodel.cpp | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cockatrice/src/carddatabase.cpp b/cockatrice/src/carddatabase.cpp index ae399f19..a9939468 100644 --- a/cockatrice/src/carddatabase.cpp +++ b/cockatrice/src/carddatabase.cpp @@ -511,8 +511,11 @@ QStringList CardDatabase::getAllColors() const QHashIterator cardIterator(cardHash); while (cardIterator.hasNext()) { const QStringList &cardColors = cardIterator.next().value()->getColors(); - for (int i = 0; i < cardColors.size(); ++i) - colors.insert(cardColors[i]); + if (cardColors.isEmpty()) + colors.insert("X"); + else + for (int i = 0; i < cardColors.size(); ++i) + colors.insert(cardColors[i]); } return colors.toList(); } diff --git a/cockatrice/src/carddatabasemodel.cpp b/cockatrice/src/carddatabasemodel.cpp index 3f8e42d1..b5b09152 100644 --- a/cockatrice/src/carddatabasemodel.cpp +++ b/cockatrice/src/carddatabasemodel.cpp @@ -87,7 +87,7 @@ bool CardDatabaseDisplayModel::filterAcceptsRow(int sourceRow, const QModelIndex return false; if (!cardColors.isEmpty()) - if (QSet::fromList(info->getColors()).intersect(cardColors).isEmpty()) + if (QSet::fromList(info->getColors()).intersect(cardColors).isEmpty() && !(info->getColors().isEmpty() && cardColors.contains("X"))) return false; if (!cardTypes.isEmpty())