17#include "activefocuslogger.h"
19#include <QQuickWindow>
21ActiveFocusLogger::ActiveFocusLogger(QQuickItem *parent)
24 connect(
this, &QQuickItem::windowChanged,
25 this, &ActiveFocusLogger::setupFilterOnWindow);
28void ActiveFocusLogger::setupFilterOnWindow(QQuickWindow *window)
30 if (!m_window.isNull()) {
31 disconnect(m_window.data(),
nullptr,
this,
nullptr);
37 QObject::connect(window, &QQuickWindow::activeFocusItemChanged,
38 this, &ActiveFocusLogger::printActiveFocusInfo);
42void ActiveFocusLogger::printActiveFocusInfo()
44 if (!m_window || !isEnabled()) {
48 qDebug() <<
"============== Active focus info START ================";
49 if (m_window->activeFocusItem()) {
50 qDebug() << m_window->activeFocusItem();
51 qDebug() <<
"Ancestry:";
52 QQuickItem *item = m_window->activeFocusItem()->parentItem();
53 while (item !=
nullptr) {
54 qDebug() << item <<
", isFocusScope =" << item->isFocusScope();
55 item = item->parentItem();
60 qDebug() <<
"============== Active focus info END ================";