diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-01-26 10:27:58 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-01-29 08:14:14 +0000 |
commit | 33b6fe812afb326e5cd54cf10c076144bff8e7db (patch) | |
tree | f9afa7b4ae21af55a2b87b5d6991da86bb2cba77 /src/plugins/cpptools/cppcodemodelsettingspage.cpp | |
parent | 5b1ae09fbf66ef318e3759b3862c749356ec7a4a (diff) | |
download | qt-creator-33b6fe812afb326e5cd54cf10c076144bff8e7db.tar.gz |
Clang: Make clazy/tidy options part of the diagnostic config
As a side effect, clazy/tidy options become available for project
specific customization in the projects mode.
Change-Id: Id72762dedd857915139c15f532d2f1c6d1f43edb
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppcodemodelsettingspage.cpp')
-rw-r--r-- | src/plugins/cpptools/cppcodemodelsettingspage.cpp | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/src/plugins/cpptools/cppcodemodelsettingspage.cpp b/src/plugins/cpptools/cppcodemodelsettingspage.cpp index d7f404fb03..e6af115aed 100644 --- a/src/plugins/cpptools/cppcodemodelsettingspage.cpp +++ b/src/plugins/cpptools/cppcodemodelsettingspage.cpp @@ -29,8 +29,6 @@ #include "cppmodelmanager.h" #include "cpptoolsconstants.h" #include "ui_cppcodemodelsettingspage.h" -#include "ui_clazychecks.h" -#include "ui_tidychecks.h" #include <coreplugin/icore.h> #include <utils/algorithm.h> @@ -86,79 +84,6 @@ void CppCodeModelSettingsWidget::setupClangCodeModelWidgets() diagnosticConfigsModel, m_settings->clangDiagnosticConfigId()); m_ui->clangSettingsGroupBox->layout()->addWidget(m_clangDiagnosticConfigsWidget); - - m_ui->clangPlugins->setEnabled(isClangActive); - setupPluginsWidgets(); -} - -void CppCodeModelSettingsWidget::setupPluginsWidgets() -{ - m_clazyChecks.reset(new CppTools::Ui::ClazyChecks); - m_clazyChecksWidget = new QWidget(); - m_clazyChecks->setupUi(m_clazyChecksWidget); - - m_tidyChecks.reset(new CppTools::Ui::TidyChecks); - m_tidyChecksWidget = new QWidget(); - m_tidyChecks->setupUi(m_tidyChecksWidget); - - m_ui->pluginChecks->addTab(m_tidyChecksWidget, tr("ClangTidy")); - m_ui->pluginChecks->addTab(m_clazyChecksWidget, tr("Clazy")); - m_ui->pluginChecks->setCurrentIndex(0); - - setupTidyChecks(); - setupClazyChecks(); -} - -void CppCodeModelSettingsWidget::setupTidyChecks() -{ - m_currentTidyChecks = m_settings->tidyChecks(); - for (int row = 0; row < m_tidyChecks->checksList->count(); ++row) { - QListWidgetItem *item = m_tidyChecks->checksList->item(row); - item->setFlags(item->flags() | Qt::ItemIsUserCheckable); - if (m_currentTidyChecks.indexOf(item->text()) != -1) - item->setCheckState(Qt::Checked); - else - item->setCheckState(Qt::Unchecked); - } - connect(m_tidyChecks->checksList, &QListWidget::itemChanged, [this](QListWidgetItem *item) { - const QString prefix = item->text(); - item->checkState() == Qt::Checked - ? m_currentTidyChecks.append(',' + prefix) - : m_currentTidyChecks.remove(',' + prefix); - }); -} - -void CppCodeModelSettingsWidget::setupClazyChecks() -{ - // Levels descriptions are taken from https://github.com/KDE/clazy - static const std::array<QString, 5> levelDescriptions {{ - QString(), - tr("Very stable checks, 99.99% safe, no false-positives."), - tr("Similar to level0, but sometimes (rarely) there might be\n" - "some false-positives."), - tr("Sometimes has false-positives (20-30%)."), - tr("Not always correct, possibly very noisy, might require\n" - "a knowledgeable developer to review, might have a very big\n" - "rate of false-positives, might have bugs.") - }}; - - m_currentClazyChecks = m_settings->clazyChecks(); - if (!m_currentClazyChecks.isEmpty()) { - m_clazyChecks->clazyLevel->setCurrentText(m_currentClazyChecks); - const unsigned index = static_cast<unsigned>(m_clazyChecks->clazyLevel->currentIndex()); - m_clazyChecks->levelDescription->setText(levelDescriptions[index]); - } - - connect(m_clazyChecks->clazyLevel, - static_cast<void (QComboBox::*)(int index)>(&QComboBox::currentIndexChanged), - [this](int index) { - m_clazyChecks->levelDescription->setText(levelDescriptions[static_cast<unsigned>(index)]); - if (index == 0) { - m_currentClazyChecks.clear(); - return; - } - m_currentClazyChecks = m_clazyChecks->clazyLevel->itemText(index); - }); } void CppCodeModelSettingsWidget::setupGeneralWidgets() @@ -192,16 +117,6 @@ bool CppCodeModelSettingsWidget::applyClangCodeModelWidgetsToSettings() const settingsChanged = true; } - if (m_settings->tidyChecks() != m_currentTidyChecks) { - m_settings->setTidyChecks(m_currentTidyChecks); - settingsChanged = true; - } - - if (m_settings->clazyChecks() != m_currentClazyChecks) { - m_settings->setClazyChecks(m_currentClazyChecks); - settingsChanged = true; - } - return settingsChanged; } |