made simple search configurable; this fixes #1544

This commit is contained in:
fgerlits 2005-12-02 13:54:20 +00:00
parent 330fc96fb2
commit ab38e39b96

View file

@ -293,10 +293,28 @@ SearchWindow :: onSimpleSearch(void) throw ()
{
Glib::ustring value = simpleSearchEntry->get_text();
Ptr<MetadataTypeContainer>::Ref metadataTypes
= gLiveSupport->getMetadataTypeContainer();
MetadataTypeContainer::Vector::const_iterator
it = metadataTypes->begin();
Ptr<SearchCriteria>::Ref criteria(new SearchCriteria("all", "or"));
criteria->addCondition("dc:title", "partial", value); // id3v2 Title
criteria->addCondition("dc:creator", "partial", value); // id3v2 Artist
criteria->addCondition("dc:source", "partial", value); // id3v2 Album
Ptr<const MetadataType>::Ref metadata;
if (it != metadataTypes->end()) {
metadata = *it;
criteria->addCondition(*metadata->getDcName(), "partial", value);
}
if (++it != metadataTypes->end()) {
metadata = *it;
criteria->addCondition(*metadata->getDcName(), "partial", value);
}
if (++it != metadataTypes->end()) {
metadata = *it;
criteria->addCondition(*metadata->getDcName(), "partial", value);
}
onSearch(criteria);
}