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 { // append ShaderTool object
if (!shaderConfig["args"].toVariant().toStringList().isEmpty()) { if (!shaderConfig["args"].toVariant().toStringList().isEmpty()) {
startObject("ShaderTool"); startObject("ShaderTool");
appendString("args", shaderConfig["args"].toVariant().toStringList().join(" ")); appendString("args",
shaderConfig["args"].toVariant().toStringList().join(" ").replace(
"\"", "\\\""));
appendArray("files", shaderConfig["files"].toVariant().toStringList()); appendArray("files", shaderConfig["files"].toVariant().toStringList());
endObject(); endObject();
} }
@@ -193,7 +195,7 @@ QJsonObject qmlProjectTojson(const Utils::FilePath &projectFile)
} }
if (rootNode->name() != QLatin1String("Project")) { 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 {}; return {};
} }

View File

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

View File

@@ -28,7 +28,7 @@ Project {
} }
ShaderTool { 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/*" ] files: [ "content/shaders/*" ]
} }