ClangTools: Add QuickFixes to the editor

Change-Id: I9862231f0aa8e8274e8529e57e80eac5ececded9
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
David Schulz
2020-08-25 06:18:26 +02:00
parent b55a313b3d
commit ef10f3b937
14 changed files with 284 additions and 12 deletions

View File

@@ -30,6 +30,7 @@
#include "clangtoolsprojectsettings.h"
#include "clangtoolsprojectsettingswidget.h"
#include "documentclangtoolrunner.h"
#include "documentquickfixfactory.h"
#include "settingswidget.h"
#ifdef WITH_TESTS
@@ -83,9 +84,24 @@ ProjectPanelFactory *projectPanelFactory()
class ClangToolsPluginPrivate
{
public:
ClangToolsPluginPrivate()
: quickFixFactory(
[this](const Utils::FilePath &filePath) { return runnerForFilePath(filePath); })
{}
DocumentClangToolRunner *runnerForFilePath(const Utils::FilePath &filePath)
{
for (DocumentClangToolRunner *runner : documentRunners) {
if (runner->filePath() == filePath)
return runner;
}
return nullptr;
}
ClangTool clangTool;
ClangToolsOptionsPage optionsPage;
QMap<Core::IDocument *, DocumentClangToolRunner *> documentRunners;
DocumentQuickFixFactory quickFixFactory;
};
ClangToolsPlugin::~ClangToolsPlugin()