ClangTools: Attach ClangToolsProjectSettings data to project itself

Easier to reason about life time.

Change-Id: I2c61527532f6faa344fc59d858921e66daaf0b7e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2020-01-13 17:38:33 +01:00
parent 5a4b0b565a
commit 82265d51a7
10 changed files with 39 additions and 44 deletions

View File

@@ -70,7 +70,7 @@ enum { UseGlobalSettings, UseCustomSettings }; // Values in sync with m_ui->glob
ProjectSettingsWidget::ProjectSettingsWidget(ProjectExplorer::Project *project, QWidget *parent) :
QWidget(parent),
m_ui(new Ui::ProjectSettingsWidget)
, m_projectSettings(ClangToolsProjectSettingsManager::getSettings(project))
, m_projectSettings(ClangToolsProjectSettings::getSettings(project))
{
m_ui->setupUi(this);
@@ -117,7 +117,7 @@ ProjectSettingsWidget::ProjectSettingsWidget(ProjectExplorer::Project *project,
// Suppressed diagnostics
auto * const model = new SuppressedDiagnosticsModel(this);
model->setDiagnostics(m_projectSettings->suppressedDiagnostics());
connect(m_projectSettings, &ClangToolsProjectSettings::suppressedDiagnosticsChanged,
connect(m_projectSettings.data(), &ClangToolsProjectSettings::suppressedDiagnosticsChanged,
[model, this] {
model->setDiagnostics(m_projectSettings->suppressedDiagnostics());
updateButtonStates();