* remove add*Match since they broke the pattern of usage (who owns the match? do you have to add it again? etc..)
* add addMatch to compliment addMatches for those runners that just ever have one match
* make the default SearchMatch type Possible rather than Exact (making Exact and Informational the exceptions, which matches usage patterns)
* const'ify the API a bit better
generally more performant, lower memory usage and clearer API having seen what is beign done in the runners. also makes it a bit easier to turn the Matches into a qt model
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=776931
(neat when optimizations reveal bugs: previously when we were always setting the match lists even when we got empty lists, this was masking the fact that we were never updating the matches when the search context was reset ... so there was always a period of time when there were stale matches pointing off into outerspace in the UI. and of course, if no engines returned anything .. booM! but once we were not responding to empty match lists this problem became very visible.)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=775180
Also adds a addMatchesTo(SearchContext) which encapsulates this code and makes it safe to delete matches on object deletion, preventing possible memory leaks on SearchContext destruction.
Finally, don't copy all the SearchMatches already registered for each thread-local copy as that's just unused and unecessary overhead.
BIC, though SC.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773473
* differentiate between resetSearchTerm and just setSearchTerm (to be used with the above)
* remove the SearchContext ptr from SearchMatch's dptr as it isn't used; don't want to mislead people or waste memory
* more const correctness
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764593