QmlProject: Fix escaping while rewriting the qmlproject file

Task-number: QDS-10032
Change-Id: I856d9935a1c77085f79008db19920f12af9e1a21
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Burak Hancerli
2023-06-05 14:11:03 +02:00
parent 115b8c8572
commit 5dadc57bc3
3 changed files with 11 additions and 3 deletions

View File

@@ -156,7 +156,9 @@ QString jsonToQmlProject(const QJsonObject &rootObject)
{ // append ShaderTool object
if (!shaderConfig["args"].toVariant().toStringList().isEmpty()) {
startObject("ShaderTool");
appendString("args", shaderConfig["args"].toVariant().toStringList().join(" "));
appendString("args",
shaderConfig["args"].toVariant().toStringList().join(" ").replace(
"\"", "\\\""));
appendArray("files", shaderConfig["files"].toVariant().toStringList());
endObject();
}
@@ -193,7 +195,7 @@ QJsonObject qmlProjectTojson(const Utils::FilePath &projectFile)
}
if (rootNode->name() != QLatin1String("Project")) {
qCritical() << "Cannot find root 'Proejct' item in the project file: " << projectFile;
qCritical() << "Cannot find root 'Project' item in the project file: " << projectFile;
return {};
}

View File

@@ -31,12 +31,14 @@ public:
? QString::fromLatin1(m_qmlProjectFile.fileContents().value())
: QString{});
}
QString jsonToQmlProjectContent() const
{
return m_jsonToQmlProjectFile.fileContents()
? QString::fromLatin1(m_jsonToQmlProjectFile.fileContents().value())
: QString{};
}
QString qmlProjectToJsonContent() const
{
return m_qmlProjectToJsonFile.fileContents()
@@ -45,9 +47,13 @@ public:
}
QString dataSetPath() const { return m_dataSetDirectory.absolutePath(); }
QString dataSetName() const { return m_dataSetDirectory.dirName(); }
Utils::FilePath qmlProjectFile() const { return m_qmlProjectFile; }
Utils::FilePath jsonToQmlProjectFile() const { return m_jsonToQmlProjectFile; }
Utils::FilePath qmlProjectToJsonFile() const { return m_qmlProjectToJsonFile; }
private:

View File

@@ -28,7 +28,7 @@ Project {
}
ShaderTool {
args: "-s --glsl "100 es,120,150" --hlsl 50 --msl 12"
args: "-s --glsl \"100 es,120,150\" --hlsl 50 --msl 12"
files: [ "content/shaders/*" ]
}