Clang: Make clazy UI more fine-grained

...so that specific checks can be enabled/disabled.

This replaces the level radio buttons in Tools > Options > C++ > Code
Model > "Manage..." > Tab: Clazy.

Task-number: QTCREATORBUG-21120
Change-Id: If468d79d3c309b287b4105d83ac31f0b1489c71c
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Nikolai Kosjar
2019-01-14 15:06:28 +01:00
parent 4acf2a1df1
commit 7315d9a47c
12 changed files with 879 additions and 175 deletions

View File

@@ -64,6 +64,9 @@ static QString clangDiagnosticConfigsArrayClangTidyModeKey()
static QString clangDiagnosticConfigsArrayClazyChecksKey()
{ return QLatin1String("clazyChecks"); }
static QString enableLowerClazyLevelsKey()
{ return QLatin1String("enableLowerClazyLevels"); }
static QString pchUsageKey()
{ return QLatin1String(Constants::CPPTOOLS_MODEL_MANAGER_PCH_USAGE); }
@@ -124,6 +127,8 @@ void CppCodeModelSettings::fromSettings(QSettings *s)
setClangDiagnosticConfigId(initialClangDiagnosticConfigId());
}
setEnableLowerClazyLevels(s->value(enableLowerClazyLevelsKey(), true).toBool());
const QVariant pchUsageVariant = s->value(pchUsageKey(), initialPchUsage());
setPCHUsage(static_cast<PCHUsage>(pchUsageVariant.toInt()));
@@ -165,6 +170,7 @@ void CppCodeModelSettings::toSettings(QSettings *s)
s->endArray();
s->setValue(clangDiagnosticConfigKey(), clangDiagnosticConfigId().toSetting());
s->setValue(enableLowerClazyLevelsKey(), enableLowerClazyLevels());
s->setValue(pchUsageKey(), pchUsage());
s->setValue(interpretAmbiguousHeadersAsCHeadersKey(), interpretAmbigiousHeadersAsCHeaders());
@@ -256,3 +262,13 @@ void CppCodeModelSettings::setIndexerFileSizeLimitInMb(int sizeInMB)
{
m_indexerFileSizeLimitInMB = sizeInMB;
}
bool CppCodeModelSettings::enableLowerClazyLevels() const
{
return m_enableLowerClazyLevels;
}
void CppCodeModelSettings::setEnableLowerClazyLevels(bool yesno)
{
m_enableLowerClazyLevels = yesno;
}