Add cmc to card db filter model

This commit is contained in:
Gavin Bises 2015-01-29 13:33:06 -05:00
parent 7893ab086f
commit 6fa34c6c04
4 changed files with 18 additions and 17 deletions

View file

@ -31,6 +31,8 @@ const char *CardFilter::attrName(Attr a)
return "set";
case AttrManaCost:
return "mana cost";
case AttrCmc:
return "cmc";
default:
return "";
}

View file

@ -22,6 +22,7 @@ public:
AttrText,
AttrSet,
AttrManaCost,
AttrCmc,
AttrEnd
};

View file

@ -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

View file

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