From cc0eda2ecfa8a05aa604b8688a658c2a477538b2 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Sat, 31 May 2025 22:51:33 +0200 Subject: [PATCH] QmlDesigner: Detail ItemLibraryWidget::eventFilter Change-Id: I3ed8c93f6fa30ca3930810be1a9a076a1c6dea23 Reviewed-by: Thomas Hartmann --- .../components/itemlibrary/itemlibrarywidget.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index 9b87d1aa190..b4c4a8c7371 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -82,9 +82,14 @@ bool ItemLibraryWidget::eventFilter(QObject *obj, QEvent *event) NanotraceHR::Tracer tracer{"item library widget event filter", category()}; if (event->type() == QEvent::FocusOut) { - if (obj == m_itemsWidget->quickWidget()) + tracer.tick("focus out"); + if (obj == m_itemsWidget->quickWidget()) { + tracer.tick("close context menue"); QMetaObject::invokeMethod(m_itemsWidget->rootObject(), "closeContextMenu"); + } } else if (event->type() == QMouseEvent::MouseMove) { + tracer.tick("mouse move"); + if (m_itemToDrag.isValid()) { QMouseEvent *me = static_cast(event); if ((me->globalPosition().toPoint() - m_dragStartPoint).manhattanLength() > 10) { @@ -107,6 +112,8 @@ bool ItemLibraryWidget::eventFilter(QObject *obj, QEvent *event) #endif if (m_model) { + tracer.tick("start drag"); + m_model->startDrag(m_itemLibraryModel->getMimeData(entry), ::Utils::StyleHelper::dpiSpecificImageFile( entry.libraryEntryIconPath()), @@ -115,6 +122,7 @@ bool ItemLibraryWidget::eventFilter(QObject *obj, QEvent *event) } } } else if (event->type() == QMouseEvent::MouseButtonRelease) { + tracer.tick("mouse release"); m_itemToDrag = {}; setIsDragging(false);