summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Merge remote-tracking branch 'qt/dev' into 5.8Paul Olav Tvete2016-08-2524-91/+162
|\ | | | | | | Change-Id: Ic0eda36fba20875c2077df2219943ddc57fbff4c
| * Remove extensions array from the minimal QML compositor exampleJohan Klokkhammer Helsing2016-08-231-10/+8
| | | | | | | | | | Change-Id: Ia89c19b741754473d680de6e8f5ee558176b992b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * Remove QWaylandView from the QML APIPaul Olav Tvete2016-08-2211-41/+114
| | | | | | | | | | | | | | | | | | | | 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>
| * Rename QWaylandSurface::isMapped to hasContentJohan Klokkhammer Helsing2016-08-2213-40/+40
|/ | | | | | | | | | | | | It was potentially misleading, since "mapped" is already used with a slightly different meaning in the Wayland protocol. In the protocol, mapped means that the surface should be rendered. The renamed property, on the other hand, is true if the surface has a buffer with contents attached and committed. In some cases this is not the same, i.e. the drag icon after dropping, or xdg_popups after popup_done. Change-Id: Idc359433c6130e3815de57b21d4edb13e318887d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* compositor: Add shell property to xdg-shellPier Luigi Fiorini2016-08-152-0/+44
| | | | | | | | | Add a shell property to QWaylandXdgSurface and QWaylandXdgPopup like QWaylandWlShellSurface. Change-Id: Id321f2ba8a48284c31fe67c4600c86f5c134b68d Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Add windowType property to QWaylandWlShellSurfaceJohan Klokkhammer Helsing2016-08-155-0/+45
| | | | | | Change-Id: I61ee336d3bc83e034faa3b0bb69b8bbeb3a139fb Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* Compositor: Document QWaylandWlShellSurface shell propertyPier Luigi Fiorini2016-08-151-0/+11
| | | | | Change-Id: Ibc872de6aa379fbad0a2a0cd0df4319a87a77620 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Compositor API: rename QWaylandInputDevice to QWaylandSeatJohan Klokkhammer Helsing2016-08-1158-451/+447
| | | | | | | | | | | | 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>
* Fix documentation for wlShellSurfaceRequestedJohan Klokkhammer Helsing2016-08-101-2/+2
| | | | | | | It got left out in the rename from createShellSurface. Change-Id: I2831e417446add9e30a0e297b7b7ed1ca1b2961d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Compositor API: Remove mouseFocus method from QWaylandTouchJohan Klokkhammer Helsing2016-08-092-15/+2
| | | | | | | | It's redundant API because it's already possible to get it through both QWaylandInputDevice and QWaylandPointer. Change-Id: Id5522909f1c12ef3e8f0301f7e94cdc77aa68e10 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Merge remote-tracking branch 'qt/5.7' into devPaul Olav Tvete2016-08-0411-17/+20
|\ | | | | | | Change-Id: Ib22055ac52c0bb36081242948c72332db4e5ac64
| * Emit NOTIFY signal for bufferLocked propertyPaul Olav Tvete2016-08-041-0/+3
| | | | | | | | | | | | Change-Id: Ibc11a06a15834f3486440c65edd397bfcba5e0f4 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * Fix build with ICC 17: problem parsing override keywordThiago Macieira2016-08-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | So just use the typedef that QPlatformOpenGLContext defines for a function pointer. qwaylandglcontext.h(76): error: expected a ";" Intel Issue ID: 6000161944 Change-Id: I149e0540c00745fe8119fffd1463ce5c4ffdeb4c Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Fix build: xcomposite-xxx depend on QtPlatformSupportThiago Macieira2016-08-032-0/+3
| | | | | | | | | | | | | | | | | | qwaylandxcompositeeglcontext.h:47:10: fatal error: 'QtPlatformSupport/private/qeglplatformcontext_p.h' file not found Change-Id: I149e0540c00745fe8119fffd146455b90946cacf Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Doc: several minor link issues in QtWaylandNico Vertriest2016-08-026-15/+12
| | | | | | | | | | | | Change-Id: I9e656b02e1b820e2257d95948650c541656192b4 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Topi Reiniƶ <topi.reinio@theqtcompany.com>
* | Rename createSurface and similar signalsJohan Klokkhammer Helsing2016-08-0313-33/+33
| | | | | | | | | | | | | | | | | | | | | | * 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-0223-252/+302
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/wayland/minimal-qml/main.qml Change-Id: Ic34029a6aa77f2b359f40258a05421d82efd5b37
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-017-46/+118
| |\ | | | | | | | | | Change-Id: I75a8ddc0652f3c6f438ef98e940c9357450d29c6
| | * Fix high-DPI scaling of window decorations for shared memory buffersJohan Klokkhammer Helsing2016-07-111-10/+18
| | | | | | | | | | | | | | | Change-Id: I6833ab86ffdb4e37dad5108baddb7a54cfb5e9fa Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| | * Use xdg_shell configure events to determine active windowJohan Klokkhammer Helsing2016-07-046-36/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the xdg_shell protocol, the compositor is allowed to set multiple active windows. Qt's model, however, allows only a single active window. In order to map between the models, a list of the compositor's active windows is kept in QWaylandDisplay in the order they were activated. Hence, the front of this list will always be the most recently activated window, and it will be mapped as Qt's active window. Previously keyboard focus was used to determine the active window, this method has been disabled for xdg_shell. Functionality for delaying the call to QWindowSystemInterface::handleWindowActivated has been moved from QWaylandInputDevice::Keyboard to QWaylandDisplay so the implementations can share the workaround. Task-number: QTBUG-53702 Change-Id: I878151f9c52ed09a8d6571c6208920436c3ca8fc Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * | Bump versionOswald Buddenhagen2016-07-281-1/+1
| | | | | | | | | | | | Change-Id: I233db2c11a892ea90b29c211c2f1822597dcc5c5
| * | Fix clang compilation errorsJohan Klokkhammer Helsing2016-07-133-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | Adds missing overrides and removes a private header generated by wayland-scanner from the public API. Change-Id: I53fc3f8bacca41821f0531aae02ca2a5da758e13 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * | Slightly more minimal examplePaul Olav Tvete2016-07-121-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need the MouseArea, since we don't have a mouse cursor, and popups have been fixed to not require a magic item in the background. Change-Id: I78b029810bfa1b8764bc834aa0ed34affad71757 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * | Example cleanupPaul Olav Tvete2016-07-046-145/+145
| | | | | | | | | | | | | | | | | | | | | | | | Use sane class names and file names, just like we do in minimal-cpp. Change-Id: I17ef83711040a5507425721e695d64f43411fc4b Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Fix the key code of key events when control is pressedGiulio Camuffo2016-07-045-28/+22
| | | | | | | | | | | | | | | | | | Change-Id: I51a57a32d8263e663a48dac15881d685359bc91d Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * | Doc: fixed issue compiling qtwaylandcompositor.htmlNico Vertriest2016-07-012-22/+8
| | | | | | | | | | | | | | | | | | | | | Added 2 cpp.ignoretokens statements Change-Id: I0f86ba94682b6f9fc0e76484a14ece7c39ff436a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Migrate to public QOpenGLTextureBlitterLaszlo Agocs2016-07-294-4/+4
| | | | | | | | | | | | | | | Change-Id: I481ebdaf9e5749a57223a91ab3a231ca40af059a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Compile with -no-openglJohan Klokkhammer Helsing2016-07-2018-14/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QtWayland has not compiled without OpenGL for a while. This patch fixes the compilation issues and removes the old config variable, "QT_WAYLAND_GL_CONFIG" and instead checks for the presence of "opengl" in "QT_CONFIG". A new define is also introduced, QT_WAYLAND_COMPOSITOR_QUICK, because it may eventually be possible to use create a QtQuick compositor without OpenGL. Task-number: QTBUG-54322 Change-Id: Ica7b3b320212d4ae1f8b1053725b73c83739c73c Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Fix wrong path to qwaylandsharedmemoryformathelper_p.hJohan Klokkhammer Helsing2016-07-181-1/+1
| | | | | | | | | | | | | | | Change-Id: I711536ea8c7ec167e531afe61e716e0081d2aab6 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Rename sendUnMaximized to sendUnmaximizedJohan Klokkhammer Helsing2016-07-126-9/+9
| | | | | | | | | | | | | | | Change-Id: I20add5c8b12e1345ce50c009d8bae80fde9806e1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Compositor: make the extensions property list optionalPaul Olav Tvete2016-07-125-48/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extensions will now automatically add themselves to their parent if they are not inside an extensions [ ... ] array. Change-Id: I26c7f7c2ee023595eb4cd2496dd56e212f05329c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Compositor: Rename shm to sharedMemoryJohan Klokkhammer Helsing2016-07-1113-34/+35
| | | | | | | | | | | | | | | | | | | | | | | | sharedMemory is much clearer and will increase the readability of the code and API. Change-Id: Ibb6d7424fa8d44a94a0f4ddf476a564eb235323f Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | | 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-113-0/+26
| | | | | | | | | | | | | | | Change-Id: I688f8c5d6781d695d3554aaec0c11be95cec371b Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Adjust for hotspot position inside WaylandCursorItemJohan Klokkhammer Helsing2016-07-114-6/+7
| | | | | | | | | | | | | | | Change-Id: Ide6605b7bd05f739976ed603c19e030ec74d2a2a Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Rename enableWSCursor to windowSystemCursorEnabledJohan Klokkhammer Helsing2016-07-117-17/+17
| | | | | | | | | | | | | | | | | | | | | What WS stood for may not have been obvious. Change-Id: Ib2a3f566e4e49d8be0c14c4937e7356b51718e44 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Fix drag-and-drop for QML compositorsJohan Klokkhammer Helsing2016-07-113-18/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dragging within the same client was broken because handleStartDrag called setInputEventsEnabled(false), which meant the surface was ignored as a target for the drag. With this change, input events are not disabled, and wl_data_device.motion events are sent to the source surface like they should. Also wl_pointer.leave and enter are sent before and after the drag. Change-Id: Ife46ca3a9d44a660a5cf029093842adb0e3eca7c Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Rename bufferLock to bufferLockedJohan Klokkhammer Helsing2016-07-046-15/+15
| | | | | | | | | | | | | | | Change-Id: Ia3e0fa53579ee0d28b1d6b7384b9c6def2761a2b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | | 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>
* | | Rename QT_COMPOSITOR_WAYLAND_GL to QT_WAYLAND_COMPOSITOR_GLJohan Klokkhammer Helsing2016-07-017-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | Qt Wayland Compositor is the name used for the module elsewhere. Change-Id: I28813d50f1aed86f49a31aa54d27ea4ed2770d6a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-3055-182/+416
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/compositor/extensions/qwaylandxdgshellintegration.cpp Change-Id: I3e8666d0c2fd047f12daeb94b2c967c646576ed9
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-3035-157/+139
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandinputcontext_p.h src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h Change-Id: Iac517e1985e4e67d7ca00ca4c10dcda9dd9079f9
| | * Remove unused method QWaylandDisplay::lastKeyboardFocusInputDeviceJohan Klokkhammer Helsing2016-06-293-16/+0
| | | | | | | | | | | | | | | Change-Id: Iee19b36ae2032112e0097dc6eb2e4592697c2a1c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| | * Add missing Q_DECL_OVERRIDEs to client classes.Johan Klokkhammer Helsing2016-06-2724-101/+101
| | | | | | | | | | | | | | | | | | Change-Id: I10e550a25ce498bbeedc242ac73059cc6fdcef30 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| | * Only resize when the cursor is actually on the window frameJohan Klokkhammer Helsing2016-06-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The previous code seems to have been written under the impression that QWindow::width() included frame margins, causing the resizing areas of the window decoration to be too large. Change-Id: Ia13f12afd88a4017d01853798226455b84290d01 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| | * Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit"Sze Howe Koh2016-06-173-3/+3
| | | | | | | | | | | | | | | | | | | | | See http://comments.gmane.org/gmane.comp.lib.qt.devel/25771 Change-Id: Ie9bd394e87f58eb1049e004fd13a80a62e7ab6ff Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Client: Fix incorrect size when maximizing using xdg_shellJohan Klokkhammer Helsing2016-06-162-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When maximizing xdg_shell clients, the clients would call QPlatformWindow::setGeometry() with frame margins included, resulting in a window that was bigger than what was requested by the compositor. The reason for this, was that QWaylandXdgSurface would subtract the frame margins from the width and height only when the resizing state was set, not when the maximized state was set. Later, margins were added again before QWaylandWindow::configure was called. This resulted in margins being subtracted and then added back for the resizing state, while for the maximized state margins were only added and never subtracted. This behavior has now been simplified so only size including window frame is tracked. This is what we receive in the XdgSurface::configure event anyway, and also what QWaylandWindow::configure expects. Change-Id: I0629e7e79a5367fa872743c6d025bfab8a4f2866 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>