diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp index 2647e342822..4b2eb27d2bd 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp @@ -15,8 +15,7 @@ namespace QmlProjectManager { -FileFilterBaseItem::FileFilterBaseItem(QObject *parent) : - QmlProjectContentItem(parent) +FileFilterBaseItem::FileFilterBaseItem() { m_updateFileListTimer.setSingleShot(true); m_updateFileListTimer.setInterval(50); @@ -271,8 +270,7 @@ QSet FileFilterBaseItem::filesInSubTree(const QDir &rootDir, const QDir return fileSet; } -ImageFileFilterItem::ImageFileFilterItem(QObject *parent) - : FileFilterBaseItem(parent) +ImageFileFilterItem::ImageFileFilterItem() { QString filter; // supported image formats according to @@ -284,8 +282,7 @@ ImageFileFilterItem::ImageFileFilterItem(QObject *parent) setFilter(filter); } -FileFilterItem::FileFilterItem(const QString &fileFilter, QObject *parent) - : FileFilterBaseItem(parent) +FileFilterItem::FileFilterItem(const QString &fileFilter) { setFilter(fileFilter); } diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h index 77a2490d735..d7fab82465a 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h @@ -20,9 +20,7 @@ class QmlProjectContentItem : public QObject Q_OBJECT public: - QmlProjectContentItem(QObject *parent = nullptr) - : QObject(parent) - {} + QmlProjectContentItem() {} }; class FileFilterBaseItem : public QmlProjectContentItem { @@ -35,7 +33,7 @@ class FileFilterBaseItem : public QmlProjectContentItem { Q_PROPERTY(QStringList files READ files NOTIFY filesChanged DESIGNABLE false) public: - FileFilterBaseItem(QObject *parent = nullptr); + FileFilterBaseItem(); QString directory() const; void setDirectory(const QString &directoryPath); @@ -99,12 +97,12 @@ private: class FileFilterItem : public FileFilterBaseItem { public: - FileFilterItem(const QString &fileFilter, QObject *parent = nullptr); + FileFilterItem(const QString &fileFilter); }; class ImageFileFilterItem : public FileFilterBaseItem { public: - ImageFileFilterItem(QObject *parent = nullptr); + ImageFileFilterItem(); }; } // namespace QmlProjectManager diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp index 71a0c47af3e..5b850e91741 100644 --- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp @@ -52,7 +52,8 @@ std::unique_ptr setupFileFilterItem( namespace QmlProjectManager { -QmlProjectItem *QmlProjectFileFormat::parseProjectFile(const Utils::FilePath &fileName, QString *errorMessage) +std::unique_ptr QmlProjectFileFormat::parseProjectFile(const Utils::FilePath &fileName, + QString *errorMessage) { QmlJS::SimpleReader simpleQmlJSReader; @@ -67,7 +68,7 @@ QmlProjectItem *QmlProjectFileFormat::parseProjectFile(const Utils::FilePath &fi } if (rootNode->name() == QLatin1String("Project")) { - auto projectItem = new QmlProjectItem; + auto projectItem = std::make_unique(); const auto mainFileProperty = rootNode->property(QLatin1String("mainFile")); if (mainFileProperty.isValid()) @@ -137,8 +138,7 @@ QmlProjectItem *QmlProjectFileFormat::parseProjectFile(const Utils::FilePath &fi setupFileFilterItem(std::make_unique("*.js"), childNode)); } else if (childNode->name() == QLatin1String("ImageFiles")) { projectItem->appendContent( - setupFileFilterItem(std::make_unique(projectItem), - childNode)); + setupFileFilterItem(std::make_unique(), childNode)); } else if (childNode->name() == QLatin1String("CssFiles")) { projectItem->appendContent( setupFileFilterItem(std::make_unique("*.css"), childNode)); diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.h b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.h index b92a8024053..6b60122491f 100644 --- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.h +++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.h @@ -17,8 +17,8 @@ class QmlProjectFileFormat Q_DECLARE_TR_FUNCTIONS(QmlProjectManager::QmlProjectFileFormat) public: - static QmlProjectItem *parseProjectFile(const Utils::FilePath &fileName, - QString *errorMessage = nullptr); + static std::unique_ptr parseProjectFile(const Utils::FilePath &fileName, + QString *errorMessage = nullptr); }; } // namespace QmlProjectManager diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index 116859cd7b3..170308c1d6c 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -191,8 +191,7 @@ void QmlBuildSystem::parseProject(RefreshOptions options) m_projectItem.reset(); if (!m_projectItem) { QString errorMessage; - m_projectItem.reset( - QmlProjectFileFormat::parseProjectFile(projectFilePath(), &errorMessage)); + m_projectItem = QmlProjectFileFormat::parseProjectFile(projectFilePath(), &errorMessage); if (m_projectItem) { connect(m_projectItem.get(), &QmlProjectItem::qmlFilesChanged, diff --git a/tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp b/tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp index f3329d97c8e..028a29b01a7 100644 --- a/tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp +++ b/tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp @@ -41,7 +41,7 @@ tst_FileFormat::tst_FileFormat() static QString testDataDir = QLatin1String(SRCDIR "/data"); -static QmlProjectItem *loadQmlProject(QString name, QString *error) +static std::unique_ptr loadQmlProject(QString name, QString *error) { return QmlProjectFileFormat::parseProjectFile( Utils::FilePath::fromString(testDataDir).pathAppended(name + ".qmlproject"), error); @@ -54,7 +54,7 @@ void tst_FileFormat::testFileFilter() // Search for qml files in directory + subdirectories // { - QmlProjectItem *project = loadQmlProject(QLatin1String("testFileFilter1"), &error); + auto project = loadQmlProject(QLatin1String("testFileFilter1"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -64,14 +64,13 @@ void tst_FileFormat::testFileFilter() << testDataDir + "/file2.qml" << testDataDir + "/subdir/file3.qml"); COMPARE_AS_SETS(project->files(), expectedFiles); - delete project; } // // search for all qml files in directory // { - QmlProjectItem *project = loadQmlProject(QLatin1String("testFileFilter2"), &error); + auto project = loadQmlProject(QLatin1String("testFileFilter2"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -80,14 +79,13 @@ void tst_FileFormat::testFileFilter() QStringList expectedFiles(QStringList() << testDataDir + "/file1.qml" << testDataDir + "/file2.qml"); COMPARE_AS_SETS(project->files(), expectedFiles); - delete project; } // // search for all qml files in subdirectory // { - QmlProjectItem *project = loadQmlProject(QLatin1String("testFileFilter3"), &error); + auto project = loadQmlProject(QLatin1String("testFileFilter3"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -95,14 +93,13 @@ void tst_FileFormat::testFileFilter() QStringList expectedFiles(QStringList() << testDataDir + "/subdir/file3.qml"); COMPARE_AS_SETS(project->files(), expectedFiles); - delete project; } // // multiple entries // { - QmlProjectItem *project = loadQmlProject(QLatin1String("testFileFilter4"), &error); + auto project = loadQmlProject(QLatin1String("testFileFilter4"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -113,14 +110,13 @@ void tst_FileFormat::testFileFilter() << testDataDir + "/subdir/file3.qml"); QCOMPARE(project->files().size(), 3); COMPARE_AS_SETS(project->files(), expectedFiles); - delete project; } // // include specific list // { - QmlProjectItem *project = loadQmlProject(QLatin1String("testFileFilter5"), &error); + auto project = loadQmlProject(QLatin1String("testFileFilter5"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -129,14 +125,13 @@ void tst_FileFormat::testFileFilter() QStringList expectedFiles(QStringList() << testDataDir + "/file1.qml" << testDataDir + "/file2.qml"); COMPARE_AS_SETS(project->files(), expectedFiles); - delete project; } // // include specific list // { - QmlProjectItem *project = loadQmlProject(QLatin1String("testFileFilter6"), &error); + auto project = loadQmlProject(QLatin1String("testFileFilter6"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -144,14 +139,13 @@ void tst_FileFormat::testFileFilter() QStringList expectedFiles(QStringList() << testDataDir + "/image.gif"); COMPARE_AS_SETS(project->files(), expectedFiles); - delete project; } // // use wildcards // { - QmlProjectItem *project = loadQmlProject(QLatin1String("testFileFilter7"), &error); + auto project = loadQmlProject(QLatin1String("testFileFilter7"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -159,14 +153,13 @@ void tst_FileFormat::testFileFilter() QStringList expectedFiles(QStringList() << testDataDir + "/image.gif"); COMPARE_AS_SETS(project->files(), expectedFiles); - delete project; } // // use Files element (1.1) // { - QmlProjectItem *project = loadQmlProject(QLatin1String("testFileFilter8"), &error); + auto project = loadQmlProject(QLatin1String("testFileFilter8"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -174,7 +167,6 @@ void tst_FileFormat::testFileFilter() QStringList expectedFiles(QStringList() << testDataDir + "/image.gif"); COMPARE_AS_SETS(project->files(), expectedFiles); - delete project; } } @@ -184,7 +176,7 @@ void tst_FileFormat::testMatchesFile() // // search for qml files in local directory // - QmlProjectItem *project = loadQmlProject(QLatin1String("testMatchesFile"), &error); + auto project = loadQmlProject(QLatin1String("testMatchesFile"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -195,7 +187,6 @@ void tst_FileFormat::testMatchesFile() QVERIFY(project->matchesFile(testDataDir + "/subdir/notyetexistingfile.qml")); QVERIFY(project->matchesFile(testDataDir + "/script.js")); QVERIFY(!project->matchesFile(testDataDir + "/script.css")); - delete project; } void tst_FileFormat::testLibraryPaths() @@ -204,7 +195,7 @@ void tst_FileFormat::testLibraryPaths() // // search for qml files in local directory // - QmlProjectItem *project = loadQmlProject(QLatin1String("testLibraryPaths"), &error); + auto project = loadQmlProject(QLatin1String("testLibraryPaths"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); @@ -214,7 +205,6 @@ void tst_FileFormat::testLibraryPaths() const QStringList expectedPaths({base.relativeFilePath(SRCDIR "/otherLibrary"), base.relativeFilePath(SRCDIR "/data/library")}); COMPARE_AS_SETS(project->importPaths(), expectedPaths); - delete project; } void tst_FileFormat::testMainFile() @@ -223,12 +213,11 @@ void tst_FileFormat::testMainFile() // // search for qml files in local directory // - QmlProjectItem *project = loadQmlProject(QLatin1String("testMainFile"), &error); + auto project = loadQmlProject(QLatin1String("testMainFile"), &error); QVERIFY(project); QVERIFY(error.isEmpty()); QCOMPARE(project->mainFile(), QString("file1.qml")); - delete project; } QTEST_GUILESS_MAIN(tst_FileFormat);