summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmwindowstack.h
Commit message (Collapse)AuthorAgeFilesLines
* wasm: Fix stacking order problem for transient parent windowsEven Oscar Andersen2025-05-261-18/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows with a transient parent does not reflect the relationship in the stacking order. Essentially AboveTransientParent is missing as a configuration choice. What makes this slightly convoluted is that the window stack does not depend on the window (for testability). We solve this problem by making the stack and treenode templates, and provide test class as arguments when testing. QWasmWindow and QWasmScreen are not templated as before. There is also a new order type StayAboveTransientParent. Which means that we can no longer use order type to get to the group location (Since StayAboveTransientParent can map to either of the three types). The window stack tests have been updated to handle the StayAboveTransientParent type. Finally, we do not do anything with a normal parent child relationship as this should already work correctly. Fixes: QTBUG-131699 Change-Id: Ie08e18f9e0a2339175c4a09da0a831f031df71e1 Reviewed-by: Lorn Potter <lorn.potter@qt.io>
* Support always on top/bottom window flags on WASMMikolaj Boc2023-02-221-9/+14
| | | | | | | | | | | | | | | | | | The window stack will now upkeep three groups of windows, always on bottom (1), regular (2), always on top (3). Windows belonging to (3) will always appear on top of (2) and (1), and windows from (2) will always appear on top of (1). The first window created in the application gets the (1) status, which is in line with the root window mechanism used before. Activation has now been decoupled from the top position on the window stack as a window in (1) or (2) may be active, in spite of the top window belonging to a higher group. Fixes: QTBUG-110098 Change-Id: I51f4d2d47163fab26ce5ef28f7a4f23a522c7f91 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: move Q_AUTOTEST_EXPORT to correct locationMorten Sørvig2023-01-091-1/+1
| | | | | | | Should be placed between "class" and the class name. Change-Id: I418cdc2b200bf7b5147d4b4278f3d0b77786710d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix typo in QWasmWindowStack's nameMikolaj Boc2022-10-201-3/+3
| | | | | | | 'Wasm' in it is duplicated. Change-Id: Ie00e02fb7ae4d9e13f490ce2d46a4eabf3f5710c Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Resolve window focusing problems on WASMMikolaj Boc2022-08-241-1/+1
| | | | | | | | | | | | - Moved the modal window resolution to QWasmWindow::requestActivateWindow so that multiple async activation events are not issued in unpredictable patterns. - Request activation on added windows and on stack top in case of window removal Pick-to: 6.4 Change-Id: I6f02cf1b7e83abb7961caf311ffc83e91c8bf810 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Maintain the window z-order properly in wasm compositorMikolaj Boc2022-08-161-0/+70
The old stack structure used to keep track of windows has been improved to conform to the actual windowing assumptions: there shall be one root window, which is always at the bottom. The first created window immediately becomes the root window. Should the root window be removed, all windows are non-root, i.e. any of them can become the top-level window Fixes: QTBUG-105094 Pick-to: 6.4 Change-Id: Ic553244fa9f5bc3ee590b702935e66cfc62d5f8f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>