From 1fad60153e52535e48cc2d728f942308d4b0f46d Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 29 Aug 2019 15:10:32 +0200 Subject: [PATCH] ClangTools: Remove BasicSettingsWidget This removes the [ ] Build the project before Analysis from the run dialog as it seems unlikely that this option is useful per project. Change-Id: I65f2ae8d1e936883f27c360d5b7b518fd31cdf07 Reviewed-by: Cristian Adam Reviewed-by: Nikolai Kosjar --- src/plugins/clangtools/CMakeLists.txt | 1 - .../clangtools/basicsettingswidget.cpp | 52 ------------------ src/plugins/clangtools/basicsettingswidget.h | 51 ------------------ src/plugins/clangtools/basicsettingswidget.ui | 47 ---------------- .../clangtools/clangselectablefilesdialog.cpp | 53 ++++++------------- .../clangtools/clangselectablefilesdialog.h | 1 - .../clangtools/clangselectablefilesdialog.ui | 8 +-- .../clangtools/clangtoolruncontrol.cpp | 12 +---- src/plugins/clangtools/clangtools.pro | 3 -- src/plugins/clangtools/clangtools.qbs | 3 -- .../clangtools/clangtoolsprojectsettings.cpp | 15 ------ .../clangtools/clangtoolsprojectsettings.h | 4 -- src/plugins/clangtools/settingswidget.cpp | 12 ++--- src/plugins/clangtools/settingswidget.ui | 13 +++-- 14 files changed, 36 insertions(+), 239 deletions(-) delete mode 100644 src/plugins/clangtools/basicsettingswidget.cpp delete mode 100644 src/plugins/clangtools/basicsettingswidget.h delete mode 100644 src/plugins/clangtools/basicsettingswidget.ui diff --git a/src/plugins/clangtools/CMakeLists.txt b/src/plugins/clangtools/CMakeLists.txt index 95c8d4178c0..93195bdfb9b 100644 --- a/src/plugins/clangtools/CMakeLists.txt +++ b/src/plugins/clangtools/CMakeLists.txt @@ -10,7 +10,6 @@ add_qtc_plugin(ClangTools PLUGIN_DEPENDS Core Debugger CppTools ${TST_COMPONENT} INCLUDES ${CLANG_INCLUDE_DIRS} SOURCES - basicsettingswidget.cpp basicsettingswidget.h basicsettingswidget.ui clangfileinfo.h clangfixitsrefactoringchanges.cpp clangfixitsrefactoringchanges.h clangselectablefilesdialog.cpp clangselectablefilesdialog.h clangselectablefilesdialog.ui diff --git a/src/plugins/clangtools/basicsettingswidget.cpp b/src/plugins/clangtools/basicsettingswidget.cpp deleted file mode 100644 index f9f2ea8ee4a..00000000000 --- a/src/plugins/clangtools/basicsettingswidget.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "basicsettingswidget.h" -#include "ui_basicsettingswidget.h" - -#include "clangtoolsutils.h" - -namespace ClangTools { -namespace Internal { - -BasicSettingsWidget::BasicSettingsWidget(QWidget *parent) - : QWidget(parent) - , m_ui(new Ui::BasicSettingsWidget) -{ - m_ui->setupUi(this); -} - -BasicSettingsWidget::~BasicSettingsWidget() -{ - delete m_ui; -} - -Ui::BasicSettingsWidget *BasicSettingsWidget::ui() -{ - return m_ui; -} - -} // namespace Internal -} // namespace ClangTools diff --git a/src/plugins/clangtools/basicsettingswidget.h b/src/plugins/clangtools/basicsettingswidget.h deleted file mode 100644 index 02ad9d09894..00000000000 --- a/src/plugins/clangtools/basicsettingswidget.h +++ /dev/null @@ -1,51 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#pragma once - -#include - -namespace ClangTools { -namespace Internal { - -namespace Ui { class BasicSettingsWidget; } - -class ClangExecutableVersion; - -class BasicSettingsWidget : public QWidget -{ - Q_OBJECT - -public: - explicit BasicSettingsWidget(QWidget *parent = nullptr); - ~BasicSettingsWidget() override; - - Ui::BasicSettingsWidget *ui(); -private: - Ui::BasicSettingsWidget *m_ui; -}; - -} // namespace Internal -} // namespace ClangTools diff --git a/src/plugins/clangtools/basicsettingswidget.ui b/src/plugins/clangtools/basicsettingswidget.ui deleted file mode 100644 index 924ba146cc9..00000000000 --- a/src/plugins/clangtools/basicsettingswidget.ui +++ /dev/null @@ -1,47 +0,0 @@ - - - ClangTools::Internal::BasicSettingsWidget - - - - 0 - 0 - 400 - 300 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - Build the project before analysis - - - - - - - - - - - CppTools::ClangDiagnosticConfigsSelectionWidget - QWidget -
cpptools/clangdiagnosticconfigsselectionwidget.h
-
-
- - -
diff --git a/src/plugins/clangtools/clangselectablefilesdialog.cpp b/src/plugins/clangtools/clangselectablefilesdialog.cpp index 23e82dbd3e0..c9fce5552ff 100644 --- a/src/plugins/clangtools/clangselectablefilesdialog.cpp +++ b/src/plugins/clangtools/clangselectablefilesdialog.cpp @@ -26,7 +26,6 @@ #include "clangselectablefilesdialog.h" #include "ui_clangselectablefilesdialog.h" -#include "ui_basicsettingswidget.h" #include "clangtoolsprojectsettings.h" #include "clangtoolssettings.h" @@ -293,57 +292,36 @@ SelectableFilesDialog::SelectableFilesDialog(const ProjectInfo &projectInfo, m_ui->buttons->setStandardButtons(QDialogButtonBox::Cancel); m_ui->buttons->addButton(m_analyzeButton, QDialogButtonBox::AcceptRole); - CppTools::ClangDiagnosticConfigsSelectionWidget *diagnosticConfigsSelectionWidget - = m_ui->basicSettingsWidget->ui()->clangDiagnosticConfigsSelectionWidget; - QCheckBox *buildBeforeAnalysis = m_ui->basicSettingsWidget->ui()->buildBeforeAnalysis; - buildBeforeAnalysis->setToolTip(hintAboutBuildBeforeAnalysis()); + CppTools::ClangDiagnosticConfigsSelectionWidget *diagnosticWidget = m_ui->diagnosticWidget; ClangToolsProjectSettings *settings = ClangToolsProjectSettingsManager::getSettings(m_project); m_customDiagnosticConfig = diagnosticConfiguration(settings); - m_buildBeforeAnalysis = settings->buildBeforeAnalysis(); if (settings->useGlobalSettings()) { m_ui->globalOrCustom->setCurrentIndex(GlobalSettings); - m_ui->basicSettingsWidget->setEnabled(false); - diagnosticConfigsSelectionWidget->refresh( - ClangToolsSettings::instance()->savedDiagnosticConfigId()); - buildBeforeAnalysis->setCheckState( - ClangToolsSettings::instance()->savedBuildBeforeAnalysis() - ? Qt::Checked : Qt::Unchecked); + diagnosticWidget->refresh(ClangToolsSettings::instance()->savedDiagnosticConfigId()); + diagnosticWidget->setEnabled(false); } else { m_ui->globalOrCustom->setCurrentIndex(CustomSettings); - m_ui->basicSettingsWidget->setEnabled(true); - diagnosticConfigsSelectionWidget->refresh(m_customDiagnosticConfig); - buildBeforeAnalysis->setCheckState(m_buildBeforeAnalysis ? Qt::Checked : Qt::Unchecked); + diagnosticWidget->refresh(m_customDiagnosticConfig); + diagnosticWidget->setEnabled(true); } connect(m_ui->globalOrCustom, QOverload::of(&QComboBox::currentIndexChanged), [=](int index){ - m_ui->basicSettingsWidget->setEnabled(index == CustomSettings); - if (index == CustomSettings) { - diagnosticConfigsSelectionWidget->refresh(m_customDiagnosticConfig); - buildBeforeAnalysis->setCheckState(m_buildBeforeAnalysis ? Qt::Checked : Qt::Unchecked); - } else { - diagnosticConfigsSelectionWidget->refresh( - ClangToolsSettings::instance()->savedDiagnosticConfigId()); - buildBeforeAnalysis->setCheckState( - ClangToolsSettings::instance()->savedBuildBeforeAnalysis() - ? Qt::Checked : Qt::Unchecked); - } + diagnosticWidget->setEnabled(index == CustomSettings); + if (index == CustomSettings) + diagnosticWidget->refresh(m_customDiagnosticConfig); + else + diagnosticWidget->refresh(ClangToolsSettings::instance()->savedDiagnosticConfigId()); }); - connect(diagnosticConfigsSelectionWidget, + connect(diagnosticWidget, &ClangDiagnosticConfigsSelectionWidget::currentConfigChanged, [this](const Core::Id ¤tConfigId) { if (m_ui->globalOrCustom->currentIndex() == CustomSettings) m_customDiagnosticConfig = currentConfigId; }); - connect(buildBeforeAnalysis, &QCheckBox::toggled, [this](bool checked) { - if (!checked) - showHintAboutBuildBeforeAnalysis(); - if (m_ui->globalOrCustom->currentIndex() == CustomSettings) - m_buildBeforeAnalysis = checked; - }); // Restore selection if (settings->selectedDirs().isEmpty() && settings->selectedFiles().isEmpty()) @@ -359,9 +337,9 @@ SelectableFilesDialog::SelectableFilesDialog(const ProjectInfo &projectInfo, connect(CppTools::codeModelSettings().data(), &CppTools::CppCodeModelSettings::changed, this, [=]() { if (m_ui->globalOrCustom->currentIndex() == CustomSettings) { - diagnosticConfigsSelectionWidget->refresh(m_customDiagnosticConfig); + diagnosticWidget->refresh(m_customDiagnosticConfig); } else { - diagnosticConfigsSelectionWidget->refresh( + diagnosticWidget->refresh( ClangToolsSettings::instance()->savedDiagnosticConfigId()); } }); @@ -378,12 +356,11 @@ void SelectableFilesDialog::accept() { ClangToolsProjectSettings *settings = ClangToolsProjectSettingsManager::getSettings(m_project); - // Save diagnostic configuration and flag to build before analysis + // Save diagnostic configuration settings->setUseGlobalSettings(m_ui->globalOrCustom->currentIndex() == GlobalSettings); settings->setDiagnosticConfig(m_customDiagnosticConfig); - settings->setBuildBeforeAnalysis(m_buildBeforeAnalysis); - // Save selection + // Save file selection QSet checkedDirs; QSet checkedFiles; m_filesModel->minimalSelection(checkedDirs, checkedFiles); diff --git a/src/plugins/clangtools/clangselectablefilesdialog.h b/src/plugins/clangtools/clangselectablefilesdialog.h index 39dc1fcbede..e639d061992 100644 --- a/src/plugins/clangtools/clangselectablefilesdialog.h +++ b/src/plugins/clangtools/clangselectablefilesdialog.h @@ -65,7 +65,6 @@ private: Core::Id m_customDiagnosticConfig; ProjectExplorer::Project *m_project; QPushButton *m_analyzeButton = nullptr; - bool m_buildBeforeAnalysis = true; }; } // namespace Internal diff --git a/src/plugins/clangtools/clangselectablefilesdialog.ui b/src/plugins/clangtools/clangselectablefilesdialog.ui index e8cf6ff3e79..267b36364a2 100644 --- a/src/plugins/clangtools/clangselectablefilesdialog.ui +++ b/src/plugins/clangtools/clangselectablefilesdialog.ui @@ -19,7 +19,7 @@ General - + @@ -52,7 +52,7 @@ - + @@ -87,9 +87,9 @@ - ClangTools::Internal::BasicSettingsWidget + CppTools::ClangDiagnosticConfigsSelectionWidget QWidget -
clangtools/basicsettingswidget.h
+
cpptools/clangdiagnosticconfigsselectionwidget.h
diff --git a/src/plugins/clangtools/clangtoolruncontrol.cpp b/src/plugins/clangtools/clangtoolruncontrol.cpp index c03d7a9f260..3db1998bf6b 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.cpp +++ b/src/plugins/clangtools/clangtoolruncontrol.cpp @@ -29,7 +29,6 @@ #include "clangtidyclazytool.h" #include "clangtool.h" #include "clangtoolslogfilereader.h" -#include "clangtoolsprojectsettings.h" #include "clangtoolssettings.h" #include "clangtoolsutils.h" @@ -247,13 +246,7 @@ ClangToolRunWorker::ClangToolRunWorker(RunControl *runControl, if (!preventBuild) { m_projectBuilder = new ProjectBuilder(runControl); addStartDependency(m_projectBuilder); - - ClangToolsProjectSettings *projectSettings = ClangToolsProjectSettingsManager::getSettings( - runControl->project()); - if (projectSettings->useGlobalSettings()) - m_projectBuilder->setEnabled(ClangToolsSettings::instance()->savedBuildBeforeAnalysis()); - else - m_projectBuilder->setEnabled(projectSettings->buildBeforeAnalysis()); + m_projectBuilder->setEnabled(ClangToolsSettings::instance()->savedBuildBeforeAnalysis()); } Target *target = runControl->target(); @@ -510,8 +503,7 @@ void ClangToolRunWorker::finalize() TaskHub::addTask(Task::Error, msg, Debugger::Constants::ANALYZERTASK_ID); Target *target = runControl()->target(); if (target && !target->activeBuildConfiguration()->buildDirectory().exists() - && !ClangToolsProjectSettingsManager::getSettings(target->project()) - ->buildBeforeAnalysis()) { + && !ClangToolsSettings::instance()->savedBuildBeforeAnalysis()) { msg = tr("%1: You might need to build the project to generate or update source " "files. To build automatically, enable \"Build the project before starting " "analysis\".") diff --git a/src/plugins/clangtools/clangtools.pro b/src/plugins/clangtools/clangtools.pro index 356f0da948b..edcb353e4cc 100644 --- a/src/plugins/clangtools/clangtools.pro +++ b/src/plugins/clangtools/clangtools.pro @@ -16,7 +16,6 @@ isEmpty(EXTERNAL_YAML_CPP_FOUND) { } SOURCES += \ - basicsettingswidget.cpp \ clangfixitsrefactoringchanges.cpp \ clangselectablefilesdialog.cpp \ clangtoolsdiagnosticview.cpp \ @@ -36,7 +35,6 @@ SOURCES += \ settingswidget.cpp \ HEADERS += \ - basicsettingswidget.h \ clangfileinfo.h \ clangfixitsrefactoringchanges.h \ clangselectablefilesdialog.h \ @@ -59,7 +57,6 @@ HEADERS += \ settingswidget.h \ FORMS += \ - basicsettingswidget.ui \ clangtoolsprojectsettingswidget.ui \ settingswidget.ui \ diff --git a/src/plugins/clangtools/clangtools.qbs b/src/plugins/clangtools/clangtools.qbs index cd0d9c14295..32146f87c0d 100644 --- a/src/plugins/clangtools/clangtools.qbs +++ b/src/plugins/clangtools/clangtools.qbs @@ -31,9 +31,6 @@ QtcPlugin { cpp.rpaths: base.concat(libclang.llvmLibDir) files: [ - "basicsettingswidget.cpp", - "basicsettingswidget.h", - "basicsettingswidget.ui", "clangfileinfo.h", "clangfixitsrefactoringchanges.cpp", "clangfixitsrefactoringchanges.h", diff --git a/src/plugins/clangtools/clangtoolsprojectsettings.cpp b/src/plugins/clangtools/clangtoolsprojectsettings.cpp index b75a2b892cd..6c2597789d6 100644 --- a/src/plugins/clangtools/clangtoolsprojectsettings.cpp +++ b/src/plugins/clangtools/clangtoolsprojectsettings.cpp @@ -36,7 +36,6 @@ namespace Internal { static const char SETTINGS_KEY_USE_GLOBAL_SETTINGS[] = "ClangTools.UseGlobalSettings"; static const char SETTINGS_KEY_DIAGNOSTIC_CONFIG[] = "ClangTools.DiagnosticConfig"; -static const char SETTINGS_KEY_BUILD_BEFORE_ANALYSIS[] = "ClangTools.BuildBeforeAnalysis"; static const char SETTINGS_KEY_SELECTED_DIRS[] = "ClangTools.SelectedDirs"; static const char SETTINGS_KEY_SELECTED_FILES[] = "ClangTools.SelectedFiles"; static const char SETTINGS_KEY_SUPPRESSED_DIAGS[] = "ClangTools.SuppressedDiagnostics"; @@ -86,9 +85,6 @@ void ClangToolsProjectSettings::load() m_diagnosticConfig = Core::Id::fromSetting( m_project->namedSettings(SETTINGS_KEY_DIAGNOSTIC_CONFIG)); - const QVariant value = m_project->namedSettings(SETTINGS_KEY_BUILD_BEFORE_ANALYSIS); - m_buildBeforeAnalysis = value.isValid() ? value.toBool() : true; - auto toFileName = [](const QString &s) { return Utils::FilePath::fromString(s); }; const QStringList dirs = m_project->namedSettings(SETTINGS_KEY_SELECTED_DIRS).toStringList(); @@ -123,7 +119,6 @@ void ClangToolsProjectSettings::store() { m_project->setNamedSettings(SETTINGS_KEY_USE_GLOBAL_SETTINGS, m_useGlobalSettings); m_project->setNamedSettings(SETTINGS_KEY_DIAGNOSTIC_CONFIG, m_diagnosticConfig.toSetting()); - m_project->setNamedSettings(SETTINGS_KEY_BUILD_BEFORE_ANALYSIS, m_buildBeforeAnalysis); const QStringList dirs = Utils::transform(m_selectedDirs, &Utils::FilePath::toString); m_project->setNamedSettings(SETTINGS_KEY_SELECTED_DIRS, dirs); @@ -162,16 +157,6 @@ void ClangToolsProjectSettings::setDiagnosticConfig(const Core::Id &diagnosticCo m_diagnosticConfig = diagnosticConfig; } -bool ClangToolsProjectSettings::buildBeforeAnalysis() const -{ - return m_buildBeforeAnalysis; -} - -void ClangToolsProjectSettings::setBuildBeforeAnalysis(bool build) -{ - m_buildBeforeAnalysis = build; -} - ClangToolsProjectSettingsManager::ClangToolsProjectSettingsManager() { QObject::connect(ProjectExplorer::SessionManager::instance(), diff --git a/src/plugins/clangtools/clangtoolsprojectsettings.h b/src/plugins/clangtools/clangtoolsprojectsettings.h index 3fdcc9fbadb..0a6aa477d34 100644 --- a/src/plugins/clangtools/clangtoolsprojectsettings.h +++ b/src/plugins/clangtools/clangtoolsprojectsettings.h @@ -76,9 +76,6 @@ public: Core::Id diagnosticConfig() const; void setDiagnosticConfig(const Core::Id &diagnosticConfig); - bool buildBeforeAnalysis() const; - void setBuildBeforeAnalysis(bool build); - QSet selectedDirs() const { return m_selectedDirs; } void setSelectedDirs(const QSet &value) { m_selectedDirs = value; } @@ -103,7 +100,6 @@ private: QSet m_selectedDirs; QSet m_selectedFiles; SuppressedDiagnosticsList m_suppressedDiagnostics; - bool m_buildBeforeAnalysis = true; }; class ClangToolsProjectSettingsManager diff --git a/src/plugins/clangtools/settingswidget.cpp b/src/plugins/clangtools/settingswidget.cpp index 5c570a7e976..de5976a04fd 100644 --- a/src/plugins/clangtools/settingswidget.cpp +++ b/src/plugins/clangtools/settingswidget.cpp @@ -25,7 +25,6 @@ #include "settingswidget.h" -#include "ui_basicsettingswidget.h" #include "ui_settingswidget.h" #include "clangtoolsconstants.h" @@ -124,7 +123,7 @@ SettingsWidget::SettingsWidget(ClangToolsSettings *settings, QWidget *parent) QOverload::of(&QSpinBox::valueChanged), [settings](int count) { settings->setSimultaneousProcesses(count); }); - QCheckBox *buildBeforeAnalysis = m_ui->basicSettingsWidget->ui()->buildBeforeAnalysis; + QCheckBox *buildBeforeAnalysis = m_ui->buildBeforeAnalysis; buildBeforeAnalysis->setToolTip(hintAboutBuildBeforeAnalysis()); buildBeforeAnalysis->setCheckState(settings->savedBuildBeforeAnalysis() ? Qt::Checked : Qt::Unchecked); @@ -134,11 +133,10 @@ SettingsWidget::SettingsWidget(ClangToolsSettings *settings, QWidget *parent) settings->setBuildBeforeAnalysis(checked); }); - CppTools::ClangDiagnosticConfigsSelectionWidget *clangDiagnosticConfigsSelectionWidget - = m_ui->basicSettingsWidget->ui()->clangDiagnosticConfigsSelectionWidget; - clangDiagnosticConfigsSelectionWidget->refresh(settings->savedDiagnosticConfigId()); + CppTools::ClangDiagnosticConfigsSelectionWidget *diagnosticWidget = m_ui->diagnosticWidget; + diagnosticWidget->refresh(settings->savedDiagnosticConfigId()); - connect(clangDiagnosticConfigsSelectionWidget, + connect(diagnosticWidget, &CppTools::ClangDiagnosticConfigsSelectionWidget::currentConfigChanged, this, [this](const Core::Id ¤tConfigId) { m_settings->setDiagnosticConfigId(currentConfigId); @@ -147,7 +145,7 @@ SettingsWidget::SettingsWidget(ClangToolsSettings *settings, QWidget *parent) connect(CppTools::codeModelSettings().data(), &CppTools::CppCodeModelSettings::changed, this, [=]() { // Settings were applied so apply also the current selection if possible. - clangDiagnosticConfigsSelectionWidget->refresh(m_settings->diagnosticConfigId()); + diagnosticWidget->refresh(m_settings->diagnosticConfigId()); m_settings->writeSettings(); }); } diff --git a/src/plugins/clangtools/settingswidget.ui b/src/plugins/clangtools/settingswidget.ui index e34079df353..c73148d0da2 100644 --- a/src/plugins/clangtools/settingswidget.ui +++ b/src/plugins/clangtools/settingswidget.ui @@ -50,7 +50,14 @@ - + + + + + + Build the project before analysis + + @@ -106,9 +113,9 @@ - ClangTools::Internal::BasicSettingsWidget + CppTools::ClangDiagnosticConfigsSelectionWidget QWidget -
clangtools/basicsettingswidget.h
+
cpptools/clangdiagnosticconfigsselectionwidget.h
Utils::PathChooser