diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp index 17d8da5bb25..3ed096689e5 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp @@ -70,10 +70,15 @@ WidgetInfo AssetsLibraryView::widgetInfo() }); }); - connect(m_widget, &AssetsLibraryWidget::hasMaterialLibraryUpdateRequested, this, [&] () { + connect(m_widget, &AssetsLibraryWidget::hasMaterialLibraryUpdateRequested, this, [&]() { m_widget->setHasMaterialLibrary(model() && materialLibraryNode().isValid() && model()->hasImport("QtQuick3D")); }); + + connect(m_widget, &AssetsLibraryWidget::endDrag, this, [&]() { + if (model()) + model()->endDrag(); + }); } return createWidgetInfo(m_widget.data(), "Assets", WidgetInfo::LeftPane, 0, tr("Assets")); diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp index 9f9fde4992e..33abbbc5dd8 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp @@ -311,6 +311,8 @@ void AssetsLibraryWidget::handleExtFilesDrop(const QList &simpleFilePaths, if (!complexFilePathStrings.empty()) addResources(complexFilePathStrings); + + emit endDrag(); } QSet AssetsLibraryWidget::supportedAssetSuffixes(bool complex) diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h index 24be02b2e2f..f6d20dc311a 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h @@ -108,6 +108,7 @@ signals: void hasMaterialLibraryUpdateRequested(); void hasMaterialLibraryChanged(); void isDraggingChanged(); + void endDrag(); protected: bool eventFilter(QObject *obj, QEvent *event) override; diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp index 76944eeb225..2f48fc1b73a 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp @@ -267,11 +267,15 @@ void MaterialBrowserWidget::startDragTexture(int index, const QPointF &mousePos) void MaterialBrowserWidget::acceptBundleMaterialDrop() { m_materialBrowserView->emitCustomNotification("drop_bundle_material", {}, {}); // To ContentLibraryView + if (m_materialBrowserView->model()) + m_materialBrowserView->model()->endDrag(); } void MaterialBrowserWidget::acceptBundleTextureDrop() { m_materialBrowserView->emitCustomNotification("drop_bundle_texture", {}, {}); // To ContentLibraryView + if (m_materialBrowserView->model()) + m_materialBrowserView->model()->endDrag(); } void MaterialBrowserWidget::acceptTextureDropOnMaterial(int matIndex, const QString &texId)