summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmwindowstack.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Support always on top/bottom window flags on WASMMikolaj Boc2023-02-221-31/+111
| | | | | | | | | | | | | | | | | | 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>
* Fix typo in QWasmWindowStack's nameMikolaj Boc2022-10-201-17/+17
| | | | | | | 'Wasm' in it is duplicated. Change-Id: Ie00e02fb7ae4d9e13f490ce2d46a4eabf3f5710c Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Fix QWasmWindowStack::topWindow when the stack is emptyMikolaj Boc2022-09-121-1/+1
| | | | | | | | | | | The method should by contract return nullptr when the stack is empty, but it crashes in this case. Also, unit-test the case. Pick-to: 6.4 Change-Id: If64b71e761efd9a5cd5af407cd68cba7f8dbc8e2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Resolve window focusing problems on WASMMikolaj Boc2022-08-241-4/+4
| | | | | | | | | | | | - 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/+123
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>