aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/help/helpmanager.cpp
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2023-03-09 17:07:58 +0100
committerJarek Kobus <[email protected]>2023-03-10 10:53:59 +0000
commit301f66f190ec3a37180c5f531f98fee48b316be6 (patch)
tree1cca5e1b9b81de993c3c13742112858f0dcd0889 /src/plugins/help/helpmanager.cpp
parent0132cd9937d2ebaee24d379d1e9271f807e43c87 (diff)
Help: Use QtConcurrent invocation for async run
Change-Id: I670d263efa979a08bbbc7c5f936e96feadda038b Reviewed-by: Eike Ziller <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
Diffstat (limited to 'src/plugins/help/helpmanager.cpp')
-rw-r--r--src/plugins/help/helpmanager.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/help/helpmanager.cpp b/src/plugins/help/helpmanager.cpp
index c3e0bd31512..69fe0dabf9e 100644
--- a/src/plugins/help/helpmanager.cpp
+++ b/src/plugins/help/helpmanager.cpp
@@ -7,7 +7,9 @@
#include <coreplugin/icore.h>
#include <coreplugin/progressmanager/progressmanager.h>
+
#include <utils/algorithm.h>
+#include <utils/asynctask.h>
#include <utils/filesystemwatcher.h>
#include <utils/qtcassert.h>
#include <utils/runextensions.h>
@@ -17,6 +19,7 @@
#include <QDesktopServices>
#include <QDir>
#include <QFileInfo>
+#include <QPromise>
#include <QStringList>
#include <QUrl>
@@ -99,7 +102,7 @@ void HelpManager::registerDocumentation(const QStringList &files)
return;
}
- QFuture<bool> future = Utils::runAsync(&HelpManager::registerDocumentationNow, files);
+ QFuture<bool> future = Utils::asyncRun(&HelpManager::registerDocumentationNow, files);
Utils::onResultReady(future, this, [](bool docsChanged){
if (docsChanged) {
d->m_helpEngine->setupData();
@@ -122,13 +125,12 @@ void HelpManager::unregisterDocumentation(const QStringList &fileNames)
unregisterNamespaces(getNamespaces(fileNames));
}
-void HelpManager::registerDocumentationNow(QFutureInterface<bool> &futureInterface,
- const QStringList &files)
+void HelpManager::registerDocumentationNow(QPromise<bool> &promise, const QStringList &files)
{
QMutexLocker locker(&d->m_helpengineMutex);
- futureInterface.setProgressRange(0, files.count());
- futureInterface.setProgressValue(0);
+ promise.setProgressRange(0, files.count());
+ promise.setProgressValue(0);
QHelpEngineCore helpEngine(collectionFilePath());
helpEngine.setReadOnly(false);
@@ -136,9 +138,9 @@ void HelpManager::registerDocumentationNow(QFutureInterface<bool> &futureInterfa
bool docsChanged = false;
QStringList nameSpaces = helpEngine.registeredDocumentations();
for (const QString &file : files) {
- if (futureInterface.isCanceled())
+ if (promise.isCanceled())
break;
- futureInterface.setProgressValue(futureInterface.progressValue() + 1);
+ promise.setProgressValue(promise.future().progressValue() + 1);
const QString &nameSpace = QHelpEngineCore::namespaceName(file);
if (nameSpace.isEmpty())
continue;
@@ -152,7 +154,7 @@ void HelpManager::registerDocumentationNow(QFutureInterface<bool> &futureInterfa
}
}
}
- futureInterface.reportResult(docsChanged);
+ promise.addResult(docsChanged);
}
void HelpManager::unregisterNamespaces(const QStringList &nameSpaces)