ClearCase: 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: I002f09d968b61318e125c5af1e90a03e24a70082
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2024-02-01 17:06:41 +01:00
parent 3b5e64e8a3
commit 8090f6ea60
4 changed files with 14 additions and 16 deletions

View File

@@ -65,7 +65,6 @@
#include <QMetaObject> #include <QMetaObject>
#include <QMutex> #include <QMutex>
#include <QRegularExpression> #include <QRegularExpression>
#include <QSharedPointer>
#include <QTextCodec> #include <QTextCodec>
#include <QUuid> #include <QUuid>
#include <QVBoxLayout> #include <QVBoxLayout>
@@ -317,7 +316,7 @@ public:
QAction *m_menuAction = nullptr; QAction *m_menuAction = nullptr;
QMutex m_activityMutex; QMutex m_activityMutex;
QList<QStringPair> m_activities; QList<QStringPair> m_activities;
QSharedPointer<StatusMap> m_statusMap; std::shared_ptr<StatusMap> m_statusMap;
ClearCaseSettingsPage m_settingsPage; ClearCaseSettingsPage m_settingsPage;
@@ -1812,7 +1811,7 @@ bool ClearCasePluginPrivate::vcsCheckIn(const FilePath &messageFile, const QStri
if (files.isEmpty()) if (files.isEmpty())
return true; return true;
const QString title = QString::fromLatin1("Checkin %1").arg(files.join(QLatin1String("; "))); const QString title = QString::fromLatin1("Checkin %1").arg(files.join(QLatin1String("; ")));
using FCBPointer = QSharedPointer<FileChangeBlocker>; using FCBPointer = std::shared_ptr<FileChangeBlocker>;
replaceActivity &= (activity != QLatin1String(Constants::KEEP_ACTIVITY)); replaceActivity &= (activity != QLatin1String(Constants::KEEP_ACTIVITY));
if (replaceActivity && !vcsSetActivity(m_checkInView, title, activity)) if (replaceActivity && !vcsSetActivity(m_checkInView, title, activity))
return false; return false;
@@ -2479,7 +2478,7 @@ void setSettings(const ClearCaseSettings &s)
dd->setSettings(s); dd->setSettings(s);
} }
QSharedPointer<StatusMap> statusMap() std::shared_ptr<StatusMap> statusMap()
{ {
return dd->m_statusMap; return dd->m_statusMap;
} }
@@ -2580,7 +2579,7 @@ void ClearCaseTest::testFileStatusParsing_data()
void ClearCaseTest::testFileStatusParsing() void ClearCaseTest::testFileStatusParsing()
{ {
dd->m_statusMap = QSharedPointer<StatusMap>(new StatusMap); dd->m_statusMap = std::shared_ptr<StatusMap>(new StatusMap);
QFETCH(QString, filename); QFETCH(QString, filename);
QFETCH(QString, cleartoolLsLine); QFETCH(QString, cleartoolLsLine);
@@ -2592,14 +2591,14 @@ void ClearCaseTest::testFileStatusParsing()
void ClearCaseTest::testFileNotManaged() void ClearCaseTest::testFileNotManaged()
{ {
dd->m_statusMap = QSharedPointer<StatusMap>(new StatusMap); dd->m_statusMap = std::shared_ptr<StatusMap>(new StatusMap);
ClearCaseSync ccSync(dd->m_statusMap); ClearCaseSync ccSync(dd->m_statusMap);
ccSync.verifyFileNotManaged(); ccSync.verifyFileNotManaged();
} }
void ClearCaseTest::testFileCheckedOutDynamicView() void ClearCaseTest::testFileCheckedOutDynamicView()
{ {
dd->m_statusMap = QSharedPointer<StatusMap>(new StatusMap); dd->m_statusMap = std::shared_ptr<StatusMap>(new StatusMap);
ClearCaseSync ccSync(dd->m_statusMap); ClearCaseSync ccSync(dd->m_statusMap);
ccSync.verifyFileCheckedOutDynamicView(); ccSync.verifyFileCheckedOutDynamicView();
@@ -2607,14 +2606,14 @@ void ClearCaseTest::testFileCheckedOutDynamicView()
void ClearCaseTest::testFileCheckedInDynamicView() void ClearCaseTest::testFileCheckedInDynamicView()
{ {
dd->m_statusMap = QSharedPointer<StatusMap>(new StatusMap); dd->m_statusMap = std::shared_ptr<StatusMap>(new StatusMap);
ClearCaseSync ccSync(dd->m_statusMap); ClearCaseSync ccSync(dd->m_statusMap);
ccSync.verifyFileCheckedInDynamicView(); ccSync.verifyFileCheckedInDynamicView();
} }
void ClearCaseTest::testFileNotManagedDynamicView() void ClearCaseTest::testFileNotManagedDynamicView()
{ {
dd->m_statusMap = QSharedPointer<StatusMap>(new StatusMap); dd->m_statusMap = std::shared_ptr<StatusMap>(new StatusMap);
ClearCaseSync ccSync(dd->m_statusMap); ClearCaseSync ccSync(dd->m_statusMap);
ccSync.verifyFileNotManagedDynamicView(); ccSync.verifyFileNotManagedDynamicView();
} }
@@ -2725,7 +2724,7 @@ void ClearCaseTest::testVcsStatusDynamicReadonlyNotManaged()
{ {
// File is not in map, and is read-only // File is not in map, and is read-only
ClearCasePluginPrivate::instance(); ClearCasePluginPrivate::instance();
dd->m_statusMap = QSharedPointer<StatusMap>(new StatusMap); dd->m_statusMap = std::shared_ptr<StatusMap>(new StatusMap);
const QString fileName = QDir::currentPath() + QLatin1String("/readonly_notmanaged_file.cpp"); const QString fileName = QDir::currentPath() + QLatin1String("/readonly_notmanaged_file.cpp");
@@ -2747,7 +2746,7 @@ void ClearCaseTest::testVcsStatusDynamicReadonlyNotManaged()
void ClearCaseTest::testVcsStatusDynamicNotManaged() void ClearCaseTest::testVcsStatusDynamicNotManaged()
{ {
ClearCasePluginPrivate::instance(); ClearCasePluginPrivate::instance();
dd->m_statusMap = QSharedPointer<StatusMap>(new StatusMap); dd->m_statusMap = std::shared_ptr<StatusMap>(new StatusMap);
const QString fileName = QDir::currentPath() + QLatin1String("/notmanaged_file.cpp"); const QString fileName = QDir::currentPath() + QLatin1String("/notmanaged_file.cpp");

View File

@@ -8,7 +8,6 @@
#include <QFile> #include <QFile>
#include <QPair> #include <QPair>
#include <QStringList> #include <QStringList>
#include <QSharedPointer>
namespace ClearCase::Internal { namespace ClearCase::Internal {
@@ -56,6 +55,6 @@ const ViewData viewData();
void setStatus(const QString &file, FileStatus::Status status, bool update); void setStatus(const QString &file, FileStatus::Status status, bool update);
const ClearCaseSettings &settings(); const ClearCaseSettings &settings();
void setSettings(const ClearCaseSettings &s); void setSettings(const ClearCaseSettings &s);
QSharedPointer<StatusMap> statusMap(); std::shared_ptr<StatusMap> statusMap();
} // ClearCase::Internal } // ClearCase::Internal

View File

@@ -51,7 +51,7 @@ static void runProcess(QPromise<void> &promise, const ClearCaseSettings &setting
processLine(buffer, ++processed); processLine(buffer, ++processed);
} }
ClearCaseSync::ClearCaseSync(QSharedPointer<StatusMap> statusMap) : ClearCaseSync::ClearCaseSync(std::shared_ptr<StatusMap> statusMap) :
m_statusMap(statusMap) m_statusMap(statusMap)
{ } { }

View File

@@ -19,7 +19,7 @@ class ClearCaseSync : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit ClearCaseSync(QSharedPointer<StatusMap> statusMap); explicit ClearCaseSync(std::shared_ptr<StatusMap> statusMap);
void run(QPromise<void> &promise, QStringList &files); void run(QPromise<void> &promise, QStringList &files);
QStringList updateStatusHotFiles(const QString &viewRoot, int &total); QStringList updateStatusHotFiles(const QString &viewRoot, int &total);
@@ -38,7 +38,7 @@ signals:
void updateStreamAndView(); void updateStreamAndView();
private: private:
QSharedPointer<StatusMap> m_statusMap; std::shared_ptr<StatusMap> m_statusMap;
#ifdef WITH_TESTS #ifdef WITH_TESTS
public slots: public slots: