Squish: 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: Ife415b57ac7b32e4eeb5e39a9cfb4c820b3d3fde
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2024-02-01 17:34:36 +01:00
parent 9e966706dd
commit 6b57dce7a5

View File

@@ -10,26 +10,24 @@
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <QSharedPointer>
namespace Squish::Internal { namespace Squish::Internal {
class ObjectsMapEditor : public Core::IEditor class ObjectsMapEditor : public Core::IEditor
{ {
public: public:
ObjectsMapEditor(QSharedPointer<ObjectsMapDocument> document) ObjectsMapEditor(std::shared_ptr<ObjectsMapDocument> document)
: m_document(document) : m_document(document)
{ {
setWidget(new ObjectsMapEditorWidget(m_document.data())); setWidget(new ObjectsMapEditorWidget(m_document.get()));
setDuplicateSupported(true); setDuplicateSupported(true);
} }
~ObjectsMapEditor() override { delete m_widget; } ~ObjectsMapEditor() override { delete m_widget; }
private: private:
Core::IDocument *document() const override { return m_document.data(); } Core::IDocument *document() const override { return m_document.get(); }
QWidget *toolBar() override { return nullptr; } QWidget *toolBar() override { return nullptr; }
Core::IEditor *duplicate() override { return new ObjectsMapEditor(m_document); } Core::IEditor *duplicate() override { return new ObjectsMapEditor(m_document); }
QSharedPointer<ObjectsMapDocument> m_document; std::shared_ptr<ObjectsMapDocument> m_document;
}; };
@@ -41,7 +39,7 @@ ObjectsMapEditorFactory::ObjectsMapEditorFactory()
setDisplayName(Tr::tr("Squish Object Map Editor")); setDisplayName(Tr::tr("Squish Object Map Editor"));
addMimeType(Constants::SQUISH_OBJECTSMAP_MIMETYPE); addMimeType(Constants::SQUISH_OBJECTSMAP_MIMETYPE);
setEditorCreator([] { setEditorCreator([] {
return new ObjectsMapEditor(QSharedPointer<ObjectsMapDocument>(new ObjectsMapDocument)); return new ObjectsMapEditor(std::shared_ptr<ObjectsMapDocument>(new ObjectsMapDocument));
}); });
} }