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

@ -291,12 +291,30 @@ SearchWindow :: constructSearchResultsView(void) throw ()
void void
SearchWindow :: onSimpleSearch(void) throw () SearchWindow :: onSimpleSearch(void) throw ()
{ {
Glib::ustring value = simpleSearchEntry->get_text(); Glib::ustring value = simpleSearchEntry->get_text();
Ptr<SearchCriteria>::Ref criteria(new SearchCriteria("all", "or")); Ptr<MetadataTypeContainer>::Ref metadataTypes
criteria->addCondition("dc:title", "partial", value); // id3v2 Title = gLiveSupport->getMetadataTypeContainer();
criteria->addCondition("dc:creator", "partial", value); // id3v2 Artist MetadataTypeContainer::Vector::const_iterator
criteria->addCondition("dc:source", "partial", value); // id3v2 Album it = metadataTypes->begin();
Ptr<SearchCriteria>::Ref criteria(new SearchCriteria("all", "or"));
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); onSearch(criteria);
} }