diff --git a/cockatrice/src/cardfilter.cpp b/cockatrice/src/cardfilter.cpp index fb59adcf..06a41ca9 100644 --- a/cockatrice/src/cardfilter.cpp +++ b/cockatrice/src/cardfilter.cpp @@ -31,6 +31,8 @@ const char *CardFilter::attrName(Attr a) return "set"; case AttrManaCost: return "mana cost"; + case AttrCmc: + return "cmc"; default: return ""; } diff --git a/cockatrice/src/cardfilter.h b/cockatrice/src/cardfilter.h index e5f88123..4b7debb2 100644 --- a/cockatrice/src/cardfilter.h +++ b/cockatrice/src/cardfilter.h @@ -22,6 +22,7 @@ public: AttrText, AttrSet, AttrManaCost, + AttrCmc, AttrEnd }; diff --git a/cockatrice/src/filtertree.cpp b/cockatrice/src/filtertree.cpp index 5fc516f3..c33e94be 100644 --- a/cockatrice/src/filtertree.cpp +++ b/cockatrice/src/filtertree.cpp @@ -199,34 +199,31 @@ bool FilterItem::acceptManaCost(const CardInfo *info) const return (info->getManaCost() == term); } +bool FilterItem::acceptCmc(const CardInfo *info) const +{ + return (info->getCmc() == term); +} + bool FilterItem::acceptCardAttr(const CardInfo *info, CardFilter::Attr attr) const { - bool status; - switch (attr) { case CardFilter::AttrName: - status = acceptName(info); - break; + return acceptName(info); case CardFilter::AttrType: - status = acceptType(info); - break; + return acceptType(info); case CardFilter::AttrColor: - status = acceptColor(info); - break; + return acceptColor(info); case CardFilter::AttrText: - status = acceptText(info); - break; + return acceptText(info); case CardFilter::AttrSet: - status = acceptSet(info); - break; + return acceptSet(info); case CardFilter::AttrManaCost: - status = acceptManaCost(info); - break; + return acceptManaCost(info); + case CardFilter::AttrCmc: + return acceptCmc(info); default: - status = true; /* ignore this attribute */ + return true; /* ignore this attribute */ } - - return status; } /* need to define these here to make QT happy, otherwise diff --git a/cockatrice/src/filtertree.h b/cockatrice/src/filtertree.h index 68f8fafb..6ee58a7e 100644 --- a/cockatrice/src/filtertree.h +++ b/cockatrice/src/filtertree.h @@ -117,6 +117,7 @@ public: bool acceptText(const CardInfo *info) const; bool acceptSet(const CardInfo *info) const; bool acceptManaCost(const CardInfo *info) const; + bool acceptCmc(const CardInfo *info) const; bool acceptCardAttr(const CardInfo *info, CardFilter::Attr attr) const; };