From a2b3d4d3020ab47865f0c532f66ff74fd8bea3e6 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 1 Feb 2024 16:57:40 +0100 Subject: [PATCH] ClangTools: Replace QSharedPointer with std::shared_ptr According to https://wiki.qt.io/Things_To_Look_Out_For_In_Reviews QSharedPointer impl is poor and it's going to be removed from Qt 7. Change-Id: I359429d01bce9b28f9d284833f5be1828d3a880e Reviewed-by: Reviewed-by: Christian Kandeler --- src/plugins/clangtools/clangtool.cpp | 2 +- src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp | 4 ++-- src/plugins/clangtools/clangtoolsprojectsettings.cpp | 2 +- src/plugins/clangtools/clangtoolsprojectsettings.h | 4 ++-- src/plugins/clangtools/clangtoolsprojectsettingswidget.cpp | 4 ++-- src/plugins/clangtools/documentclangtoolrunner.cpp | 3 +-- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp index f13457a1fd9..15635fc2514 100644 --- a/src/plugins/clangtools/clangtool.cpp +++ b/src/plugins/clangtools/clangtool.cpp @@ -1199,7 +1199,7 @@ static FileInfos fileInfosMatchingEditedDocuments(const FileInfos &fileInfos) FileInfoProviders ClangTool::fileInfoProviders(Project *project, const FileInfos &allFileInfos) { - const QSharedPointer s = ClangToolsProjectSettings::getSettings(project); + const std::shared_ptr s = ClangToolsProjectSettings::getSettings(project); static FileInfoSelection openedFilesSelection; static FileInfoSelection editeddFilesSelection; diff --git a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp index 5323f998da2..5445ce5491a 100644 --- a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp +++ b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp @@ -514,13 +514,13 @@ void DiagnosticFilterModel::setProject(ProjectExplorer::Project *project) { QTC_ASSERT(project, return); if (m_project) { - disconnect(ClangToolsProjectSettings::getSettings(m_project).data(), + disconnect(ClangToolsProjectSettings::getSettings(m_project).get(), &ClangToolsProjectSettings::suppressedDiagnosticsChanged, this, &DiagnosticFilterModel::handleSuppressedDiagnosticsChanged); } m_project = project; m_lastProjectDirectory = m_project->projectDirectory(); - connect(ClangToolsProjectSettings::getSettings(m_project).data(), + connect(ClangToolsProjectSettings::getSettings(m_project).get(), &ClangToolsProjectSettings::suppressedDiagnosticsChanged, this, &DiagnosticFilterModel::handleSuppressedDiagnosticsChanged); handleSuppressedDiagnosticsChanged(); diff --git a/src/plugins/clangtools/clangtoolsprojectsettings.cpp b/src/plugins/clangtools/clangtoolsprojectsettings.cpp index 0d791caed9a..224cfab1a8c 100644 --- a/src/plugins/clangtools/clangtoolsprojectsettings.cpp +++ b/src/plugins/clangtools/clangtoolsprojectsettings.cpp @@ -209,7 +209,7 @@ ClangToolsProjectSettings::ClangToolsProjectSettingsPtr ClangToolsProjectSettingsPtr{new ClangToolsProjectSettings(project)}); project->setExtraData(key, v); } - return v.value>(); + return v.value>(); } SuppressedDiagnostic::SuppressedDiagnostic(const Diagnostic &diag) diff --git a/src/plugins/clangtools/clangtoolsprojectsettings.h b/src/plugins/clangtools/clangtoolsprojectsettings.h index 204eabec7b2..dcc48a892c7 100644 --- a/src/plugins/clangtools/clangtoolsprojectsettings.h +++ b/src/plugins/clangtools/clangtoolsprojectsettings.h @@ -65,7 +65,7 @@ public: void removeSuppressedDiagnostic(const SuppressedDiagnostic &diag); void removeAllSuppressedDiagnostics(); - using ClangToolsProjectSettingsPtr = QSharedPointer; + using ClangToolsProjectSettingsPtr = std::shared_ptr; static ClangToolsProjectSettingsPtr getSettings(ProjectExplorer::Project *project); signals: @@ -91,4 +91,4 @@ private: } // namespace Internal } // namespace ClangTools -Q_DECLARE_METATYPE(QSharedPointer) +Q_DECLARE_METATYPE(std::shared_ptr) diff --git a/src/plugins/clangtools/clangtoolsprojectsettingswidget.cpp b/src/plugins/clangtools/clangtoolsprojectsettingswidget.cpp index fb2d35cb940..47bb4426509 100644 --- a/src/plugins/clangtools/clangtoolsprojectsettingswidget.cpp +++ b/src/plugins/clangtools/clangtoolsprojectsettingswidget.cpp @@ -70,7 +70,7 @@ private: QPushButton *m_removeSelectedButton; QPushButton *m_removeAllButton; - QSharedPointer const m_projectSettings; + std::shared_ptr const m_projectSettings; }; ClangToolsProjectSettingsWidget::ClangToolsProjectSettingsWidget(Project *project) @@ -146,7 +146,7 @@ ClangToolsProjectSettingsWidget::ClangToolsProjectSettingsWidget(Project *projec // Suppressed diagnostics auto * const model = new SuppressedDiagnosticsModel(this); model->setDiagnostics(m_projectSettings->suppressedDiagnostics()); - connect(m_projectSettings.data(), &ClangToolsProjectSettings::suppressedDiagnosticsChanged, this, + connect(m_projectSettings.get(), &ClangToolsProjectSettings::suppressedDiagnosticsChanged, this, [model, this] { model->setDiagnostics(m_projectSettings->suppressedDiagnostics()); updateButtonStates(); diff --git a/src/plugins/clangtools/documentclangtoolrunner.cpp b/src/plugins/clangtools/documentclangtoolrunner.cpp index 7d58e9dd83c..24e9b5b842d 100644 --- a/src/plugins/clangtools/documentclangtoolrunner.cpp +++ b/src/plugins/clangtools/documentclangtoolrunner.cpp @@ -4,7 +4,6 @@ #include "documentclangtoolrunner.h" #include "clangtoolsconstants.h" -#include "clangtoolslogfilereader.h" #include "clangtoolrunner.h" #include "clangtoolsutils.h" #include "diagnosticmark.h" @@ -181,7 +180,7 @@ void DocumentClangToolRunner::run() : projectSettings->runSettings(); m_suppressed = projectSettings->suppressedDiagnostics(); m_lastProjectDirectory = project->projectDirectory(); - m_projectSettingsUpdate = connect(projectSettings.data(), &ClangToolsProjectSettings::changed, + m_projectSettingsUpdate = connect(projectSettings.get(), &ClangToolsProjectSettings::changed, this, &DocumentClangToolRunner::run); if (!runSettings.analyzeOpenFiles()) return;