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: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Jarek Kobus
2024-02-01 16:57:40 +01:00
parent 223767a94a
commit a2b3d4d302
6 changed files with 9 additions and 10 deletions

View File

@@ -1199,7 +1199,7 @@ static FileInfos fileInfosMatchingEditedDocuments(const FileInfos &fileInfos)
FileInfoProviders ClangTool::fileInfoProviders(Project *project, const FileInfos &allFileInfos) FileInfoProviders ClangTool::fileInfoProviders(Project *project, const FileInfos &allFileInfos)
{ {
const QSharedPointer<ClangToolsProjectSettings> s = ClangToolsProjectSettings::getSettings(project); const std::shared_ptr<ClangToolsProjectSettings> s = ClangToolsProjectSettings::getSettings(project);
static FileInfoSelection openedFilesSelection; static FileInfoSelection openedFilesSelection;
static FileInfoSelection editeddFilesSelection; static FileInfoSelection editeddFilesSelection;

View File

@@ -514,13 +514,13 @@ void DiagnosticFilterModel::setProject(ProjectExplorer::Project *project)
{ {
QTC_ASSERT(project, return); QTC_ASSERT(project, return);
if (m_project) { if (m_project) {
disconnect(ClangToolsProjectSettings::getSettings(m_project).data(), disconnect(ClangToolsProjectSettings::getSettings(m_project).get(),
&ClangToolsProjectSettings::suppressedDiagnosticsChanged, this, &ClangToolsProjectSettings::suppressedDiagnosticsChanged, this,
&DiagnosticFilterModel::handleSuppressedDiagnosticsChanged); &DiagnosticFilterModel::handleSuppressedDiagnosticsChanged);
} }
m_project = project; m_project = project;
m_lastProjectDirectory = m_project->projectDirectory(); m_lastProjectDirectory = m_project->projectDirectory();
connect(ClangToolsProjectSettings::getSettings(m_project).data(), connect(ClangToolsProjectSettings::getSettings(m_project).get(),
&ClangToolsProjectSettings::suppressedDiagnosticsChanged, &ClangToolsProjectSettings::suppressedDiagnosticsChanged,
this, &DiagnosticFilterModel::handleSuppressedDiagnosticsChanged); this, &DiagnosticFilterModel::handleSuppressedDiagnosticsChanged);
handleSuppressedDiagnosticsChanged(); handleSuppressedDiagnosticsChanged();

View File

@@ -209,7 +209,7 @@ ClangToolsProjectSettings::ClangToolsProjectSettingsPtr
ClangToolsProjectSettingsPtr{new ClangToolsProjectSettings(project)}); ClangToolsProjectSettingsPtr{new ClangToolsProjectSettings(project)});
project->setExtraData(key, v); project->setExtraData(key, v);
} }
return v.value<QSharedPointer<ClangToolsProjectSettings>>(); return v.value<std::shared_ptr<ClangToolsProjectSettings>>();
} }
SuppressedDiagnostic::SuppressedDiagnostic(const Diagnostic &diag) SuppressedDiagnostic::SuppressedDiagnostic(const Diagnostic &diag)

View File

@@ -65,7 +65,7 @@ public:
void removeSuppressedDiagnostic(const SuppressedDiagnostic &diag); void removeSuppressedDiagnostic(const SuppressedDiagnostic &diag);
void removeAllSuppressedDiagnostics(); void removeAllSuppressedDiagnostics();
using ClangToolsProjectSettingsPtr = QSharedPointer<ClangToolsProjectSettings>; using ClangToolsProjectSettingsPtr = std::shared_ptr<ClangToolsProjectSettings>;
static ClangToolsProjectSettingsPtr getSettings(ProjectExplorer::Project *project); static ClangToolsProjectSettingsPtr getSettings(ProjectExplorer::Project *project);
signals: signals:
@@ -91,4 +91,4 @@ private:
} // namespace Internal } // namespace Internal
} // namespace ClangTools } // namespace ClangTools
Q_DECLARE_METATYPE(QSharedPointer<ClangTools::Internal::ClangToolsProjectSettings>) Q_DECLARE_METATYPE(std::shared_ptr<ClangTools::Internal::ClangToolsProjectSettings>)

View File

@@ -70,7 +70,7 @@ private:
QPushButton *m_removeSelectedButton; QPushButton *m_removeSelectedButton;
QPushButton *m_removeAllButton; QPushButton *m_removeAllButton;
QSharedPointer<ClangToolsProjectSettings> const m_projectSettings; std::shared_ptr<ClangToolsProjectSettings> const m_projectSettings;
}; };
ClangToolsProjectSettingsWidget::ClangToolsProjectSettingsWidget(Project *project) ClangToolsProjectSettingsWidget::ClangToolsProjectSettingsWidget(Project *project)
@@ -146,7 +146,7 @@ ClangToolsProjectSettingsWidget::ClangToolsProjectSettingsWidget(Project *projec
// Suppressed diagnostics // Suppressed diagnostics
auto * const model = new SuppressedDiagnosticsModel(this); auto * const model = new SuppressedDiagnosticsModel(this);
model->setDiagnostics(m_projectSettings->suppressedDiagnostics()); model->setDiagnostics(m_projectSettings->suppressedDiagnostics());
connect(m_projectSettings.data(), &ClangToolsProjectSettings::suppressedDiagnosticsChanged, this, connect(m_projectSettings.get(), &ClangToolsProjectSettings::suppressedDiagnosticsChanged, this,
[model, this] { [model, this] {
model->setDiagnostics(m_projectSettings->suppressedDiagnostics()); model->setDiagnostics(m_projectSettings->suppressedDiagnostics());
updateButtonStates(); updateButtonStates();

View File

@@ -4,7 +4,6 @@
#include "documentclangtoolrunner.h" #include "documentclangtoolrunner.h"
#include "clangtoolsconstants.h" #include "clangtoolsconstants.h"
#include "clangtoolslogfilereader.h"
#include "clangtoolrunner.h" #include "clangtoolrunner.h"
#include "clangtoolsutils.h" #include "clangtoolsutils.h"
#include "diagnosticmark.h" #include "diagnosticmark.h"
@@ -181,7 +180,7 @@ void DocumentClangToolRunner::run()
: projectSettings->runSettings(); : projectSettings->runSettings();
m_suppressed = projectSettings->suppressedDiagnostics(); m_suppressed = projectSettings->suppressedDiagnostics();
m_lastProjectDirectory = project->projectDirectory(); m_lastProjectDirectory = project->projectDirectory();
m_projectSettingsUpdate = connect(projectSettings.data(), &ClangToolsProjectSettings::changed, m_projectSettingsUpdate = connect(projectSettings.get(), &ClangToolsProjectSettings::changed,
this, &DocumentClangToolRunner::run); this, &DocumentClangToolRunner::run);
if (!runSettings.analyzeOpenFiles()) if (!runSettings.analyzeOpenFiles())
return; return;