summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernd Weimer <bernd.weimer@qt.io>2024-01-05 13:45:48 +0100
committerBernd Weimer <bernd.weimer@qt.io>2024-01-15 15:46:20 +0100
commitea0d02001674d50d5bafa905016dba4cb83f4219 (patch)
treee1ffb202144e510495d819451f0c24aa298b9f76
parent7fcd19a58e2745a9f2af3efddfff1e182208ace2 (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.h9
-rw-r--r--src/shared-main-lib/applicationmanagerwindow.h3
-rw-r--r--tests/auto/qml/simple/apps/tld.test.simple1/app1.qml11
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();
}
}
}