forked from qt-creator/qt-creator
QmlDesigner: Detail ItemLibraryWidget::eventFilter
Change-Id: I3ed8c93f6fa30ca3930810be1a9a076a1c6dea23 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -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);
|
||||||
|
Reference in New Issue
Block a user