diff options
author | Burak Hancerli <burak.hancerli@qt.io> | 2024-02-14 10:55:00 +0100 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2024-02-14 10:24:18 +0000 |
commit | 22ef184a09adeb271721ff897ffe3d03c27bd638 (patch) | |
tree | 6034e460394850ca672749ea9853e71a7ff68936 | |
parent | ea03bfea10b7c2e5dba1c6cdd8f6aa19ba7d2c59 (diff) |
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>
-rw-r--r-- | src/plugins/qmldesigner/generateresource.cpp | 22 | ||||
-rw-r--r-- | src/plugins/qmldesigner/generateresource.h | 2 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/plugins/qmldesigner/generateresource.cpp b/src/plugins/qmldesigner/generateresource.cpp index 63370a82f1..f9e43084f8 100644 --- a/src/plugins/qmldesigner/generateresource.cpp +++ b/src/plugins/qmldesigner/generateresource.cpp @@ -77,9 +77,9 @@ QTableWidget* GenerateResource::createFilesTable(const QList<ResourceFile> &file 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()); dialog->setMinimumWidth(480); dialog->setMinimumHeight(640); @@ -118,7 +118,7 @@ QStringList GenerateResource::getFileList(const QList<ResourceFile> &fileNames) } } - result = fileList; + result.emplace(fileList); }); dialog->exec(); @@ -311,7 +311,10 @@ void GenerateResource::generateMenuEntry(QObject *parent) temp.close(); - QStringList modifiedList = getFileList(fileList); + std::optional<QStringList> modifiedList = getFileList(fileList); + + if (!modifiedList) + return; if (!persistentFile.open(QIODevice::ReadWrite | QIODevice::Truncate)) return; @@ -323,7 +326,7 @@ void GenerateResource::generateMenuEntry(QObject *parent) persistentFile.write(firstLine.trimmed()); writer.writeStartElement("qresource"); - for (QString file : modifiedList) + for (const QString &file : modifiedList.value()) writer.writeTextElement("file", file.trimmed()); writer.writeEndElement(); @@ -446,7 +449,11 @@ void GenerateResource::generateMenuEntry(QObject *parent) temp.close(); persistentFile.close(); - QStringList modifiedList = getFileList(fileList); + std::optional<QStringList> modifiedList = getFileList(fileList); + + if (!modifiedList) + return; + QTemporaryFile tempFile(projectPath.toString() + "/XXXXXXX.create.modifiedresource.qrc"); if (!tempFile.open()) @@ -459,7 +466,7 @@ void GenerateResource::generateMenuEntry(QObject *parent) tempFile.write(firstLine.trimmed()); writer.writeStartElement("qresource"); - for (QString file : modifiedList) + for (const QString &file : modifiedList.value()) writer.writeTextElement("file", file.trimmed()); writer.writeEndElement(); @@ -486,4 +493,3 @@ void GenerateResource::generateMenuEntry(QObject *parent) } } // namespace QmlDesigner - diff --git a/src/plugins/qmldesigner/generateresource.h b/src/plugins/qmldesigner/generateresource.h index 029283f7ef..cc0c0147a9 100644 --- a/src/plugins/qmldesigner/generateresource.h +++ b/src/plugins/qmldesigner/generateresource.h @@ -12,7 +12,7 @@ struct ResourceFile bool inProject; }; void generateMenuEntry(QObject *parent); - QStringList getFileList(const QList<ResourceFile> &); + std::optional<QStringList> getFileList(const QList<ResourceFile> &); QTableWidget* createFilesTable(const QList<ResourceFile> &); } } // namespace QmlDesigner |