forked from qt-creator/qt-creator
		
	Abort expensive cancelled computations.
This commit is contained in:
		@@ -58,7 +58,7 @@ CppCurrentDocumentFilter::CppCurrentDocumentFilter(CppModelManager *manager, Cor
 | 
			
		||||
            this,          SLOT(onEditorAboutToClose(Core::IEditor*)));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QList<Locator::FilterEntry> CppCurrentDocumentFilter::matchesFor(const QString & origEntry)
 | 
			
		||||
QList<Locator::FilterEntry> CppCurrentDocumentFilter::matchesFor(QFutureInterface<Locator::FilterEntry> &future, const QString & origEntry)
 | 
			
		||||
{
 | 
			
		||||
    QString entry = trimWildcards(origEntry);
 | 
			
		||||
    QList<Locator::FilterEntry> goodEntries;
 | 
			
		||||
@@ -82,6 +82,9 @@ QList<Locator::FilterEntry> CppCurrentDocumentFilter::matchesFor(const QString &
 | 
			
		||||
 | 
			
		||||
    foreach (const ModelItemInfo & info, m_itemsOfCurrentDoc)
 | 
			
		||||
    {
 | 
			
		||||
        if (future.isCanceled())
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        if ((hasWildcard && regexp.exactMatch(info.symbolName))
 | 
			
		||||
            || (!hasWildcard && matcher.indexIn(info.symbolName) != -1))
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@ public:
 | 
			
		||||
    QString displayName() const { return tr("Methods in current Document"); }
 | 
			
		||||
    QString id() const { return QLatin1String("Methods in current Document"); }
 | 
			
		||||
    Priority priority() const { return Medium; }
 | 
			
		||||
    QList<Locator::FilterEntry> matchesFor(const QString &entry);
 | 
			
		||||
    QList<Locator::FilterEntry> matchesFor(QFutureInterface<Locator::FilterEntry> &future, const QString &entry);
 | 
			
		||||
    void accept(Locator::FilterEntry selection) const;
 | 
			
		||||
    void refresh(QFutureInterface<void> &future);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -76,7 +76,7 @@ static bool compareLexigraphically(const Locator::FilterEntry &a,
 | 
			
		||||
    return a.displayName < b.displayName;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QList<Locator::FilterEntry> CppLocatorFilter::matchesFor(const QString &origEntry)
 | 
			
		||||
QList<Locator::FilterEntry> CppLocatorFilter::matchesFor(QFutureInterface<Locator::FilterEntry> &future, const QString &origEntry)
 | 
			
		||||
{
 | 
			
		||||
    QString entry = trimWildcards(origEntry);
 | 
			
		||||
    QList<Locator::FilterEntry> goodEntries;
 | 
			
		||||
@@ -90,6 +90,9 @@ QList<Locator::FilterEntry> CppLocatorFilter::matchesFor(const QString &origEntr
 | 
			
		||||
 | 
			
		||||
    QHashIterator<QString, QList<ModelItemInfo> > it(m_searchList);
 | 
			
		||||
    while (it.hasNext()) {
 | 
			
		||||
        if (future.isCanceled())
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        it.next();
 | 
			
		||||
 | 
			
		||||
        const QList<ModelItemInfo> items = it.value();
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ public:
 | 
			
		||||
    QString displayName() const { return tr("Classes and Methods"); }
 | 
			
		||||
    QString id() const { return QLatin1String("Classes and Methods"); }
 | 
			
		||||
    Priority priority() const { return Medium; }
 | 
			
		||||
    QList<Locator::FilterEntry> matchesFor(const QString &entry);
 | 
			
		||||
    QList<Locator::FilterEntry> matchesFor(QFutureInterface<Locator::FilterEntry> &future, const QString &entry);
 | 
			
		||||
    void accept(Locator::FilterEntry selection) const;
 | 
			
		||||
    void refresh(QFutureInterface<void> &future);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user