GenerateQmlrc: Do not create package if user cancels the operation

Change-Id: Ie8f2bed23d6c9b4c8496b9b75310fc8cda823088
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Burak Hancerli
2024-02-14 10:55:00 +01:00
committed by Thomas Hartmann
parent ea03bfea10
commit 22ef184a09
2 changed files with 15 additions and 9 deletions

View File

@@ -77,9 +77,9 @@ QTableWidget* GenerateResource::createFilesTable(const QList<ResourceFile> &file
return table; return table;
} }
QStringList GenerateResource::getFileList(const QList<ResourceFile> &fileNames) std::optional<QStringList> GenerateResource::getFileList(const QList<ResourceFile> &fileNames)
{ {
QStringList result; std::optional<QStringList> result;
QDialog *dialog = new QDialog(Core::ICore::dialogParent()); QDialog *dialog = new QDialog(Core::ICore::dialogParent());
dialog->setMinimumWidth(480); dialog->setMinimumWidth(480);
dialog->setMinimumHeight(640); dialog->setMinimumHeight(640);
@@ -118,7 +118,7 @@ QStringList GenerateResource::getFileList(const QList<ResourceFile> &fileNames)
} }
} }
result = fileList; result.emplace(fileList);
}); });
dialog->exec(); dialog->exec();
@@ -311,7 +311,10 @@ void GenerateResource::generateMenuEntry(QObject *parent)
temp.close(); temp.close();
QStringList modifiedList = getFileList(fileList); std::optional<QStringList> modifiedList = getFileList(fileList);
if (!modifiedList)
return;
if (!persistentFile.open(QIODevice::ReadWrite | QIODevice::Truncate)) if (!persistentFile.open(QIODevice::ReadWrite | QIODevice::Truncate))
return; return;
@@ -323,7 +326,7 @@ void GenerateResource::generateMenuEntry(QObject *parent)
persistentFile.write(firstLine.trimmed()); persistentFile.write(firstLine.trimmed());
writer.writeStartElement("qresource"); writer.writeStartElement("qresource");
for (QString file : modifiedList) for (const QString &file : modifiedList.value())
writer.writeTextElement("file", file.trimmed()); writer.writeTextElement("file", file.trimmed());
writer.writeEndElement(); writer.writeEndElement();
@@ -446,7 +449,11 @@ void GenerateResource::generateMenuEntry(QObject *parent)
temp.close(); temp.close();
persistentFile.close(); persistentFile.close();
QStringList modifiedList = getFileList(fileList); std::optional<QStringList> modifiedList = getFileList(fileList);
if (!modifiedList)
return;
QTemporaryFile tempFile(projectPath.toString() + "/XXXXXXX.create.modifiedresource.qrc"); QTemporaryFile tempFile(projectPath.toString() + "/XXXXXXX.create.modifiedresource.qrc");
if (!tempFile.open()) if (!tempFile.open())
@@ -459,7 +466,7 @@ void GenerateResource::generateMenuEntry(QObject *parent)
tempFile.write(firstLine.trimmed()); tempFile.write(firstLine.trimmed());
writer.writeStartElement("qresource"); writer.writeStartElement("qresource");
for (QString file : modifiedList) for (const QString &file : modifiedList.value())
writer.writeTextElement("file", file.trimmed()); writer.writeTextElement("file", file.trimmed());
writer.writeEndElement(); writer.writeEndElement();
@@ -486,4 +493,3 @@ void GenerateResource::generateMenuEntry(QObject *parent)
} }
} // namespace QmlDesigner } // namespace QmlDesigner

View File

@@ -12,7 +12,7 @@ struct ResourceFile
bool inProject; bool inProject;
}; };
void generateMenuEntry(QObject *parent); void generateMenuEntry(QObject *parent);
QStringList getFileList(const QList<ResourceFile> &); std::optional<QStringList> getFileList(const QList<ResourceFile> &);
QTableWidget* createFilesTable(const QList<ResourceFile> &); QTableWidget* createFilesTable(const QList<ResourceFile> &);
} }
} // namespace QmlDesigner } // namespace QmlDesigner