Commit Graph

10 Commits

Author SHA1 Message Date
Tim Blechmann 8632811546 tests: silence cmake warnings
Configuring the project emits cmake warnings about QTP0004 not set. This
patch allows configuration without warnings.

Pick-to: 6.8 6.9
Change-Id: I51a7fe49769eacf17357fd8227eaca232704af47
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2025-01-02 13:00:49 +00:00
Tim Blechmann 360b80a826 tests: rename windowembedding to windowembedding_test
A target of the same name can be found in qtdoc/examples/demos. This
causes a name clash when the root cmake project is configured with
examples and manual tests enabled.

Pick-to: 6.8 6.9
Change-Id: I9d461d51b7bd37b8ecba826b2bac250e0b0e5366
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-12-16 16:26:12 +08:00
Tor Arne Vestbø 775b05fe16 WindowContainer: Handle item scale set as initial property
Pick-to: 6.7 6.8
Change-Id: Ib39d1e79929247ac00e0855e9abab1bab7478e39
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2024-07-01 16:33:02 +02:00
Tor Arne Vestbø 365cb95a75 Remove the Window.parent and Window.z properties
Parenting a Window directly into another Window or an Item had some
subtle failure cases due to the way we hook into the Window and let
the window container item control its positioning.

The child item order of individual window containers were also
wrong, causing problems for focus handling.

Until we've solved these issues we remove (build out) the APIs
on Window. The explicit WindowContainer item is still available,
which doesn't have any of these issues.

The machinery has been left in, so we can easily test and
continue working on this, without exposing it to QML by
default.

[ChangeLog][QtQuick] The Window.parent and Window.z properties
added as tech preview in Qt 6.7 have been removed due to known
failure scenarios that are still being investigated. To embed
a Window, use the explicit WindowContainer item, which does
not have any of the known issues.

Task-number: QTBUG-124756
Task-number: QTBUG-122415
Change-Id: I18667f254e398577d11d136a0a0b117cc5a9145b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-06-11 12:52:33 +02:00
Tor Arne Vestbø 7d7798eb6f windowembedding: Update project to use deployment script
Change-Id: I5308fef4b50c5971f65fc6087dadde8c05f5a685
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-04-29 14:05:01 +02:00
Lucie Gérard 9c5fc88388 Correct license for test files
According to QUIP-18 [1], all test files should be
LicenseRef-Qt-Commercial OR GPL-3.0-only

[1]: https://contribute.qt-project.org/quips/18

Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I26d72e8de04d4c7c57b3b7838af5d033265de5ba
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-02-27 10:32:21 +01:00
Tor Arne Vestbø 811b3c7cfa windowembedding: Add testcase for HDR video in child window
Pick-to: 6.7
Change-Id: Ib4c3b2149fd1f255f439c0b31249a66dde3405de
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-01-25 18:35:05 +01:00
Tor Arne Vestbø 962eb7207d windowembedding: Remove workaround for wrongly placed qmldir file
Pick-to: 6.7
Change-Id: Ica6ef6efc4ebb668932d6dfb50425e28cd31231c
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-01-20 11:51:03 +01:00
Tor Arne Vestbø 061891ffe2 windowembedding example: Disable signing via target property
Using the global CMake variable doesn't work as expected.

For iOS we keep signing, as it's required, and the issue with
the qmldir file doesn't appear because the iOS build is static.

Task-number: QTBUG-120479
Pick-to: 6.7
Change-Id: Icc876cd0717636301f2b10e6c00d79b4fc1c858c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2024-01-09 21:01:16 +01:00
Tor Arne Vestbø 27071a0a32 Add preliminary support for embedding QWindows into Qt Quick
The new WindowContainer item allows embedding arbitrary windows
into the Qt Quick scene, including foreign windows such as native
map or web views.

A new parent property is also added to Window, allowing these
to be embedded inside other Items without the need for an
explicit window container, along with a new z property, allowing
modifications to the child Window's stacking order.

Splitting the Quick document up into child windows allows
interesting use-cases, such as setting a different surface
format on the child window, for example for enabling HDR
without affecting the rest of the UI.

The embedded windows are managed as a child windows of the root
QQuickWindow, with positioning, sizing, and stacking order
reflecting the implicit or explicit window container item.
Clipping is also supported, by setting a mask on the
embedded window.

The advantage of managing all embedded windows as as children
of the root window is that we always have a QQuickWindow to
handle the stacking order, we're not limited by the platform
surface clip, and don't risk being interleaved behind native
parts of the window we embed into that we don’t control.

[ChangeLog[Quick] Preliminary support for embedding QWindows
into the Qt Quick scene has been added, along with a parent
property on Window, to allow setting a visual parent of the
Window.

Task-number: QTBUG-102835
Change-Id: I78b973e2685fb0ebbc850a110712f3e747bfe09a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2023-12-08 13:22:34 +01:00