summaryrefslogtreecommitdiff
path: root/src/compositor/extensions/qwaylandxdgshellintegration.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use SPDX license identifiersLucie Gérard2022-06-101-28/+2
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: I106d3a5d1a7b96250380b6f51a48f3b19d10e4d9 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 811f060c37a58580e0697d0beb34a6f91efeeb41) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtWaylandCompositor: includemocsLiang Qi2022-06-011-0/+2
| | | | | | | Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-103295 Change-Id: I2311465d5341fc5902981d80ab0a117dd2df002d Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Replace remaining LGPLv3 headers in QtWaylandCompositor with GPLv3Kai Koehne2020-10-271-17/+10
| | | | | | | | | | | | Use same header as for the rest of the module. This was forgotten in commit bb1b46a4862e0a5 Pick-to: 5.15 Change-Id: I7e61b43f0387a9affa9488566cb5aaca51b3bc0b Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Adapt to new QPointingDevice APIShawn Rutledge2020-06-261-4/+4
| | | | | | | | | | | | | | QTouchDevice has been replaced with a more general QPointingDevice. All input devices need detailed information and need to be registered via QWindowSystemInterface::registerInputDevice(). This patch is not doing that yet; it's just enough to get qtwayland to compile again. Done-With: Liang Qi <liang.qi@qt.io> Change-Id: Id3a2e475ed07294a1977004fc72b11e466acc216 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-081-2/+2
| | | | | | Task-number: QTBUG-84469 Change-Id: I4bc7b2eb2913fc828f09f96e21480b76cabf8656 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-121-4/+12
|\ | | | | | | Change-Id: If684b523436a1beec36a137c73c5c39c948f87e3
| * Compositor: Remove unused local variableJohan Klokkhammer Helsing2019-10-041-1/+0
| | | | | | | | | | | | | | | | Was shadowed in 11f2e7df5 when fixing QTBUG-78969. Task-number: QTBUG-78969 Change-Id: I933373b5233ae8b45cdab7c3ffd14a1502486ae8 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Compositor: Fix crash when trying to maximize an XdgToplevel with no outputJohan Klokkhammer Helsing2019-10-041-3/+12
| | | | | | | | | | | | Fixes: QTBUG-78969 Change-Id: I4ecde3725b5307251070e331c97d96df328a3772 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Improve QWaylandQuickShellIntegration APIPier Luigi Fiorini2019-09-051-2/+14
|/ | | | | | | | | | | During the API review we came up with an improved API. QWaylandQuickShellIntegration now filter events delivered to QWaylandQuickShellSurfaceItem using QObject event filter, thus we don't need a new API anymore. Change-Id: I91b05c4c8ecee56cd782f036160c569cd972abdb Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Compositor: Fix coordinate system inconsistenciesJohan Klokkhammer Helsing2018-11-161-8/+8
| | | | | | | | | | | | | | | | | | | | | | | Several properties were using pixel coordinates and surface coordinates without converting. [ChangeLog][Compositor] QWaylandSurface::destinationSize has been added which returns the size of the surface that will be displayed on the screen in surface coordinates. [ChangeLog][Compositor] Fixed a bug where QWaylandSurface::inputRegionContains would return true for some points outside surfaces with buffer scale > 1. [ChangeLog][Compositor] Fixed a bug which caused ShellSurfaceItems for surfaces with buffer scale > 1 to move too much when resizing interactively. It also gets rid of all calls to QWaylandSurface::size, which confusingly returns the size of the surface's buffer in pixel coordinates. Most properties now use destionationSize's surface coordinates consistently. Hopefully, QWaylandSurface::size can be renamed or removed in Qt 6. Change-Id: I007256a8df7759cf74fbfd51624fa1f90c083336 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Fix popup positions on screens when DPR != 1Johan Klokkhammer Helsing2018-09-241-3/+3
| | | | | | | | | | | | | | [ChangeLog][Compositor] Fixed a bug where xdg-shell popups were misplaced when devicePixelRatio was not 1. The fix is to use the more robust QWaylandQuickItem::mapFromSurface instead. Also made wl-shell use mapFromSurface, although it already accounted for devicePixelRatio. Fixes: QTBUG-70662 Change-Id: I8be3ea76d6bcfd6d6974d532d160c20e44499382 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Fix resize grab release for xdg-shell stableJohan Klokkhammer Helsing2018-08-271-1/+1
| | | | | | | This is the same bug as QTBUG-70126, but for the stable version. Change-Id: I8cad104d6ebc980835c47d455968b2b9e63c6169 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor API: Add xdg-shell stableJohan Klokkhammer Helsing2018-08-151-0/+300
| | | | | | | | | | | | | | | [ChangeLog][Compositor API] Added APIs for xdg-shell stable. Code copied from the V6 implementation with suffixes and prefixes removed. Otherwise a few minor edits, such as renaming xdg_shell to xdg_wm_base, and handling the anchor and gravity edges no longer being bitfields. Examples that used v6 have been updated to use stable instead, or, in some cases, to support both. Task-number: QTBUG-66784 Change-Id: Ia619b478a938fdcd9b47af8a8df2d7fcc4406204 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Rename the QWaylandXdg* classes to QWaylandXdg*V5Giulio Camuffo2016-09-051-195/+0
| | | | | | | | This frees the QWaylandXdg name for the hopefully coming stable version of xdg-shell. Change-Id: I9beb9b035c6497fb45bee5c9104485b564ca0619 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Compositor API: rename QWaylandInputDevice to QWaylandSeatJohan Klokkhammer Helsing2016-08-111-7/+7
| | | | | | | | | | | | The name QWaylandInputDevice could be confusing and misleading: - A QWaylandInputDevice was not one input device, but a collection of many. - Classes that sounded like they should inherit from it did not, i.e: QWaylandKeyboard, QWaylandPointer and QWaylandTouch. - The Wayland protocol already has another term for this, which is seat. Change-Id: I9d9690d5b378075d9dddaeb8cf18395c7f47603e Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Rename sendUnMaximized to sendUnmaximizedJohan Klokkhammer Helsing2016-07-121-2/+2
| | | | | Change-Id: I20add5c8b12e1345ce50c009d8bae80fde9806e1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: always use move item when positioning shell surfacesPier Luigi Fiorini2016-07-011-6/+6
| | | | | | | Change-Id: I770829cd4dbc2b6669abfde6f21c1967357cc562 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: maximize on the output where the item is renderedPier Luigi Fiorini2016-07-011-2/+2
| | | | | | | Change-Id: I2ab66ee3185322674c5f9fa580659807aa6731ae Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: consider available geometry when maximizingPier Luigi Fiorini2016-07-011-2/+2
| | | | | | | | | | Take into account only the portion of output that the compositor makes available to applications. Change-Id: Ibe6b1fd94722b42d99ddf133c84d0924461d29f9 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-301-4/+3
|\ | | | | | | | | | | | | Conflicts: src/compositor/extensions/qwaylandxdgshellintegration.cpp Change-Id: I3e8666d0c2fd047f12daeb94b2c967c646576ed9
| * xdg_shell: Send unmaximize configure events with zero width and heightJohan Klokkhammer Helsing2016-06-211-4/+3
| | | | | | | | | | | | | | | | | | | | This is what Weston does. It also fixes an issue where clicking and releasing the window border without moving the mouse would result in an incorrect size being sent in the configure event (because resizeState is initialized in the move handler, which may not have been called). Change-Id: Ib2a544c39cf74a210ac8fafe3624d9169ea06b4c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Use mapToSurface instead of dividing by scaleFactorJohan Klokkhammer Helsing2016-06-201-2/+1
| | | | | | | | | | Change-Id: I73f2f71524b24144b0a6470b3437970f4767c17b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* | Add QML popup support for xdg_shellJohan Klokkhammer Helsing2016-06-151-0/+24
| | | | | | | | | | Change-Id: I5b35ff3b1c6c2dc884b52e6f077c0f2bb2db68a2 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* | Rename xdg surface request<state> methods send<state>Johan Klokkhammer Helsing2016-05-311-4/+4
|/ | | | | | | | It could be confusing to have methods that cause Wayland events to be named request*. Change-Id: I6567f9e8fd9370e574516e97cd49858e2bf34829 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* Compile with a namespaced buildPaul Olav Tvete2016-05-251-0/+4
| | | | | | | Change-Id: I839b3bc2f4fbf67bd381bd82fdaf19f7eb096454 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Create a general ShellSurfaceItem to avoid duplicationJohan Klokkhammer Helsing2016-05-201-0/+169
XdgSurfaceItem and WlShellSurfaceItem have been removed in favor of the more general ShellSurfaceItem. An XdgSurface or a WlShellSurface can be assigned to the shellSurface property of a ShellSurfaceItem and leaves open the possibility for additional shells. A shared base class for QWaylandXdgSurface and QWaylandWlShellSurface has been added which has a factory method for creating a QWaylandQuickShellIntegration for that shell implementation. The property "shellSurface" on the ShellSurfaceItem allows QML code to attach to signals regardless of whether it's a WlShell or XdgShell client. The pure-qml example has been updated to take advantage of this. Change-Id: I9d3427586e100d6c44a24f319dd8e1486ff062ee Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>