aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBurak Hancerli <burak.hancerli@qt.io>2024-02-14 10:55:00 +0100
committerThomas Hartmann <thomas.hartmann@qt.io>2024-02-14 10:24:18 +0000
commit22ef184a09adeb271721ff897ffe3d03c27bd638 (patch)
tree6034e460394850ca672749ea9853e71a7ff68936
parentea03bfea10b7c2e5dba1c6cdd8f6aa19ba7d2c59 (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.cpp22
-rw-r--r--src/plugins/qmldesigner/generateresource.h2
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