Perforce: 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: I6b48189134c741e6d8ab6bb0c94d27d4504c14b5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2024-02-01 17:30:23 +01:00
parent 6b57dce7a5
commit de1d73216e

View File

@@ -296,8 +296,8 @@ public:
void changelists(const FilePath &workingDir, const QString &fileName = QString()); void changelists(const FilePath &workingDir, const QString &fileName = QString());
void cleanCommitMessageFile(); void cleanCommitMessageFile();
bool isCommitEditorOpen() const; bool isCommitEditorOpen() const;
static QSharedPointer<TempFileSaver> createTemporaryArgumentFile(const QStringList &extraArgs, static std::shared_ptr<TempFileSaver> createTemporaryArgumentFile(const QStringList &extraArgs,
QString *errorString); QString *errorString);
QString pendingChangesData(); QString pendingChangesData();
@@ -1066,19 +1066,18 @@ bool PerforcePluginPrivate::vcsMove(const FilePath &workingDir, const QString &f
} }
// Write extra args to temporary file // Write extra args to temporary file
QSharedPointer<TempFileSaver> std::shared_ptr<TempFileSaver> PerforcePluginPrivate::createTemporaryArgumentFile(
PerforcePluginPrivate::createTemporaryArgumentFile(const QStringList &extraArgs, const QStringList &extraArgs, QString *errorString)
QString *errorString)
{ {
if (extraArgs.isEmpty()) if (extraArgs.isEmpty())
return QSharedPointer<TempFileSaver>(); return std::shared_ptr<TempFileSaver>();
// create pattern // create pattern
QString pattern = dd->m_tempFilePattern; QString pattern = dd->m_tempFilePattern;
if (pattern.isEmpty()) { if (pattern.isEmpty()) {
pattern = TemporaryDirectory::masterDirectoryPath() + "/qtc_p4_XXXXXX.args"; pattern = TemporaryDirectory::masterDirectoryPath() + "/qtc_p4_XXXXXX.args";
dd->m_tempFilePattern = pattern; dd->m_tempFilePattern = pattern;
} }
QSharedPointer<TempFileSaver> rc(new TempFileSaver(pattern)); std::shared_ptr<TempFileSaver> rc(new TempFileSaver(pattern));
rc->setAutoRemove(true); rc->setAutoRemove(true);
const int last = extraArgs.size() - 1; const int last = extraArgs.size() - 1;
for (int i = 0; i <= last; i++) { for (int i = 0; i <= last; i++) {
@@ -1087,7 +1086,7 @@ PerforcePluginPrivate::createTemporaryArgumentFile(const QStringList &extraArgs,
rc->write("\n", 1); rc->write("\n", 1);
} }
if (!rc->finalize(errorString)) if (!rc->finalize(errorString))
return QSharedPointer<TempFileSaver>(); return std::shared_ptr<TempFileSaver>();
return rc; return rc;
} }
@@ -1237,8 +1236,8 @@ PerforceResponse PerforcePluginPrivate::runP4Cmd(const FilePath &workingDir,
} }
QStringList actualArgs = settings().commonP4Arguments(workingDir.toString()); QStringList actualArgs = settings().commonP4Arguments(workingDir.toString());
QString errorMessage; QString errorMessage;
QSharedPointer<TempFileSaver> tempFile = createTemporaryArgumentFile(extraArgs, &errorMessage); std::shared_ptr<TempFileSaver> tempFile = createTemporaryArgumentFile(extraArgs, &errorMessage);
if (!tempFile.isNull()) if (tempFile)
actualArgs << QLatin1String("-x") << tempFile->filePath().toString(); actualArgs << QLatin1String("-x") << tempFile->filePath().toString();
else if (!errorMessage.isEmpty()) else if (!errorMessage.isEmpty())
return {}; return {};