QmlDesigner: Detail ItemLibraryWidget::eventFilter

Change-Id: I3ed8c93f6fa30ca3930810be1a9a076a1c6dea23
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Marco Bubke
2025-05-31 22:51:33 +02:00
parent b876209215
commit cc0eda2ecf

View File

@@ -82,9 +82,14 @@ bool ItemLibraryWidget::eventFilter(QObject *obj, QEvent *event)
NanotraceHR::Tracer tracer{"item library widget event filter", category()}; NanotraceHR::Tracer tracer{"item library widget event filter", category()};
if (event->type() == QEvent::FocusOut) { 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"); QMetaObject::invokeMethod(m_itemsWidget->rootObject(), "closeContextMenu");
}
} else if (event->type() == QMouseEvent::MouseMove) { } else if (event->type() == QMouseEvent::MouseMove) {
tracer.tick("mouse move");
if (m_itemToDrag.isValid()) { if (m_itemToDrag.isValid()) {
QMouseEvent *me = static_cast<QMouseEvent *>(event); QMouseEvent *me = static_cast<QMouseEvent *>(event);
if ((me->globalPosition().toPoint() - m_dragStartPoint).manhattanLength() > 10) { if ((me->globalPosition().toPoint() - m_dragStartPoint).manhattanLength() > 10) {
@@ -107,6 +112,8 @@ bool ItemLibraryWidget::eventFilter(QObject *obj, QEvent *event)
#endif #endif
if (m_model) { if (m_model) {
tracer.tick("start drag");
m_model->startDrag(m_itemLibraryModel->getMimeData(entry), m_model->startDrag(m_itemLibraryModel->getMimeData(entry),
::Utils::StyleHelper::dpiSpecificImageFile( ::Utils::StyleHelper::dpiSpecificImageFile(
entry.libraryEntryIconPath()), entry.libraryEntryIconPath()),
@@ -115,6 +122,7 @@ bool ItemLibraryWidget::eventFilter(QObject *obj, QEvent *event)
} }
} }
} else if (event->type() == QMouseEvent::MouseButtonRelease) { } else if (event->type() == QMouseEvent::MouseButtonRelease) {
tracer.tick("mouse release");
m_itemToDrag = {}; m_itemToDrag = {};
setIsDragging(false); setIsDragging(false);