From 6845434f3d447cd53b81c9aead4e283ea7fc2841 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 2 Aug 2023 20:12:04 +0200 Subject: [PATCH] VcsBaseDiffEditorController: Get rid of inputStorage() method Pass explicitly the storage to the postProcessTask() instead. Change-Id: I75ac10969530dfea1eac266b44481be3b1d8249b Reviewed-by: Reviewed-by: Qt CI Bot Reviewed-by: Orgad Shaneh --- src/plugins/git/gitclient.cpp | 12 ++++++------ src/plugins/mercurial/mercurialclient.cpp | 4 ++-- src/plugins/subversion/subversionclient.cpp | 4 ++-- .../vcsbase/vcsbasediffeditorcontroller.cpp | 15 +++------------ src/plugins/vcsbase/vcsbasediffeditorcontroller.h | 3 +-- 5 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 494bf5c8fc1..12ca9e3e4db 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -238,7 +238,7 @@ GitDiffEditorController::GitDiffEditorController(IDocument *document, { using namespace Tasking; - const TreeStorage diffInputStorage = inputStorage(); + const TreeStorage diffInputStorage; const auto setupDiff = [=](Process &process) { process.setCodec(VcsBaseEditor::getCodec(workingDirectory(), {})); @@ -252,7 +252,7 @@ GitDiffEditorController::GitDiffEditorController(IDocument *document, const Group root { Storage(diffInputStorage), ProcessTask(setupDiff, onDiffDone), - postProcessTask() + postProcessTask(diffInputStorage) }; setReloadRecipe(root); } @@ -304,7 +304,7 @@ FileListDiffController::FileListDiffController(IDocument *document, const QStrin }; const TreeStorage storage; - const TreeStorage diffInputStorage = inputStorage(); + const TreeStorage diffInputStorage; const auto setupStaged = [this, stagedFiles](Process &process) { if (stagedFiles.isEmpty()) @@ -346,7 +346,7 @@ FileListDiffController::FileListDiffController(IDocument *document, const QStrin ProcessTask(setupUnstaged, onUnstagedDone), onGroupDone(onStagingDone) }, - postProcessTask() + postProcessTask(diffInputStorage) }; setReloadRecipe(root); } @@ -377,7 +377,7 @@ ShowController::ShowController(IDocument *document, const QString &id) }; const TreeStorage storage; - const TreeStorage diffInputStorage = inputStorage(); + const TreeStorage diffInputStorage; const auto updateDescription = [this](const ReloadStorage &storage) { QString desc = storage.m_header; @@ -552,7 +552,7 @@ ShowController::ShowController(IDocument *document, const QString &id) }, Group { ProcessTask(setupDiff, onDiffDone), - postProcessTask() + postProcessTask(diffInputStorage) } }; setReloadRecipe(root); diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp index 6a0c2574d43..b2136e43afd 100644 --- a/src/plugins/mercurial/mercurialclient.cpp +++ b/src/plugins/mercurial/mercurialclient.cpp @@ -53,7 +53,7 @@ MercurialDiffEditorController::MercurialDiffEditorController(IDocument *document using namespace Tasking; - const TreeStorage diffInputStorage = inputStorage(); + const TreeStorage diffInputStorage; const auto setupDiff = [=](Process &process) { setupCommand(process, {addConfigurationArguments(args)}); @@ -66,7 +66,7 @@ MercurialDiffEditorController::MercurialDiffEditorController(IDocument *document const Group root { Storage(diffInputStorage), ProcessTask(setupDiff, onDiffDone), - postProcessTask() + postProcessTask(diffInputStorage) }; setReloadRecipe(root); } diff --git a/src/plugins/subversion/subversionclient.cpp b/src/plugins/subversion/subversionclient.cpp index 5bb2a3eac2f..27f1d7ca43b 100644 --- a/src/plugins/subversion/subversionclient.cpp +++ b/src/plugins/subversion/subversionclient.cpp @@ -163,7 +163,7 @@ SubversionDiffEditorController::SubversionDiffEditorController(IDocument *docume using namespace Tasking; - const TreeStorage diffInputStorage = inputStorage(); + const TreeStorage diffInputStorage; const auto setupDescription = [this](Process &process) { if (m_changeNumber == 0) @@ -209,7 +209,7 @@ SubversionDiffEditorController::SubversionDiffEditorController(IDocument *docume }, Group { ProcessTask(setupDiff, onDiffDone), - postProcessTask() + postProcessTask(diffInputStorage) } }; setReloadRecipe(root); diff --git a/src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp b/src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp index b60abaeb5f5..0486566c374 100644 --- a/src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp +++ b/src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp @@ -40,20 +40,11 @@ VcsBaseDiffEditorController::~VcsBaseDiffEditorController() delete d; } -TreeStorage VcsBaseDiffEditorController::inputStorage() const +GroupItem VcsBaseDiffEditorController::postProcessTask(const TreeStorage &inputStorage) { - return d->m_inputStorage; -} - -GroupItem VcsBaseDiffEditorController::postProcessTask() -{ - const auto setupDiffProcessor = [this](Async> &async) { - const QString *storage = inputStorage().activeStorage(); - QTC_ASSERT(storage, qWarning("Using postProcessTask() requires putting inputStorage() " - "into task tree's root group.")); - const QString inputData = storage ? *storage : QString(); + const auto setupDiffProcessor = [inputStorage](Async> &async) { async.setFutureSynchronizer(ExtensionSystem::PluginManager::futureSynchronizer()); - async.setConcurrentCallData(&DiffUtils::readPatchWithPromise, inputData); + async.setConcurrentCallData(&DiffUtils::readPatchWithPromise, *inputStorage); }; const auto onDiffProcessorDone = [this](const Async> &async) { setDiffFiles(async.isResultAvailable() ? async.result() : QList()); diff --git a/src/plugins/vcsbase/vcsbasediffeditorcontroller.h b/src/plugins/vcsbase/vcsbasediffeditorcontroller.h index e4b88805065..9c9b8fd7513 100644 --- a/src/plugins/vcsbase/vcsbasediffeditorcontroller.h +++ b/src/plugins/vcsbase/vcsbasediffeditorcontroller.h @@ -28,8 +28,7 @@ public: void setVcsBinary(const Utils::FilePath &path); protected: - Tasking::TreeStorage inputStorage() const; - Tasking::GroupItem postProcessTask(); + Tasking::GroupItem postProcessTask(const Tasking::TreeStorage &inputStorage); void setupCommand(Utils::Process &process, const QStringList &args) const;