13QQuickWindowAttached::QQuickWindowAttached(QObject* attachee)
17 m_attachee = qobject_cast<QQuickItem*>(attachee);
20 <<
"Window.window does only support types deriving from Item";
23 if (m_attachee->window())
24 windowChange(m_attachee->window());
25 connect(m_attachee, &QQuickItem::windowChanged,
this, &QQuickWindowAttached::windowChange);
63void QQuickWindowAttached::windowChange(QQuickWindow *window)
65 if (window != m_window) {
66 QQuickWindow* oldWindow = m_window;
70 oldWindow->disconnect(
this);
74 if (!oldWindow || !window || window->visibility() != oldWindow->visibility())
75 emit visibilityChanged();
76 if (!oldWindow || !window || window->isActive() != oldWindow->isActive())
78 if (!oldWindow || !window || window->activeFocusItem() != oldWindow->activeFocusItem())
79 emit activeFocusItemChanged();
80 emit contentItemChanged();
81 if (!oldWindow || !window || window->width() != oldWindow->width())
83 if (!oldWindow || !window || window->height() != oldWindow->height())
95 connect(window, &QQuickWindow::visibilityChanged,
96 this, &QQuickWindowAttached::visibilityChanged);
97 connect(window, &QQuickWindow::activeChanged,
98 this, &QQuickWindowAttached::activeChanged);
99 connect(window, &QQuickWindow::activeFocusItemChanged,
100 this, &QQuickWindowAttached::activeFocusItemChanged);
101 connect(window, &QQuickWindow::widthChanged,
102 this, &QQuickWindowAttached::widthChanged);
103 connect(window, &QQuickWindow::heightChanged,
104 this, &QQuickWindowAttached::heightChanged);