diff options
author | Bernd Weimer <bernd.weimer@qt.io> | 2024-01-05 13:45:48 +0100 |
---|---|---|
committer | Bernd Weimer <bernd.weimer@qt.io> | 2024-01-15 15:46:20 +0100 |
commit | ea0d02001674d50d5bafa905016dba4cb83f4219 (patch) | |
tree | e1ffb202144e510495d819451f0c24aa298b9f76 | |
parent | 7fcd19a58e2745a9f2af3efddfff1e182208ace2 (diff) |
Make attached ApplicationManagerWindow available
It doesn't work with foreign types (yet).
Change-Id: Ib29fb23d88feabbc38525045bcc498799d227613
Pick-to: 6.7
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
-rw-r--r-- | src/qml/qtapplicationmanager_application_p.h | 9 | ||||
-rw-r--r-- | src/shared-main-lib/applicationmanagerwindow.h | 3 | ||||
-rw-r--r-- | tests/auto/qml/simple/apps/tld.test.simple1/app1.qml | 11 |
3 files changed, 9 insertions, 14 deletions
diff --git a/src/qml/qtapplicationmanager_application_p.h b/src/qml/qtapplicationmanager_application_p.h index bc348bef..cec78d6a 100644 --- a/src/qml/qtapplicationmanager_application_p.h +++ b/src/qml/qtapplicationmanager_application_p.h @@ -22,19 +22,10 @@ class ForeignApplicationManagerWindow { Q_GADGET QML_FOREIGN(QtAM::ApplicationManagerWindow) - QML_ATTACHED(QtAM::ApplicationManagerWindowAttached) QML_NAMED_ELEMENT(ApplicationManagerWindow) QML_ADDED_IN_VERSION(2, 0) }; -class ForeignApplicationManagerWindowAttached -{ - Q_GADGET - QML_FOREIGN(QtAM::ApplicationManagerWindowAttached) - QML_ADDED_IN_VERSION(2, 7) - QML_ANONYMOUS -}; - class ForeignApplicationInterface { Q_GADGET diff --git a/src/shared-main-lib/applicationmanagerwindow.h b/src/shared-main-lib/applicationmanagerwindow.h index 64b25b10..9bfe665a 100644 --- a/src/shared-main-lib/applicationmanagerwindow.h +++ b/src/shared-main-lib/applicationmanagerwindow.h @@ -30,6 +30,7 @@ class ApplicationManagerWindow : public QObject, public QQmlParserStatus { Q_OBJECT Q_INTERFACES(QQmlParserStatus) + QML_ATTACHED(QtAM::ApplicationManagerWindowAttached) Q_PROPERTY(bool inProcess READ isInProcess CONSTANT FINAL) Q_PROPERTY(QObject *backingObject READ backingObject CONSTANT FINAL) Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL) @@ -152,6 +153,8 @@ private: class ApplicationManagerWindowAttached : public QObject { Q_OBJECT + QML_ADDED_IN_VERSION(2, 7) + QML_ANONYMOUS Q_PROPERTY(QtAM::ApplicationManagerWindow *window READ window NOTIFY windowChanged FINAL) Q_PROPERTY(QObject *backingObject READ backingObject NOTIFY backingObjectChanged FINAL) Q_PROPERTY(QWindow::Visibility visibility READ visibility NOTIFY visibilityChanged FINAL) diff --git a/tests/auto/qml/simple/apps/tld.test.simple1/app1.qml b/tests/auto/qml/simple/apps/tld.test.simple1/app1.qml index 99f398d6..1024daaa 100644 --- a/tests/auto/qml/simple/apps/tld.test.simple1/app1.qml +++ b/tests/auto/qml/simple/apps/tld.test.simple1/app1.qml @@ -3,13 +3,12 @@ // Copyright (C) 2018 Pelagicore AG // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only -import QtQuick 2.4 -import QtApplicationManager.Application 2.0 +import QtQuick +import QtApplicationManager.Application ApplicationManagerWindow { - id: root - Rectangle { + id: rect anchors.centerIn: parent width: 180; height: 180; radius: width/4 color: "red" @@ -18,7 +17,9 @@ ApplicationManagerWindow { Connections { target: ApplicationInterface function onQuit() { - target.acknowledgeQuit(); + // Casual check for attached ApplicationManagerWindow type + if (rect.ApplicationManagerWindow.window.visible) + target.acknowledgeQuit(); } } } |