CorePlugin: 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: Id64f1033ed0a640bb3f02821b3b5f99c7fa3987d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2024-02-01 17:49:39 +01:00
parent 536046ebb2
commit 37dd482c3b
4 changed files with 8 additions and 10 deletions

View File

@@ -322,7 +322,7 @@ void ExternalToolModel::revertTool(const QModelIndex &modelIndex)
ExternalTool *tool = toolForIndex(modelIndex);
QTC_ASSERT(tool, return);
QTC_ASSERT(tool->preset() && !tool->preset()->filePath().isEmpty(), return);
auto resetTool = new ExternalTool(tool->preset().data());
auto resetTool = new ExternalTool(tool->preset().get());
resetTool->setPreset(tool->preset());
(*tool) = (*resetTool);
delete resetTool;

View File

@@ -190,7 +190,7 @@ void ExternalTool::setFilePath(const FilePath &filePath)
m_filePath = filePath;
}
void ExternalTool::setPreset(QSharedPointer<ExternalTool> preset)
void ExternalTool::setPreset(std::shared_ptr<ExternalTool> preset)
{
m_presetTool = preset;
}
@@ -200,7 +200,7 @@ FilePath ExternalTool::filePath() const
return m_filePath;
}
QSharedPointer<ExternalTool> ExternalTool::preset() const
std::shared_ptr<ExternalTool> ExternalTool::preset() const
{
return m_presetTool;
}

View File

@@ -10,7 +10,6 @@
#include <utils/id.h>
#include <QObject>
#include <QSharedPointer>
#include <QTextCodec>
#include <QMetaType>
@@ -51,10 +50,10 @@ public:
Utils::EnvironmentItems environmentUserChanges() const;
void setFilePath(const Utils::FilePath &filePath);
void setPreset(QSharedPointer<ExternalTool> preset);
void setPreset(std::shared_ptr<ExternalTool> preset);
Utils::FilePath filePath() const;
// all tools that are preset (changed or unchanged) have the original value here:
QSharedPointer<ExternalTool> preset() const;
std::shared_ptr<ExternalTool> preset() const;
static ExternalTool *createFromXml(const QByteArray &xml, QString *errorMessage = nullptr,
const QString &locale = {});
@@ -99,7 +98,7 @@ private:
Utils::FilePath m_filePath;
Utils::FilePath m_presetFileName;
QSharedPointer<ExternalTool> m_presetTool;
std::shared_ptr<ExternalTool> m_presetTool;
};
class CORE_EXPORT ExternalToolRunner : public QObject

View File

@@ -6,7 +6,6 @@
#include "externaltool.h"
#include "coreconstants.h"
#include "coreplugintr.h"
#include "icontext.h"
#include "icore.h"
#include "messagemanager.h"
#include "actionmanager/actionmanager.h"
@@ -114,7 +113,7 @@ void ExternalToolManager::parseDirectory(const QString &directory,
if (isPreset) {
// preset that was changed
ExternalTool *other = tools->value(tool->id());
other->setPreset(QSharedPointer<ExternalTool>(tool));
other->setPreset(std::shared_ptr<ExternalTool>(tool));
} else {
qWarning() << Tr::tr("Error: External tool in %1 has duplicate id").arg(fileName);
delete tool;
@@ -123,7 +122,7 @@ void ExternalToolManager::parseDirectory(const QString &directory,
}
if (isPreset) {
// preset that wasn't changed --> save original values
tool->setPreset(QSharedPointer<ExternalTool>(new ExternalTool(tool)));
tool->setPreset(std::shared_ptr<ExternalTool>(new ExternalTool(tool)));
}
tools->insert(tool->id(), tool);
(*categoryMenus)[tool->displayCategory()].insert(tool->order(), tool);