ClangTools: Remove pointless "Disable" setting for clang-tidy

...as unchecking the root item in the tree has the same effect.

Change-Id: I960ea2c09a71dad3b0ba3dfb38a19055653354cd
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Nikolai Kosjar
2019-10-24 10:25:52 +02:00
parent 0d7a30cdfe
commit 7d851c12ed
6 changed files with 21 additions and 24 deletions

View File

@@ -258,7 +258,7 @@ QList<RunnerCreator> ClangToolRunWorker::runnerCreators()
{
QList<RunnerCreator> creators;
if (m_diagnosticConfig.clangTidyMode() != CppTools::ClangDiagnosticConfig::TidyMode::Disabled)
if (m_diagnosticConfig.clangTidyChecks() != "-*")
creators << [this]() { return createRunner<ClangTidyRunner>(); };
if (!m_diagnosticConfig.clazyChecks().isEmpty()) {

View File

@@ -118,8 +118,7 @@ ClangDiagnosticConfigs importDiagnosticConfigsFromCodeModel()
ClangDiagnosticConfigs clangOnlyConfigs;
std::tie(tidyClazyConfigs, clangOnlyConfigs)
= Utils::partition(configs, [](const ClangDiagnosticConfig &config) {
return !config.clazyChecks().isEmpty()
|| config.clangTidyMode() != ClangDiagnosticConfig::TidyMode::Disabled;
return !config.clazyChecks().isEmpty() || config.clangTidyChecks() != "-*";
});
if (!tidyClazyConfigs.isEmpty()) {

View File

@@ -812,21 +812,16 @@ void DiagnosticConfigsWidget::syncClangTidyWidgets(const ClangDiagnosticConfig &
disconnectClangTidyItemChanged();
ClangDiagnosticConfig::TidyMode tidyMode = config.clangTidyMode();
const int newIndex = tidyMode == ClangDiagnosticConfig::TidyMode::Default
? int(ClangDiagnosticConfig::TidyMode::ChecksPrefixList)
: int(tidyMode);
m_tidyChecks->tidyMode->setCurrentIndex(newIndex);
const ClangDiagnosticConfig::TidyMode tidyMode = config.clangTidyMode();
switch (tidyMode) {
case ClangDiagnosticConfig::TidyMode::Disabled:
case ClangDiagnosticConfig::TidyMode::File:
m_tidyChecks->tidyMode->setCurrentIndex(1);
m_tidyChecks->plainTextEditButton->setVisible(false);
m_tidyChecks->stackedWidget->setCurrentIndex(TidyPages::EmptyPage);
break;
case ClangDiagnosticConfig::TidyMode::ChecksPrefixList:
case ClangDiagnosticConfig::TidyMode::Default:
m_tidyChecks->tidyMode->setCurrentIndex(0);
if (m_tidyInfo.supportedChecks.isEmpty()) {
m_tidyChecks->plainTextEditButton->setVisible(false);
m_tidyChecks->stackedWidget->setCurrentIndex(TidyPages::InvalidExecutablePage);
@@ -926,8 +921,12 @@ void DiagnosticConfigsWidget::disconnectClazyItemChanged()
void DiagnosticConfigsWidget::onClangTidyModeChanged(int index)
{
const ClangDiagnosticConfig::TidyMode tidyMode
= index == 0 ? ClangDiagnosticConfig::TidyMode::ChecksPrefixList
: ClangDiagnosticConfig::TidyMode::File;
ClangDiagnosticConfig config = currentConfig();
config.setClangTidyMode(static_cast<ClangDiagnosticConfig::TidyMode>(index));
config.setClangTidyMode(tidyMode);
updateConfig(config);
syncClangTidyWidgets(config);
}

View File

@@ -30,11 +30,6 @@
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QComboBox" name="tidyMode">
<item>
<property name="text">
<string>Disable</string>
</property>
</item>
<item>
<property name="text">
<string>Select Checks</string>

View File

@@ -190,10 +190,14 @@ ClangDiagnosticConfigs diagnosticConfigsFromSettings(QSettings *s)
config.setId(Core::Id::fromSetting(s->value(diagnosticConfigIdKey)));
config.setDisplayName(s->value(diagnosticConfigDisplayNameKey).toString());
config.setClangOptions(s->value(diagnosticConfigWarningsKey).toStringList());
config.setClangTidyMode(static_cast<ClangDiagnosticConfig::TidyMode>(
s->value(diagnosticConfigsTidyModeKey).toInt()));
config.setClangTidyChecks(
s->value(diagnosticConfigsTidyChecksKey).toString());
const int tidyModeValue = s->value(diagnosticConfigsTidyModeKey).toInt();
if (tidyModeValue == 0) { // Convert from settings of <= Qt Creator 4.10
config.setClangTidyMode(ClangDiagnosticConfig::TidyMode::ChecksPrefixList);
config.setClangTidyChecks("-*");
} else {
config.setClangTidyMode(static_cast<ClangDiagnosticConfig::TidyMode>(tidyModeValue));
config.setClangTidyChecks(s->value(diagnosticConfigsTidyChecksKey).toString());
}
config.setClazyMode(static_cast<ClangDiagnosticConfig::ClazyMode>(
s->value(diagnosticConfigsClazyModeKey).toInt()));

View File

@@ -60,8 +60,8 @@ public:
// Clang-Tidy
enum class TidyMode
{
Disabled,
ChecksPrefixList,
// Disabled, // Used by Qt Creator 4.10 and below.
ChecksPrefixList = 1,
File,
Default,
};
@@ -90,7 +90,7 @@ private:
Core::Id m_id;
QString m_displayName;
QStringList m_clangOptions;
TidyMode m_clangTidyMode = TidyMode::Disabled;
TidyMode m_clangTidyMode = TidyMode::Default;
QString m_clangTidyChecks;
QString m_clazyChecks;
ClazyMode m_clazyMode = ClazyMode::Default;