diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp index e08f4175776..48e7f2aadba 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp @@ -288,15 +288,16 @@ void AssetsLibraryWidget::handleExtFilesDrop(const QList &simpleFilePaths, auto toLocalFile = [](const QUrl &url) { return url.toLocalFile(); }; QStringList simpleFilePathStrings = Utils::transform(simpleFilePaths, toLocalFile); - QStringList complexFilePathStrings = Utils::transform(complexFilePaths, - toLocalFile); + QStringList complexFilePathStrings = Utils::transform(complexFilePaths, toLocalFile); if (!simpleFilePathStrings.isEmpty()) { if (targetDirPath.isEmpty()) { addResources(simpleFilePathStrings); } else { + bool isDropOnRoot = m_assetsModel->rootPath() == targetDirPath; AddFilesResult result = ModelNodeOperations::addFilesToProject(simpleFilePathStrings, - targetDirPath); + targetDirPath, + isDropOnRoot); if (result.status() == AddFilesResult::Failed) { Core::AsynchronousMessageBox::warning(tr("Failed to Add Files"), tr("Could not add %1 to project.") @@ -432,7 +433,7 @@ static QHash allImageFormats() return imageFormats; } -void AssetsLibraryWidget::addResources(const QStringList &files) +void AssetsLibraryWidget::addResources(const QStringList &files, bool showDialog) { clearSearchFilter(); @@ -506,7 +507,7 @@ void AssetsLibraryWidget::addResources(const QStringList &files) QmlDesignerPlugin::emitUsageStatistics(Constants::EVENT_RESOURCE_IMPORTED + category); if (operation) { AddFilesResult result = operation(fileNames, - document->fileName().parentDir().toString(), true); + document->fileName().parentDir().toString(), showDialog); if (result.status() == AddFilesResult::Failed) { Core::AsynchronousMessageBox::warning(tr("Failed to Add Files"), tr("Could not add %1 to project.") diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h index 979b4bf3fd6..d4161213a04 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h @@ -112,7 +112,7 @@ protected: private: void reloadQmlSource(); - void addResources(const QStringList &files); + void addResources(const QStringList &files, bool showDialog = true); void updateSearch(); void setIsDragging(bool val);