C++: Change the locator filter to queue changed documents.

The changed documents get searched for symbols when either a limit of
10 pending documents is reached, or when the filter is asked to return
all matches.

Change-Id: Ic18fc66b0a802165fdd8a028bd13d0ce11524510
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
Erik Verbruggen
2013-02-26 11:14:02 +01:00
committed by Erik Verbruggen
parent e0ba5d955c
commit 45656335fc
4 changed files with 62 additions and 14 deletions

View File

@@ -99,7 +99,7 @@ struct CPPTOOLS_EXPORT ModelItemInfo
int column;
};
class SearchSymbols: public std::unary_function<CPlusPlus::Document::Ptr, QList<ModelItemInfo> >,
class SearchSymbols: public std::binary_function<CPlusPlus::Document::Ptr, int, QList<ModelItemInfo> >,
protected CPlusPlus::SymbolVisitor
{
public:
@@ -112,10 +112,10 @@ public:
void setSymbolsToSearchFor(SymbolTypes types);
void setSeparateScope(bool separateScope);
QList<ModelItemInfo> operator()(CPlusPlus::Document::Ptr doc)
{ return operator()(doc, QString()); }
QList<ModelItemInfo> operator()(CPlusPlus::Document::Ptr doc, int sizeHint = 500)
{ return operator()(doc, sizeHint, QString()); }
QList<ModelItemInfo> operator()(CPlusPlus::Document::Ptr doc, const QString &scope);
QList<ModelItemInfo> operator()(CPlusPlus::Document::Ptr doc, int sizeHint, const QString &scope);
protected:
using SymbolVisitor::visit;