From b6569b933313ba329f3614327207112a250d9f75 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 9 Aug 2023 18:32:32 +0200 Subject: [PATCH] QmlProjectManager: Allow opening remote .qmlproject This get rid of two instances of FilePath::toString and allows now to opens the default wizard-generated "Qt Quick UI Prototype" .qmlproject. As the QmlBuildSystem is still heavily tied to the local file system this here is only a baby step towards fully functionial remote .qmlproject support. Change-Id: I940f99472d45d9ade4966cf4f15b0692a51f2e7b Reviewed-by: Christian Stenger --- .../buildsystem/projectitem/converters.cpp | 2 +- .../buildsystem/projectitem/qmlprojectitem.cpp | 2 +- .../qmlprojectmanager/buildsystem/qmlbuildsystem.cpp | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/plugins/qmlprojectmanager/buildsystem/projectitem/converters.cpp b/src/plugins/qmlprojectmanager/buildsystem/projectitem/converters.cpp index ce0233fcf20..c77189a8b6c 100644 --- a/src/plugins/qmlprojectmanager/buildsystem/projectitem/converters.cpp +++ b/src/plugins/qmlprojectmanager/buildsystem/projectitem/converters.cpp @@ -186,7 +186,7 @@ QJsonObject qmlProjectTojson(const Utils::FilePath &projectFile) { QmlJS::SimpleReader simpleQmlJSReader; - const QmlJS::SimpleReaderNode::Ptr rootNode = simpleQmlJSReader.readFile(projectFile.toString()); + const QmlJS::SimpleReaderNode::Ptr rootNode = simpleQmlJSReader.readFile(projectFile.toFSPathString()); if (!simpleQmlJSReader.errors().isEmpty() || !rootNode->isValid()) { qCritical() << "Unable to parse:" << projectFile; diff --git a/src/plugins/qmlprojectmanager/buildsystem/projectitem/qmlprojectitem.cpp b/src/plugins/qmlprojectmanager/buildsystem/projectitem/qmlprojectitem.cpp index 99ad0826549..2761caff089 100644 --- a/src/plugins/qmlprojectmanager/buildsystem/projectitem/qmlprojectitem.cpp +++ b/src/plugins/qmlprojectmanager/buildsystem/projectitem/qmlprojectitem.cpp @@ -78,7 +78,7 @@ void QmlProjectItem::setupFileFilters() fileFilterItem->setRecursive(fileGroup["recursive"].toBool(true)); fileFilterItem->setPathsProperty(fileGroup["directories"].toVariant().toStringList()); fileFilterItem->setPathsProperty(filesArr); - fileFilterItem->setDefaultDirectory(m_projectFile.parentDir().toString()); + fileFilterItem->setDefaultDirectory(m_projectFile.parentDir().toFSPathString()); #ifndef TESTS_ENABLED_QMLPROJECTITEM connect(fileFilterItem.get(), &FileFilterItem::filesChanged, diff --git a/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp b/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp index 4016cc6ac6f..60107e469e0 100644 --- a/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp +++ b/src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp @@ -228,9 +228,9 @@ void QmlBuildSystem::parseProjectFiles() } - Utils::FilePath mainFilePath{Utils::FilePath::fromString(m_projectItem->mainFile())}; - if (!mainFilePath.isEmpty()) { - mainFilePath = canonicalProjectDir().resolvePath(m_projectItem->mainFile()); + const QString mainFileName = m_projectItem->mainFile(); + if (!mainFileName.isEmpty()) { + Utils::FilePath mainFilePath = canonicalProjectDir().resolvePath(mainFileName); Utils::FileReader reader; QString errorMessage; if (!reader.fetch(mainFilePath, &errorMessage)) {