summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland
Commit message (Collapse)AuthorAgeFilesLines
* Overhaul how platform plugins are builtAndy Nichols2013-02-06111-12793/+0
| | | | | | | | | | Instead of building only one platform plugin through the use of a complicated if/else structure, build a plugin for each available hardware integration type. Change-Id: If133576515a881274019c1ac5956605f27a9fc40 Reviewed-by: Andy Nichols <andy.nichols@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Fix scroll wheel behavior for Wayland clientsAndy Nichols2013-01-311-4/+16
| | | | | | | | | | | | | | | | | | | | There are inconsistencies between how we represent mouse wheel deltas and how the Weston compositor does. For better compatibility with Weston we need to change our mouse axis events too look like Up: positive Y (+10) Down: negative Y (-10) Left: positive X (+10) Right: negative X (-10) Our synthesised mouse wheel deltas are (+ or -)120 with both axes inversed. With this change Qt Clients should behave the same way on both Weston and QtCompositors. Change-Id: I37b4fd8cbb93e5a1a135a60ae8c3547c823aeba2 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Cleanup for Wayland client cursorsAndy Nichols2013-01-302-158/+201
| | | | | | | | | The previous code was a blob of C code copied from the Weston project. There is now a map containing most of the relevant xcursors names needed by the Wayland cursor API, and now we lazily load the cursors we need. Change-Id: Id4b37ab2b6360d13f6fb8ce7da791ea9baf15c57 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Disable desktop settings awareness for nowAndy Nichols2013-01-291-0/+2
| | | | | | | | | | | | | | | | Loading the KDE and Gnome settings for Wayland clients don't yet make sense. For the platform theme we check to see whether we are in a KDE or Gnome environment, then set the default style hints based on that. Right now for the Wayland platform, it makes more sense to use the generic UNIX platform theme. If there are ever KDE or Gnome Wayland environments available, it may be worth reconsidering, but for now it just causes problems(like the GTK+ style being loaded even though it has X11 dependencies). Change-Id: I13017c46f47ae34df884d2070a239c16ffbee850 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Fix crash when unsetting cursorAndy Nichols2013-01-291-1/+2
| | | | | | | | cursor pointer is null when we unset, so we must check for this. Change-Id: Ib0b0dae8e98d7f3b3f7e2a1d2037d3d4981027f4 Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Fix the pointer cursor handling.Giulio Camuffo2013-01-187-146/+182
| | | | | Change-Id: I23527bf06b88c8f612f9bfe7d48f61e80aa6bec3 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Fix build error in non wayland-egl backendsAndy Nichols2013-01-166-6/+6
| | | | | | | Change-Id: I7db31679d2fbc7f053e9eca53fdf2593dfe33f89 Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Draw window iconPier Luigi Fiorini2013-01-153-2/+35
| | | | | | | Draw window icon to the left of the title. Change-Id: I35921a8f9326d04e8601336d318fb8ec9a2c2b4e Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Default to Qt::ArrowCursor when cursor = 0 in changeCursor().Friedemann Kleint2013-01-151-6/+7
| | | | | | | | | | | The planned fix for the task introduces passing cursor = 0 meaning "no cursor set" for the window in question. Prevent it from crashing by defaulting to Qt::ArrowCursor. Task-number: QTBUG-28879 Change-Id: I3233c79d41ccf96cee237d93624b3ea740b7e772 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Implemented moving and resizing using the decorations.Giulio Camuffo2013-01-1012-30/+110
| | | | | Change-Id: I4153b72876b272c508264c82ac10def68ee4349d Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Draw decorations using colors from QPalette.Pier Luigi Fiorini2013-01-102-8/+27
| | | | | | | | | Use colors from QPalette to draw the client-side decorations. Also, draw using a linear gradient which makes the title bar look three-dimensional. Change-Id: Ib34ebc354f4c7556051a6164323fe178be13fe27 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Client-side decoration actions.Pier Luigi Fiorini2013-01-104-4/+114
| | | | | | | | | | | Add close, maximize and minimize buttons to the title bar. However the minimize button is not yet implement, it seems missing from the wl_shell_surface API. Task-number: QTBUG-27465 Change-Id: Id683f069cf5b329f827af87f457cfd81a5c6e6a1 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Fix issue where hidden menus were never shown againAndy Nichols2013-01-101-1/+1
| | | | | | | | | | | | When we tried to make a QMenu visible that had already been visible before, we were getting stuck waiting for a frame callback that we never requested. We now check for this case in QWaylandShmBackingStore::beginPaint Task-number: QTBUG-29021 Change-Id: I5334aa677ba36d801e9a96938cc5924856dcdcc3 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Title don't cover buttons.Pier Luigi Fiorini2013-01-101-1/+9
| | | | | | | Avoid covering the action buttons with the title. Change-Id: Iff6696a8a9eca2804e7ff3a0e778675fb538d8da Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Fix menus so they do not disappear instantlyAndy Nichols2013-01-071-1/+0
| | | | | | | | | | We should not call handleWindowActivated(0) as a result of QWaylandInputDevice::keyboard_leave Task-number: QTBUG-27464 Change-Id: Ic59a051bc6403aa0c43a9525a4d09661065d177a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Remove WAYLAND_CLIENT_THREAD_AFFINITY logicAndy Nichols2013-01-072-10/+0
| | | | | | | | | This was a define added by a wayland patch that was not accepted upstream. This should no longer be needed, and the patch has been removed from our codebase. Change-Id: I6c823a5e9771ea29c640d27fd2de2a42982ed7b8 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Set surface class name.Pier Luigi Fiorini2013-01-043-0/+13
| | | | | | | | | | | | | | | The class name identifies the general class of applications to which the surface belongs. The class is the name of the desktop file and is derived from the process name. We might want to add a new method to QWindow in order to set a custom class name. It's quiet similar to WM_CLASS on X11, for more information see https://live.gnome.org/GnomeShell/ApplicationBased Change-Id: I5be90fb45e82e79710dda376f42c18c126d2a80f Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Cleaned out usages of removed or to be removed APIs.Samuel Rødal2012-12-066-23/+6
| | | | | Change-Id: Iabbada23d010ac0fdf99f88af3f109f94814b5ea Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Cleanup QtWayland moduleAndy Nichols2012-12-034-8/+8
| | | | | | | | | | | | | | | | | | | | | | | Now that both xkbcommon 0.2.0 and libWayland 1.0.0 have been released, we should no longer be building against sha1's and should be preparing for an eventual release so these build hints have been removed. A test has been added for libWayland 1.0.0 which is required to build QtWayland. README has been updated to reflect the current situation src/3rdparty has been removed as it has not been used in some time. patches folder and contents have been removed as they are no longer needed. extensions folder has been moved to the src folder Change-Id: Iab79b5c164758a4bd0253c90f60b2a2d044e2785 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Make sure the GL integrations have been fully initialized in time.Samuel Rødal2012-11-304-0/+7
| | | | | | | | | | Before we return from the platform integration constructor, and thus before the application tries to create QPlatformWindows or QPlatformOpenGLContexts. Change-Id: Iface9116f876e2d25561be4fcaee5fd7dabba572 Reviewed-by: Florian Hänel <florian.haenel@basyskom.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Initial implementation of decorations for EGL windows.Giulio Camuffo2012-11-1718-71/+559
| | | | | | Change-Id: I7521e583bf18f3690ecc6baacd05a5e92e9fd890 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Port the Wayland QPA plugin to wayland 1.0.0.Giulio Camuffo2012-11-0421-60/+101
| | | | | Change-Id: I5b2092ed9dac8201c7a681acea0a3d703423c743 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* adjust to qt_plugin.prf changesOswald Buddenhagen2012-10-241-5/+2
| | | | | | | | DESTDIR and INSTALLS+=target are set up automatically now, but PLUGIN_TYPE needs to be defined. Change-Id: I82a97498be26a6e9021deb6fff02a21bd4787851 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Follow API change for QPlatformWindow::setWindowStateRichard Moe Gustavsen2012-10-182-6/+2
| | | | | | | | Follow change introduced in d6588d2 Change-Id: I1040e973612edced105163c2af06d165a0c27d51 Reviewed-by: Thomas Senyk <thomas.senyk@pelagicore.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Follow API change for QPlatformWindow::setWindowFlagsThomas Senyk2012-10-162-4/+3
| | | | | Change-Id: I442a592d0833a82594e55213a10308243324012c Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Fixing include warnings regarding QWindowSystemInterfaceThomas Senyk2012-10-1611-11/+11
| | | | | Change-Id: Ie8df028fed311e8938ed8d25552e11dc8ff9261a Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Compile after QWindowSystemInterface API changes.Morten Johan Sorvig2012-09-282-7/+11
| | | | | | Change-Id: I71024a4f36d4952c70b3dc3caa2156e2e7c9b837 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2595-2240/+2322
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie65cbe0c622780d2f0672bce19d267d1167620ff Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* m_windowManagerListener is unused variableElvis Lee2012-09-121-2/+0
| | | | | | | There is already a variable named "windowmanager_listener" Change-Id: I40bfb42a5b0b35d0d8851f0baa6f3741b47ae57e Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* centralize load(qt_build_config)s in .qmake.confOswald Buddenhagen2012-09-111-1/+0
| | | | | Change-Id: I229c0704fc3a5d230c921b8f9a08ad1b8ee124f6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix build errors due to api changes in QtBaseJorgen Lind2012-09-101-1/+1
| | | | | Change-Id: Ie171d9342d877792c2f0b19694ff020965d91985 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update Wayland SHAJorgen Lind2012-08-172-2/+5
| | | | | Change-Id: I3a0adb4b935282b9bb421a87dc8241d6ea8271f0 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Fix qtwayland build with QT_NO_ACCESSIBILITYLaszlo Agocs2012-08-171-0/+6
| | | | | Change-Id: Ib5fea95a37d2e4309e68e04320ba6ad097128a66 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Add support for loading theme plugins.Pier Luigi Fiorini2012-08-162-0/+16
| | | | | | | | Use QGenericUnixTheme to return a list of themes and create new QPlatformTheme objects. Change-Id: Iaac113aad3bc088f51695c224433287701113960 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Make the gl integrations use the same build options as the config testsJorgen Lind2012-08-135-5/+32
| | | | | Change-Id: I3efbd0c87c19c8ff2c382c56d2ca34bbe2e7033d Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Create platform plugin binary into the local plugins directory.Pier Luigi Fiorini2012-08-131-1/+1
| | | | | | | | | | | Set DESTDIR to $$QT.compositor.plugins/platforms in order to create the plugin binary into the local plugins directory. When building Linux packages you usually are in a chroot environment and can't write files outside your build directory, this change avoid permission errors. Change-Id: I3e518f20308b852f4de6a5355af60fc67681cace Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Revert "Suppress QWindowSystemInterface inclusion warnings."Stephen Kelly2012-07-1811-11/+11
| | | | | | | | | This reverts commit c269b748bd1f14207cf600ad5cb75a21a5e824a4. QWindowSystemInterface is not part of QPA anymore. Change-Id: I372646bda5b4ea7f1ea2bcf775873b1596c07091 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Config tests for gl integrationJorgen Lind2012-07-171-50/+31
| | | | | Change-Id: Ie7d80e7591d11aa5df87ca5d5de4cd6c03928c83 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Update wayland shaJorgen Lind2012-07-063-12/+4
| | | | | Change-Id: Icf48c40b4d078b13c4132e52d351a22395d4ca76 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Fix QPA plugin metadata changeJorgen Lind2012-07-051-1/+1
| | | | | Change-Id: I4f56aba2d42f2f9b469bdcd8cf4312fee93ab911 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Suppress QWindowSystemInterface inclusion warnings.Girish Ramakrishnan2012-07-0311-11/+11
| | | | | | | | | | Since QWindowSystemInterface is now part of QPA API. The correct inclusion is: #include <qpa/qwindowsysteminterface.h> #include <qpa/qwindowsysteminterface_p.h> Change-Id: I9f5eafbd67fac3ed144f85c37943e5e1bae5a18e Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* build system cleanupsOswald Buddenhagen2012-06-271-1/+1
| | | | | | | | | | | | | | | - load(qt_module) => load(qt_build_config) - remove: - CONFIG+=module (obsolete) - code relating to module version headers (automated now) - %mastercontent assignment (automated now) - QT_BUILD_*_LIB defines (automated now) - pointless QPRO_PWD assignments - qmake -project boilerplate - dead code Change-Id: Ia515c3cc40170e3b99b0bfd04c10637d49f9b99f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* switch to new-style configure testsOswald Buddenhagen2012-06-272-2/+2
| | | | | Change-Id: I70f4f4e81a042a977748dbb42b069b3706829828 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Set cloexec in shm bufferLaszlo Agocs2012-06-231-2/+8
| | | | | Change-Id: If3d1920fe253d3de43aeef77afeb92f7624c6ba0 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Destroy shell surfaces on client sideLaszlo Agocs2012-06-222-0/+6
| | | | | | | Otherwise we get the usual delete_id for live object warnings with Weston. Change-Id: I4c24cec6522ea9f501495d4f5e29f9725976f202 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Follow protocol changes in pointer attachLaszlo Agocs2012-06-195-18/+38
| | | | | Change-Id: I68b480b7feea814f79997c6a39e4567c3a990f47 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix broken handling of inactive transient surfacesLaszlo Agocs2012-06-181-1/+8
| | | | | | | | | Makes tooltips and tooltip-like components like Create's locator show up properly. These should never get keyboard focus even though they are regular surfaces like any other. Change-Id: I0ade61845d9785cad19040683362a5532a04e6f6 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix global coordinate translation in clientsLaszlo Agocs2012-06-181-2/+2
| | | | | | | | Widget apps had certain components, like context menus, popping up at somewhat off positions. This was caused by a local-global mismatch. Change-Id: Ia87be2419b4686c54852eb87640079ab262146cc Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Map function keys properlyLaszlo Agocs2012-06-181-13/+10
| | | | | Change-Id: I3a13e0f05a3504e4d7b7f13c29ace139f88041e5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Introduce standard pkg-config usageDonald Carr2012-06-111-27/+7
| | | | | | | | Use our own qualified pkg-config mkspec feature rather than directly executing the system binary Change-Id: I4b162cd8d2d9a8bd5d0b3adb9ca935df9ff96a69 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>