forked from qt-creator/qt-creator
ClangTools: Move run settings to projects mode
Make the global run settings available per project in project mode and thus remove the diagnostic config selection from the selectable-files-dialog: * Extract the classes RunSettings and RunSettingsWidget instead of duplicating stuff. * Ensure to pick up the old settings * Add some convenience buttons/links in projects mode allowing to restore the global settings, to open the global settings and to navigate (back) to the analyzer mode. Change-Id: I1b91b6f8e58a87a025774e4643c46e176b2a8885 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -87,7 +87,8 @@ static CppTools::ClangDiagnosticConfig configFor(const QString &tidyChecks,
|
||||
config.setIsReadOnly(true);
|
||||
config.setClangOptions(QStringList{QStringLiteral("-Wno-everything")});
|
||||
config.setClangTidyMode(CppTools::ClangDiagnosticConfig::TidyMode::ChecksPrefixList);
|
||||
config.setClangTidyChecks("-*," + tidyChecks);
|
||||
const QString theTidyChecks = tidyChecks.isEmpty() ? tidyChecks : "-*," + tidyChecks;
|
||||
config.setClangTidyChecks(theTidyChecks);
|
||||
config.setClazyChecks(clazyChecks);
|
||||
return config;
|
||||
}
|
||||
@@ -115,7 +116,7 @@ void ClangToolsUnitTests::testProject()
|
||||
ClangToolsSettings *clangToolsSettings = ClangToolsSettings::instance();
|
||||
const CppTools::ClangDiagnosticConfigs originalConfigs = cppToolsSettings
|
||||
->clangCustomDiagnosticConfigs();
|
||||
const Core::Id originalId = clangToolsSettings->diagnosticConfigId();
|
||||
const Core::Id originalId = clangToolsSettings->runSettings().diagnosticConfigId();
|
||||
|
||||
CppTools::ClangDiagnosticConfigs modifiedConfigs = originalConfigs;
|
||||
modifiedConfigs.push_back(diagnosticConfig);
|
||||
@@ -123,12 +124,16 @@ void ClangToolsUnitTests::testProject()
|
||||
ExecuteOnDestruction executeOnDestruction([=]() {
|
||||
// Restore configs
|
||||
cppToolsSettings->setClangCustomDiagnosticConfigs(originalConfigs);
|
||||
clangToolsSettings->setDiagnosticConfigId(originalId);
|
||||
RunSettings runSettings = clangToolsSettings->runSettings();
|
||||
runSettings.setDiagnosticConfigId(originalId);
|
||||
clangToolsSettings->setRunSettings(runSettings);
|
||||
clangToolsSettings->writeSettings();
|
||||
});
|
||||
|
||||
cppToolsSettings->setClangCustomDiagnosticConfigs(modifiedConfigs);
|
||||
clangToolsSettings->setDiagnosticConfigId(diagnosticConfig.id());
|
||||
RunSettings runSettings = clangToolsSettings->runSettings();
|
||||
runSettings.setDiagnosticConfigId(diagnosticConfig.id());
|
||||
clangToolsSettings->setRunSettings(runSettings);
|
||||
clangToolsSettings->writeSettings();
|
||||
|
||||
tool->startTool(ClangTidyClazyTool::FileSelection::AllFiles);
|
||||
|
||||
Reference in New Issue
Block a user