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; QList<RunnerCreator> creators;
if (m_diagnosticConfig.clangTidyMode() != CppTools::ClangDiagnosticConfig::TidyMode::Disabled) if (m_diagnosticConfig.clangTidyChecks() != "-*")
creators << [this]() { return createRunner<ClangTidyRunner>(); }; creators << [this]() { return createRunner<ClangTidyRunner>(); };
if (!m_diagnosticConfig.clazyChecks().isEmpty()) { if (!m_diagnosticConfig.clazyChecks().isEmpty()) {

View File

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

View File

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

View File

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

View File

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

View File

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