diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index bf8440c..c59a039 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -1613,6 +1613,7 @@ void QGuiApplicationPrivate::processLeaveEvent(QWindowSystemInterfacePrivate::Le void QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate::ActivatedWindowEvent *e) { + qDebug() << __FUNCTION__ << e->activated.data(); QWindow *previous = QGuiApplicationPrivate::focus_window; QWindow *newFocus = e->activated.data(); diff --git a/src/widgets/graphicsview/qgraphicsitem.cpp b/src/widgets/graphicsview/qgraphicsitem.cpp index 1c15905..47ca830 100644 --- a/src/widgets/graphicsview/qgraphicsitem.cpp +++ b/src/widgets/graphicsview/qgraphicsitem.cpp @@ -736,6 +736,7 @@ #include #include #include +#include #include #include #include @@ -3210,8 +3211,10 @@ void QGraphicsItem::setActive(bool active) */ bool QGraphicsItem::hasFocus() const { + qDebug() << __FUNCTION__ << "Scene Active" << d_ptr->scene->isActive(); if (!d_ptr->scene || !d_ptr->scene->isActive()) return false; + qDebug() << __FUNCTION__ << "Scene item" << d_ptr->scene->d_func()->focusItem; if (d_ptr->focusProxy) return d_ptr->focusProxy->hasFocus(); diff --git a/src/widgets/graphicsview/qgraphicsscene.cpp b/src/widgets/graphicsview/qgraphicsscene.cpp index 394c24d..679145f 100644 --- a/src/widgets/graphicsview/qgraphicsscene.cpp +++ b/src/widgets/graphicsview/qgraphicsscene.cpp @@ -2909,6 +2909,8 @@ void QGraphicsScene::removeItem(QGraphicsItem *item) QGraphicsItem *QGraphicsScene::focusItem() const { Q_D(const QGraphicsScene); + qDebug() << __FUNCTION__ << "active" << isActive() << + "Active item" << d->focusItem << "passive item" << d->passiveFocusItem; return isActive() ? d->focusItem : d->passiveFocusItem; } @@ -2930,6 +2932,7 @@ QGraphicsItem *QGraphicsScene::focusItem() const */ void QGraphicsScene::setFocusItem(QGraphicsItem *item, Qt::FocusReason focusReason) { + qDebug() << __FUNCTION__ << "isActive" << isActive() << item << focusReason; Q_D(QGraphicsScene); if (item) item->setFocus(focusReason); @@ -3399,6 +3402,7 @@ bool QGraphicsScene::event(QEvent *event) inputMethodEvent(static_cast(event)); break; case QEvent::WindowActivate: + qDebug() << __FUNCTION__ << "activation"; if (!d->activationRefCount++) { if (d->lastActivePanel) { // Activate the last panel. diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp index 18dd315..fcd7420 100644 --- a/src/widgets/kernel/qwidgetwindow.cpp +++ b/src/widgets/kernel/qwidgetwindow.cpp @@ -231,6 +231,10 @@ bool QWidgetWindow::event(QEvent *event) case QEvent::Hide: return QWindow::event(event); + case QEvent::WindowActivate: + qDebug() << __FUNCTION__ << "activate"; + break; + default: break; }