forked from qt-creator/qt-creator
Abort expensive cancelled computations.
This commit is contained in:
@@ -70,7 +70,7 @@ ILocatorFilter::Priority HelpIndexFilter::priority() const
|
||||
return Medium;
|
||||
}
|
||||
|
||||
QList<FilterEntry> HelpIndexFilter::matchesFor(const QString &entry)
|
||||
QList<FilterEntry> HelpIndexFilter::matchesFor(QFutureInterface<Locator::FilterEntry> &future, const QString &entry)
|
||||
{
|
||||
QStringList keywords;
|
||||
if (entry.length() < 2)
|
||||
@@ -79,8 +79,11 @@ QList<FilterEntry> HelpIndexFilter::matchesFor(const QString &entry)
|
||||
keywords = Core::HelpManager::instance()->findKeywords(entry);
|
||||
|
||||
QList<FilterEntry> entries;
|
||||
foreach (const QString &keyword, keywords)
|
||||
foreach (const QString &keyword, keywords) {
|
||||
if (future.isCanceled())
|
||||
break;
|
||||
entries.append(FilterEntry(this, keyword, QVariant(), m_icon));
|
||||
}
|
||||
|
||||
return entries;
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
QString displayName() const;
|
||||
QString id() const;
|
||||
Priority priority() const;
|
||||
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);
|
||||
|
||||
|
||||
@@ -100,10 +100,13 @@ Locator::ILocatorFilter::Priority RemoteHelpFilter::priority() const
|
||||
return Medium;
|
||||
}
|
||||
|
||||
QList<Locator::FilterEntry> RemoteHelpFilter::matchesFor(const QString &pattern)
|
||||
QList<Locator::FilterEntry> RemoteHelpFilter::matchesFor(QFutureInterface<Locator::FilterEntry> &future, const QString &pattern)
|
||||
{
|
||||
QList<Locator::FilterEntry> entries;
|
||||
foreach (const QString &url, m_remoteUrls) {
|
||||
if (future.isCanceled())
|
||||
break;
|
||||
|
||||
entries.append(Locator::FilterEntry(this, url.arg(pattern), QVariant(),
|
||||
m_icon));
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
QString displayName() const;
|
||||
QString id() const;
|
||||
Priority priority() const;
|
||||
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);
|
||||
QByteArray saveState() const;
|
||||
|
||||
Reference in New Issue
Block a user