From 48bfe882e030f1037da943f814135e0898f33eaf Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Wed, 12 Aug 2020 11:56:09 +0200 Subject: [PATCH] AssetExport: Export the metadata oustside the project directory Name the metadata file after the project being exported Task-number: QDS-2612 Change-Id: Ia073f6969708f2ed89552dfc7a38305563e2bef2 Reviewed-by: Thomas Hartmann --- .../qmldesigner/assetexporterplugin/assetexporter.cpp | 7 ++++++- .../assetexporterplugin/assetexporterplugin.cpp | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp b/src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp index 1ea1e09e923..b975c228e67 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp @@ -32,6 +32,8 @@ #include "utils/qtcassert.h" #include "utils/runextensions.h" #include "variantproperty.h" +#include "projectexplorer/session.h" +#include "projectexplorer/project.h" #include #include @@ -239,7 +241,10 @@ void AssetExporter::writeMetadata() const return; } - Utils::FilePath metadataPath = m_exportPath.pathAppended(m_exportPath.fileName() + ".metadata"); + auto const startupProject = ProjectExplorer::SessionManager::startupProject(); + QTC_ASSERT(startupProject, return); + const QString projectName = startupProject->displayName(); + Utils::FilePath metadataPath = m_exportPath.pathAppended(projectName + ".metadata"); ExportNotification::addInfo(tr("Writing metadata to file %1."). arg(metadataPath.toUserOutput())); makeParentPath(metadataPath); diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp index e45e48ca0db..5c42411443e 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp @@ -95,8 +95,10 @@ void AssetExporterPlugin::onExport() return; FilePathModel model(startupProject); - QString exportDirName = startupProject->displayName() + "_export"; - auto exportDir = startupProject->projectFilePath().parentDir().pathAppended(exportDirName); + auto exportDir = startupProject->projectFilePath().parentDir(); + if (!exportDir.parentDir().isEmpty()) + exportDir = exportDir.parentDir(); + exportDir = exportDir.pathAppended(startupProject->displayName() + "_export"); AssetExporter assetExporter(m_view, startupProject); AssetExportDialog assetExporterDialog(exportDir, assetExporter, model); assetExporterDialog.exec();