diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-09-10 15:27:58 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-09-24 15:21:04 +0200 |
commit | 5b21f8529ebc8e3e66ec6d057734f90b10bb7657 (patch) | |
tree | fba57d3dc202399571a1a3ee2ca2d3e21357a987 /src/quick/items/qquickwindowmodule.cpp | |
parent | c2706491906c053f5d38ddc0558a993bbf7cfd3e (diff) |
move QQuickWindowAttached to QQuickWindowQmlImpl
It causes problems to do qmlRegisterType on QQuickWindow if the
attached property also refers to QQuickWindow.
Task-number: QTBUG-40816
Task-number: QTBUG-41047
Change-Id: I7a6f75af52f65e2be022b97128702982bec7cbe8
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'src/quick/items/qquickwindowmodule.cpp')
-rw-r--r-- | src/quick/items/qquickwindowmodule.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/quick/items/qquickwindowmodule.cpp b/src/quick/items/qquickwindowmodule.cpp index b0c99782f2..371abd163b 100644 --- a/src/quick/items/qquickwindowmodule.cpp +++ b/src/quick/items/qquickwindowmodule.cpp @@ -79,6 +79,11 @@ public: QQuickWindow::setVisibility(visibility); } + static QQuickWindowAttached *qmlAttachedProperties(QObject *object) + { + return new QQuickWindowAttached(object); + } + Q_SIGNALS: void visibleChanged(bool arg); void visibilityChanged(QWindow::Visibility visibility); @@ -166,16 +171,13 @@ void QQuickWindowModule::defineModule() { const char uri[] = "QtQuick.Window"; - // Since Window is both an attached property and a createable type, - // the attached property declaration must come first so that it can - // be overridden below. - qmlRegisterUncreatableType<QQuickWindow>(uri, 2, 2, "Window", QQuickWindow::tr("Window is available via attached properties")); qmlRegisterType<QQuickWindow>(uri, 2, 0, "Window"); qmlRegisterRevision<QWindow,1>(uri, 2, 1); qmlRegisterRevision<QWindow,2>(uri, 2, 2); qmlRegisterRevision<QQuickWindow,1>(uri, 2, 1);//Type moved to a subclass, but also has new members qmlRegisterRevision<QQuickWindow,2>(uri, 2, 2); qmlRegisterType<QQuickWindowQmlImpl>(uri, 2, 1, "Window"); + qmlRegisterType<QQuickWindowQmlImpl,1>(uri, 2, 2, "Window"); qmlRegisterUncreatableType<QQuickScreen>(uri, 2, 0, "Screen", QStringLiteral("Screen can only be used via the attached property.")); } @@ -183,3 +185,4 @@ void QQuickWindowModule::defineModule() QT_END_NAMESPACE +QML_DECLARE_TYPEINFO(QQuickWindowQmlImpl, QML_HAS_ATTACHED_PROPERTIES) |