summaryrefslogtreecommitdiffstats
path: root/src/imports
Commit message (Collapse)AuthorAgeFilesLines
* Add deprecated support for wl_scalerJohan Klokkhammer Helsing2019-01-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] Add deprecated support for the deprecated wl_scaler. Some clients are stuck on the unofficial Weston protocol wl_scaler instead of the standardized and stable wp_viewporter. This implements optional support for wl_scaler. This patch has been written to be easily removable in Qt 6, and touches a minimal amount of other code. The implementation can be tested using the new manual test compositor: tests/manual/wlscaler. Weston 1.11.1 has a demo client named weston-resizor, which can be used to test. Note that although newer versions of Weston also have weston-resizor, those versions use wp_viewporter instead of wl_scaler, so you really need 1.11.1 or earlier to test. Fixes: QTBUG-69635 Change-Id: Id572e28044cd764eaf63b1259a92bc589711c39d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Update plugins.qmltypesv5.12.0-beta1Kai Koehne2018-10-012-10/+473
| | | | | | Task-number: QTBUG-70264 Change-Id: Idd4c6b2b7bb032241555a08e2b3e420b1312aa35 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Compositor: Remove WaylandCursorItem.scaleCorrectionJohan Klokkhammer Helsing2018-10-011-5/+4
| | | | | | | It's an implementation detail, so shouldn't be exposed as a property. Change-Id: Ib0a5b7dd92403cf45e1067710d1aad330a7a340f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Fix incorrect hotspot when output.scaleFactor != dprJohan Klokkhammer Helsing2018-08-311-1/+8
| | | | | | | | | This makes WaylandCursorItem automatically move the cursor hotspot when the scale factor or dpr changes Task-number: QTBUG-70134 Change-Id: I146ad81e92fe708a6141271ea173bf053b5e05c8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Fix assignment to null object in WaylandCursorItemJohan Klokkhammer Helsing2018-08-291-10/+7
| | | | | | | | | | setCursor would sometimes be called on null objects causing a JavaScript error. Use Connections instead which will disconnect the signal automatically if either side is destroyed or in case seat is reassigned. Change-Id: I70686937b510ab516f27f1e61b2f2a921e74f4b3 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix incompatibility between QML and C++ instantiated objectsJohan Klokkhammer Helsing2018-08-291-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a source incompatibility introduced in 9ebba7c3a. In Qt 5.11 it was possible to have the following code: XdgShellV6 { property XdgToplevelV6 top onToplevelCreated: top = toplevel } After, 9ebba7c3a, however, this would fail because XdgToplevel refers to QWaylandXdgToplevelV6ParentClass, while QWaylandXdgShellV6::toplevelCreated emits a QWaylandXdgToplevelV6. It would also break instanceof, i.e.: onToplevelCreated: console.log(toplevel instanceof XdgToplevelV6) This patch reverts to C++ and QML using the same type (no subclassing for QML types), but still lets the items have children in QML by putting the macro inside each class instead. Task-number: QTBUG-70090 Change-Id: I8efa8f68ebc4dc2289b4a9b96402b0c00d45547d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor API: Add xdg-decoration unstable v1 supportJohan Klokkhammer Helsing2018-08-171-0/+4
| | | | | | | | And add an example with server-side window decorations. Task-number: QTBUG-69934 Change-Id: Ic3984b50cf7574cae5135dea51eb4b1c80bb45a7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor API: Add xdg-shell stableJohan Klokkhammer Helsing2018-08-151-0/+8
| | | | | | | | | | | | | | | [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>
* Macro for QML items with data property boilerplatePier Luigi Fiorini2018-06-231-8/+16
| | | | | | | | | This macro gives items the ability to hold children. Use the new macro on various types to let compositors declare children from QML. Change-Id: I291cc69fc11653bc3d677d148e002330a3245173 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use override when applicableJohan Klokkhammer Helsing2018-02-281-1/+1
| | | | | | | | | | Applied automatic fixes using clang-tidy's modernize-use-override. This adds the "override" keyword where it's possible and also removes the "virtual" keyword when redundant. Change-Id: I899950e5cf8782785d30a245a9c69c1720905d50 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Init variables where they are declared when possible (clang-tidy)Johan Klokkhammer Helsing2018-02-271-4/+2
| | | | | | | | | | | | | | | | | | | | clang-tidy -p compile_commands.json $file \ -checks='-*,modernize-use-default-member-init,readability-redundant-member-init' \ -config='{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: "1"}]}' \ -header-filter='qtwayland' \ -fix Afterwards I ran search and replace on the diff to clean up some whitespace errors: - Replaced '(\n\+[^:\n]*)(:\s+\+\s+)' with '$1: ' - Replaced '(\n\+[^,\n]*)(,\s+\+\s+)' with '$1, ' - Replaced '\n\+\s*\n' with '\n' I also had to do some manual edits, because for some reason, this particular clang-tidy check doesn't trigger for some files. Change-Id: I3b3909bac4bf20108bbe8ad1e01bcc54236dae1b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Use nullptr instead of 0 or NULLJohan Klokkhammer Helsing2018-02-201-1/+1
| | | | | | | | Applied automatic fixes using clang-tidy's modernize-use-nullptr, and some manual cleanup to prevent QFlag macros to be affected. Change-Id: I88f94390185bc6e6f23693b68723cd5710815ae6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Compositor API: Add support for hardware compositingJohan Klokkhammer Helsing2018-02-091-0/+2
| | | | | | | | | | [ChangeLog][Compositor] Add a tech preview for a plugin-based hardware layer API and a VSP2 implementation (for Renesas R-Car M3 and H3). Task-number: QTBUG-64600 Task-number: QTBUG-64604 Change-Id: Ia4abfb6343cf4f006ba408d293ec9464cd6f31b7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* remove qmldir from resourcesv5.10.0-beta4Shawn Rutledge2017-11-061-2/+1
| | | | | | | | | It must be installed on the filesystem. Duplicating it in resources was always wrong but now causes an error in 5.10. Task-number: QTBUG-64285 Change-Id: Ia8a9e11f92ea68977808bb6e87a818c0ca8d1208 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Compositor: Add support for xdg-shell-unstable-v6Johan Klokkhammer Helsing2017-07-211-0/+7
| | | | | | | | | | This adds QML and C++ support for xdg-shell-unstable v6 on the compositor side. A couple of things are still missing for complete support, but can be added implemented later without breaking the API. Task-number: QTBUG-56174 Change-Id: I08d7c05aa4f40f00377d92f2519d89ab416daaf4 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix licensingv5.9.0-beta4Jani Heikkinen2017-05-045-58/+73
| | | | | | | | | | Currently tests are licensed under GPL-EXCEPT, examples under BSD and src under LGPL so replase old license headers with new & proper ones. Also remove old & unused license files Task-number: QTBUG-57147 Change-Id: Ia6a738798736c275dc309ccfa5b627dc2178d241 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build without QtQuickv5.9.0-beta1Tasuku Suzuki2017-03-301-1/+1
| | | | | Change-Id: I13d72f83cbb53d72ad602df43abf1a2779f96e5b Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Clean up draganddrop and clipboard featuresPaul Olav Tvete2017-03-231-0/+4
| | | | | | | | | | | | Don't assume that no-draganddrop implies no-clipboard. Introduce a new private feature wayland-datadevice which contains the common functionality. This feature cannot be controlled independently, but is automatically disabled when both clipboard and draganddrop are disabled. Change-Id: I6aac09c7ee524e3b11f0a1caa4a6c62fc3f1d10f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-262-0/+3
|\ | | | | | | | | | | | | Conflicts: src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h Change-Id: Ie45a13d3c866d0503e6e31b2a53b70f3420c5066
| * Fix virtual table mismatch in QWaylandWlShellSurfacePaul Olav Tvete2017-01-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | QWaylandWlShellSurface::createIntegration is a virtual function that is removed if QT_WAYLAND_COMPOSITOR_QUICK is not defined. This macro is defined in src/compositor/... and needs to be replicated here. It is set unconditionally here, since having imports implies having Qt Quick. Change-Id: I563c6de01af12721b0b5f2ec2e9faf787adf6794 Task-number: QTBUG-57838 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * Register XdgPopupV5 typePier Luigi Fiorini2017-01-031-0/+1
| | | | | | | | | | | | | | Task-number: QTBUG-57869 Change-Id: I7a38a5d4360aa470cb4c05375225c025804f8297 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Replace all occurrences of Q_DECL_OVERRIDE with overrideJohan Klokkhammer Helsing2017-01-231-5/+5
| | | | | | | | | | Change-Id: I16b7b23efe944b49d1fcc9e7588cdb0a991cebd1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Fix build without feature.cursorTasuku Suzuki2017-01-131-0/+4
| | | | | | | | | | Change-Id: If244e7ac58133ae6fbefacfa243d47fa210140be Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Register QWaylandXdgShellV5 as uncreatable typePier Luigi Fiorini2017-01-091-0/+1
|/ | | | | | | | Accessing the shell property of QWaylandXdgSurfaceV5 results in an error because QWaylandXdgShellV5 is not registered. Change-Id: I72504508b860c720d26057c0da21d303345ace41 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Use the feature system internallyLars Knoll2016-11-232-2/+2
| | | | | | | | | Get rid of almost all DEFINES += ... in the pro files, instead use the proper QT_CONFIG() macro to determine whether a feature is available. Change-Id: I867769be2085c6ba93b6815e223e2b89edcb245d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Update plugins.qmltypesPier Luigi Fiorini2016-10-041-47/+121
| | | | | | Change-Id: I37087d2ec0905c63cdbb4783daf4a5e34b50ad12 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Add QML API and documentation for ivi-applicationJohan Klokkhammer Helsing2016-10-041-0/+5
| | | | | Change-Id: I65504503f07477b05f7e645ee61544e62e728bdc Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Make QWaylandKeymap a QObjectJohan Klokkhammer Helsing2016-09-301-0/+2
| | | | | | | | | This makes it possible to use defaultSeat declaratively by allowing it to be uninitialized until the QWaylandCompositor::create has been called. Change-Id: I962cc7cc82a0bbc9240abb50cf92dee77e4a0ba6 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Base shell classPier Luigi Fiorini2016-09-301-0/+1
| | | | | | | | | | | | Standard shell class with focus policy shared by all protocol implementations. The automatic focus policy gives focus to windows automatically as they are created, while the manual policy allows a compositor to decide what to do. Change-Id: Ica71271174b30e28217e31c53f1c8dd576752c5e Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Rename the QWaylandXdg* classes to QWaylandXdg*V5Giulio Camuffo2016-09-052-12/+12
| | | | | | | | 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>
* Improve robustness of QML plugin loadingSimon Hausmann2016-08-261-1/+1
| | | | | | | | Use a variable that expands to the latest plugin version instead of hard-coding the string. Change-Id: Ie90ed0bec0cb6fabec0c1292969b35f593b1a87a Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Remove QWaylandView from the QML APIPaul Olav Tvete2016-08-222-21/+21
| | | | | | | | | | QWaylandQuickItem already encapsulates the view. Also rename the confusing 'discardFrontBuffers' property to 'allowDiscardFrontBuffer' Change-Id: Ibd74ad54bfe3d5187c2ed91ff0378b45e144e109 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Compositor API: rename QWaylandInputDevice to QWaylandSeatJohan Klokkhammer Helsing2016-08-113-24/+24
| | | | | | | | | | | | 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 createSurface and similar signalsJohan Klokkhammer Helsing2016-08-031-5/+5
| | | | | | | | | | | * createSurface -> surfaceRequested * createXdgSurface -> xdgSurfaceRequested * createXdgPopup -> xdgPopupRequested * createShellSurface -> wlShellSurfaceRequested * shellSurfaceCreated -> wlShellSurfaceCreated Change-Id: I715a927242130d7504955002a6a64a2bac516d46 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-021-17/+0
|\ | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/wayland/minimal-qml/main.qml Change-Id: Ic34029a6aa77f2b359f40258a05421d82efd5b37
| * Doc: fixed issue compiling qtwaylandcompositor.htmlNico Vertriest2016-07-011-17/+0
| | | | | | | | | | | | | | Added 2 cpp.ignoretokens statements Change-Id: I0f86ba94682b6f9fc0e76484a14ece7c39ff436a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Rename sendUnMaximized to sendUnmaximizedJohan Klokkhammer Helsing2016-07-121-2/+2
| | | | | | | | | | Change-Id: I20add5c8b12e1345ce50c009d8bae80fde9806e1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Add drag icon to WaylandCursorItemJohan Klokkhammer Helsing2016-07-111-0/+15
| | | | | | | | | | Change-Id: I683d568b8161828aa47ecc4e7f90741189ac4bae Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Expose QWaylandDrag to the QML APIJohan Klokkhammer Helsing2016-07-112-0/+24
| | | | | | | | | | Change-Id: I688f8c5d6781d695d3554aaec0c11be95cec371b Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Adjust for hotspot position inside WaylandCursorItemJohan Klokkhammer Helsing2016-07-111-0/+1
| | | | | | | | | | Change-Id: Ide6605b7bd05f739976ed603c19e030ec74d2a2a Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Rename enableWSCursor to windowSystemCursorEnabledJohan Klokkhammer Helsing2016-07-113-13/+13
| | | | | | | | | | | | | | What WS stood for may not have been obvious. Change-Id: Ib2a3f566e4e49d8be0c14c4937e7356b51718e44 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Rename bufferLock to bufferLockedJohan Klokkhammer Helsing2016-07-041-1/+1
| | | | | | | | | | Change-Id: Ia3e0fa53579ee0d28b1d6b7384b9c6def2761a2b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Add WaylandOutputBase to importsPier Luigi Fiorini2016-06-062-0/+4
| | | | | | | | | | | | | | So we can access QWaylandView::output. Change-Id: Iafba812072adb52134765ed0b58f2cc2e3ab3ee0 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | Remove redundant typesPier Luigi Fiorini2016-06-062-14/+4
| | | | | | | | | | | | | | | | | | | | | | It doesn't make much sense to use the exact same class for the uncreatable type and the shell surface type. Remove the base uncreatable types. Change-Id: Id155c8131b0b46b6b0b7b200ee44331a295ad76d Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Update QtWayland.Comport plugins.qmltypesPier Luigi Fiorini2016-06-061-5/+16
| | | | | | | | | | | | Change-Id: I6a719351823ba9335e8ee8a6f54d59bd87eab2f6 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Set enabled to false for WaylandCursorItemJohan Klokkhammer Helsing2016-06-021-0/+1
| | | | | | | | | | Change-Id: Ic4a4d0bb7c6f7e8c9dfe9384c1263b6337893fbf Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* | Rename QWaylandWindowManagerExtension to QWaylandQtWindowManagerPier Luigi Fiorini2016-05-312-21/+21
|/ | | | | | | | | | | | | | | | | | * QWaylandWindowManagerExtension become QWaylandQtWindowManager * WindowManager become QtWindowManager Follow naming convention already established for other extensions like QWaylandWlShell and avoid confusion that might arise with a name as generic as WindowManager. Use QWaylandClient rather than wl_client. Also the Wayland protocol definition has been renamed to qt-windowmanager.xml Change-Id: I941621ce229327c21eff9e80c7e92205cc60e8eb Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Update QtWaylandCompositor plugins.qmltypesPier Luigi Fiorini2016-05-301-1/+10
| | | | | | Change-Id: I8f67aea3e0ecb0d691ab416eab8e689c348ab58d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Create a general ShellSurfaceItem to avoid duplicationJohan Klokkhammer Helsing2016-05-202-23/+19
| | | | | | | | | | | | | | | | | | 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>
* Rename QWaylandExtension to QWaylandCompositorExtensionPaul Olav Tvete2016-05-182-10/+10
| | | | | | | | Since we have QWaylandClientExtension Change-Id: Ie8d60322c8e730bda651e06ed5db0fe1359d946e Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>