DiffEditorPlugin: Expose plugin's future synchronizer

Change-Id: I208a0e6b9c9776486972177f845e76d33121a2a3
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2022-10-28 15:09:46 +02:00
parent c49de14c9d
commit d81abf1fb4
4 changed files with 12 additions and 11 deletions

View File

@@ -580,13 +580,12 @@ bool DiffEditorPlugin::initialize(const QStringList &arguments, QString *errorMe
return true; return true;
} }
void DiffEditorPlugin::addFuture(const QFuture<void> &future) FutureSynchronizer *DiffEditorPlugin::futureSynchronizer()
{ {
QTC_ASSERT(s_instance, return); QTC_ASSERT(s_instance, return nullptr);
s_instance->d->m_futureSynchronizer.addFuture(future); return &s_instance->d->m_futureSynchronizer;
} }
} // namespace Internal } // namespace Internal
} // namespace DiffEditor } // namespace DiffEditor

View File

@@ -8,6 +8,8 @@
#include <coreplugin/diffservice.h> #include <coreplugin/diffservice.h>
#include <extensionsystem/iplugin.h> #include <extensionsystem/iplugin.h>
namespace Utils { class FutureSynchronizer; }
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
template <typename T> template <typename T>
class QFuture; class QFuture;
@@ -39,9 +41,7 @@ public:
bool initialize(const QStringList &arguments, QString *errorMessage) final; bool initialize(const QStringList &arguments, QString *errorMessage) final;
template <typename T> static Utils::FutureSynchronizer *futureSynchronizer();
static void addFuture(const QFuture<T> &future) { addFuture(QFuture<void>(future)); }
static void addFuture(const QFuture<void> &future);
private: private:
class DiffEditorPluginPrivate *d = nullptr; class DiffEditorPluginPrivate *d = nullptr;

View File

@@ -25,6 +25,7 @@
#include <texteditor/textdocumentlayout.h> #include <texteditor/textdocumentlayout.h>
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <utils/futuresynchronizer.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>
#include <utils/tooltip/tooltip.h> #include <utils/tooltip/tooltip.h>
@@ -784,7 +785,7 @@ SideBySideDiffEditorWidget::~SideBySideDiffEditorWidget()
{ {
if (m_watcher) { if (m_watcher) {
m_watcher->cancel(); m_watcher->cancel();
DiffEditorPlugin::addFuture(m_watcher->future()); DiffEditorPlugin::futureSynchronizer()->addFuture(m_watcher->future());
} }
} }
@@ -816,7 +817,7 @@ void SideBySideDiffEditorWidget::clear(const QString &message)
editor->clearAll(message); editor->clearAll(message);
if (m_watcher) { if (m_watcher) {
m_watcher->cancel(); m_watcher->cancel();
DiffEditorPlugin::addFuture(m_watcher->future()); DiffEditorPlugin::futureSynchronizer()->addFuture(m_watcher->future());
m_watcher.reset(); m_watcher.reset();
m_controller.setBusyShowing(false); m_controller.setBusyShowing(false);
} }

View File

@@ -21,6 +21,7 @@
#include <texteditor/textdocumentlayout.h> #include <texteditor/textdocumentlayout.h>
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <utils/futuresynchronizer.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>
#include <utils/tooltip/tooltip.h> #include <utils/tooltip/tooltip.h>
@@ -57,7 +58,7 @@ UnifiedDiffEditorWidget::~UnifiedDiffEditorWidget()
{ {
if (m_watcher) { if (m_watcher) {
m_watcher->cancel(); m_watcher->cancel();
DiffEditorPlugin::addFuture(m_watcher->future()); DiffEditorPlugin::futureSynchronizer()->addFuture(m_watcher->future());
} }
} }
@@ -204,7 +205,7 @@ void UnifiedDiffEditorWidget::clear(const QString &message)
setSelections({}); setSelections({});
if (m_watcher) { if (m_watcher) {
m_watcher->cancel(); m_watcher->cancel();
DiffEditorPlugin::addFuture(m_watcher->future()); DiffEditorPlugin::futureSynchronizer()->addFuture(m_watcher->future());
m_watcher.reset(); m_watcher.reset();
m_controller.setBusyShowing(false); m_controller.setBusyShowing(false);
} }