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)
{
const QSharedPointer<ClangToolsProjectSettings> s = ClangToolsProjectSettings::getSettings(project);
const std::shared_ptr<ClangToolsProjectSettings> s = ClangToolsProjectSettings::getSettings(project);
static FileInfoSelection openedFilesSelection;
static FileInfoSelection editeddFilesSelection;

View File

@@ -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();

View File

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

View File

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

View File

@@ -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;