Commit Graph

223 Commits (c7c8a38ec313b998d0df76cd15fa360f56d213e2)

Author SHA1 Message Date
Laszlo Agocs f432927ffd Drag and drop support in Wayland plug-in.
Change-Id: I5e4448a9b3d3df9e3a12733386079031be340a42
Reviewed-on: http://codereview.qt.nokia.com/2101
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-07-25 15:34:44 +02:00
Laszlo Agocs ec984bdd3e Pixmap cursor support in QWaylandCursor.
Change-Id: I7075229584e9705fae63679b5512c11fd8535797
Reviewed-on: http://codereview.qt.nokia.com/2100
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-07-25 14:59:11 +02:00
Samuel Rødal c3da77798b Added workable QScreen API on top of QPlatformScreen.
QPlatformIntegration::screens() no longer has to be implemented,
implementations should call QPlatformIntegration::screenAdded() for each
screen instead. This is for being able to support adding screens at
run-time later on, by connecting it to a signal in QGuiApplication.

The QGuiGLContext API has changed a bit, by not sending in all the
parameters in the constructor but instead having a create() function.
The createPlatformGLContext() factory in QPlatformIntegration takes a
QGuiGLContext * instead of a QSurfaceFormat and a share context, similar
to how the window and backing store factory functions work.

The XCB plugin has experimental support for connecting to multiple X
displays simultaneously, creating one or more QScreen for each.

Change-Id: I248a22a4fd3481280710110272c04a30a8021e8f
Reviewed-on: http://codereview.qt.nokia.com/2103
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-25 13:52:09 +02:00
Samuel Rødal e026f767c9 Handle failed SHM attach in XCB backing store.
Change-Id: I5f97c0c6030d13b68cfc17d19ba969cd78f79c3f
Reviewed-on: http://codereview.qt.nokia.com/1943
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-21 14:56:38 +02:00
Samuel Rødal 7b3b6b5afa Merge remote branch 'gerrit/master' into refactor
Conflicts:
	examples/opengl/cube/main.cpp
	examples/widgets/applicationicon/main.cpp
	examples/widgets/orientation/main.cpp
	src/gui/image/qicon.cpp
	src/gui/image/qimage.h
	src/gui/image/qpixmap.h
	src/gui/image/qpixmap_mac.cpp
	src/gui/kernel/qapplication.cpp
	src/gui/kernel/qpalette.cpp
	src/gui/kernel/qwidget.cpp
	src/gui/styles/qmacstyle_mac.mm
	src/gui/widgets/qmenubar.cpp
	src/gui/widgets/qslider.cpp
	src/opengl/qwindowsurface_gl.cpp
	tests/auto/qvariant/qvariant.pro
	tests/benchmarks/corelib/kernel/qobject/qobject.pro
	tests/benchmarks/gui/animation/qanimation/qanimation.pro
	tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/qgraphicsanchorlayout.pro
	tests/benchmarks/gui/graphicsview/qgraphicsitem/qgraphicsitem.pro
	tests/benchmarks/gui/graphicsview/qgraphicsscene/qgraphicsscene.pro
	tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro
	tests/benchmarks/gui/graphicsview/qgraphicswidget/qgraphicswidget.pro
	tests/benchmarks/gui/image/qimagereader/qimagereader.pro
	tests/benchmarks/gui/itemviews/qtableview/qtableview.pro
	tests/benchmarks/gui/kernel/qapplication/qapplication.pro
	tests/benchmarks/gui/kernel/qwidget/qwidget.pro
	tests/benchmarks/gui/painting/qpainter/qpainter.pro
	tests/benchmarks/gui/painting/qtbench/qtbench.pro
	tests/benchmarks/gui/painting/qtracebench/qtracebench.pro
	tests/benchmarks/gui/text/qtext/qtext.pro

Change-Id: I4b911c795ecb29d73b6a7fd18819711b49478a30
2011-07-21 14:42:46 +02:00
Samuel Rødal 48f761a3e1 Fixed build of generic linuxinput plugin.
Change-Id: I2289e369c831bfee9646ffe5c587647443548804
Reviewed-on: http://codereview.qt.nokia.com/1870
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-20 12:47:25 +02:00
Laszlo Agocs ba1b6f16ae Implement todos in touchscreen generic plug-in.
The patch implements periodic clearing of the point states when no
activity occurs (i.e. no ev_syn is coming at all, meaning that most
probably all the fingers are already up) and also moves the entire
functionality into a separate thread even when used as a plug-in.

Change-Id: Ib1daa738085b61af9b07eb8a284416e5a3fcabe8
Reviewed-on: http://codereview.qt.nokia.com/1744
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-19 15:00:46 +02:00
Samuel Rødal 310519d6d1 Rename QPixmapData to QPlatformPixmap.
Makes the API symmetric with the other Lighthouse APIs.

Change-Id: I8a399f3c968ea35d4624711b31f2ac5bb94b7893
Reviewed-on: http://codereview.qt.nokia.com/1735
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-19 09:50:37 +02:00
Samuel Rødal bc0a0281d5 Get rid of some obsolete functions in QImage / QPixmap / QPixmapData.
Change-Id: I0d2412c9196475b926a17de9fcc3281f6625fae0
Reviewed-on: http://codereview.qt.nokia.com/1733
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-07-18 10:50:12 +02:00
Samuel Rødal 2371147354 Merge remote branch 'gerrit/master' into refactor
Conflicts:
	src/gui/image/qicon.cpp
	src/gui/image/qicon.h
	src/gui/image/qicon_p.h
	src/gui/text/qfontdatabase.cpp
	src/plugins/platforms/wayland/gl_integration/qwaylandglwindowsurface.cpp
	src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.cpp
	src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.cpp
	sync.profile

Change-Id: Ie0a23a12177ff51bf562e15b2dd41f071afb19b4
2011-07-12 12:52:22 +02:00
Casper van Donderen 6efe729881 Remove more references to demos.
Change-Id: I431184cd0534c86047706fdaa1045b2935de5d7a
Reviewed-on: http://codereview.qt.nokia.com/1307
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: David Boddie
2011-07-08 15:36:26 +02:00
Martin Zielinski 62481fe9f6 Fixed wayland windowmanager-protocol authorization
The authorization is now handled more robust. The client tries to authenticate
as soon as a surface is created, but does so only if the authentication
token is valid. A re-authorization than happens when requestActivateWindow()
is called.
This is needed to get the auth-process properly working even with
pre-started clients, that do not have a valid token on surface-creation
time.

Change-Id: I4371b424686b9d5a6a163a802ec66a33c0aeeea7
Reviewed-on: http://codereview.qt.nokia.com/1207
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lasse Holmstedt
2011-07-08 11:22:30 +02:00
Harald Fernengel 27b953efae Don't keep a static instance of QDBusConnection
Prevents weird crashes at app exit and makes backtraces from potential
crashes saner because they won't start in __cxa_init.

Change-Id: I62821faad03b06ec92da05d96027b668d1f1ca0f
Reviewed-on: http://codereview.qt.nokia.com/1324
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Robert Griebl <robert.griebl@nokia.com>
2011-07-07 17:37:29 +02:00
Olli Werwolff 11e27a210a Fix minimal plugin for windows
Change-Id: Ica017cdad4c8205706b42767035d834498b63037
Reviewed-on: http://codereview.qt.nokia.com/1268
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-07 10:25:16 +02:00
Lars Knoll bb34372ad5 Merge branch 'refactor' of scm.dev.nokia.troll.no:qt/qtbase-staging into refactor 2011-07-06 14:08:13 +02:00
Lars Knoll 314fdbce8c Merge remote branch 'gerrit/master' into refactor
Conflicts:
	config.tests/unix/opengldesktop/opengldesktop.cpp
	examples/itemviews/interview/interview.pro
	examples/mainwindows/mainwindow/mainwindow.pro
	examples/openvg/README
	examples/richtext/textedit/textedit.pro
	examples/tools/undo/undo.pro
	src/corelib/global/qglobal.h
	src/corelib/kernel/qcoreapplication.h
	src/corelib/kernel/qcoreevent.h
	src/corelib/kernel/qmetatype.h
	src/gui/kernel/qevent.cpp
	src/gui/kernel/qevent.h
	src/gui/painting/qpaintengine_raster.cpp
	src/gui/painting/qpaintengine_raster_p.h
	src/gui/text/qfontdatabase.cpp
	src/opengl/qgl.h
	src/openvg/qpaintengine_vg.cpp
	src/plugins/platforms/wayland/qwaylandwindow.cpp
	tests/auto/qmainwindow/qmainwindow.pro

Change-Id: I6bfb586740a68379bb99f4612ec993393a5f3234
2011-07-06 14:08:02 +02:00
Samuel Rødal 1b95298d9d Fixed gl_integration.pri on non-mac platforms. 2011-07-06 12:51:50 +02:00
Jørgen Lind 5d9818e7b6 We need to let the currentContext be in the same state after
setting the new eglsurface
(cherry picked from commit af3efefeefe686e5c35ed502de077c0bcb6f6fc0)

Change-Id: Ic1d62b21a1482d1bc7f1d99478e175e4b767e157
Reviewed-on: http://codereview.qt.nokia.com/1209
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-07-06 12:03:30 +02:00
Jørgen Lind 1b1337601e Fix the wayland windowsurface so that we have stencil and depth buffer
(cherry picked from commit 322c96eb9564f930a63be820c22b053630663880)

Change-Id: I89c10cea1a302d9549024940e49c7d5960abb953
Reviewed-on: http://codereview.qt.nokia.com/1210
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-07-06 10:26:28 +02:00
Lasse Holmstedt a77ce3301c Add QScreenOrientationChangeEvent and rotation support to wayland client
Qt Compositor propagates screen orientation changes to wayland, which
are then picked up by the wayland client. The wayland client then sends
a QScreenOrientationChangeEvent to QApplication, which can handle the
orientation change.

Change-Id: Ieb2225e52b7e3c318648f2cb21dab7937f301505
Reviewed-on: http://codereview.qt.nokia.com/1063
Reviewed-by: Matthias Ettrich
2011-07-04 14:32:41 +02:00
Morten Sorvig 9252742ba8 Cocoa: Window type and flags handling.
Bring over code from Qt4's qwidget_mac.mm.
2011-07-01 14:22:41 +02:00
Martin Zielinski 9057cad32f Implemented on-screen visibility handling via wayland
The compositor informs the client about it's window not being visible at all.
This is handled here by dispatching a ApplicationActivated/ApplicationDeactivated event.
The application than is free to handle this event and stop rendering and other not
needed processing.

Change-Id: I1dcc3f2a4a8e63ad5cc4f89cbf82cc63f779edbf
Reviewed-on: http://codereview.qt.nokia.com/763
Reviewed-by: Lasse Holmstedt
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-07-01 10:17:54 +02:00
Morten Sorvig 016ac937b9 Cocoa: Fix raise/lower. 2011-07-01 10:02:56 +02:00
Morten Sorvig 455d58e2cd Clean up wayland-cgl-readback.
Read directly into the window buffer - looks like we
don't need to do any byte swapping. Disable the frame
sync, since this causes a deadlock with the compositor.
2011-07-01 09:39:52 +02:00
Laszlo Agocs 7a9c5eea81 Add a touchscreen generic qpa plugin.
Change-Id: Iaf79df05eb4f60d254d95f5d0f280a8f8f8a8de8
Reviewed-on: http://codereview.qt.nokia.com/941
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-06-30 15:03:28 +02:00
Laszlo Agocs 06d85c51fe Add touch event support to wayland plugin.
Change-Id: If4be4965ae4e9898f5afb756632aa0349bd9b149
Reviewed-on: http://codereview.qt.nokia.com/935
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-06-30 10:18:28 +02:00
Morten Sorvig 57e0c157df Cocoa: Fix RGB/BGR color inversion. 2011-06-29 10:05:16 +02:00
Morten Sorvig b5b405ae72 Set mac wayland config. 2011-06-28 12:14:13 +02:00
Morten Sorvig bebda38eaf Add wayland mac readback implementation. 2011-06-28 12:14:13 +02:00
Morten Sorvig 0058f00b64 Factor out CGL code for reuse in wayland. 2011-06-28 12:14:12 +02:00
Morten Sorvig 8e8ad987a2 Remove load(eventdispatchers). 2011-06-28 12:14:12 +02:00
Lars Knoll 80eb461360 ibus IM support for the xcb backend
Test code to check input methods using the ibus backend
used on e.g. ubuntu. The IM code is not very sophisticated,
but enough to test that things are working.

Reviewed-by: Jørgen Lind
2011-06-27 14:31:15 +02:00
Jørgen Lind 18a3f6169b Merge remote-tracking branch 'base/master' into refactor
Conflicts:
	demos/demos.pro
	demos/embedded/digiflip/digiflip.pro
	examples/examples.pro
	examples/graphicsview/embeddeddialogs/embeddeddialogs.pro
	src/gui/kernel/qplatformglcontext_qpa.cpp
	src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.cpp
	src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxcontext.cpp
	src/plugins/platforms/wayland/qwaylanddisplay.cpp
	src/plugins/platforms/wayland/qwaylandwindow.cpp

Change-Id: I2a4ec9e2ca9c9aa9d57b55f98985e810b77bb745
2011-06-27 12:27:54 +02:00
Martin Zielinski 8fb4beb2a1 Removed damaging of waylandsurface after creation
The damaging of the surface at this time causes graphical corruption
in the compositor, as the surface does not contain any rendered output yet.

Change-Id: I51392a68a7531db9901137b9861cb0291e16ff12
Reviewed-on: http://codereview.qt.nokia.com/743
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Matthias Ettrich
Reviewed-by: Lasse Holmstedt
2011-06-27 12:22:24 +02:00
Laszlo Agocs 73746a5a89 Have the selection offer global handled always without delay.
In a previous attempt to solve the problem of selection offer
globals arriving too early, the handling was delayed. This
solved the issue of crashing but introduced a timing issue,
because the offers (the mime types) will arrive immediately
after the global and therefore will simply be ignored in
case the delayed processing of the selection offer had not
yet been done. The visibility of the problem depended on the
implementation of the compositor, with recent changes to
qt-compositor the issue is very visible.

The patch solves the issue properly: The wayland clipboard
instance is created right away, as early when needed, and the
integration will simply pick up the already created instance.

Change-Id: I75aaba4b0590c05cc0091bed7bb3593186c1188f
Reviewed-on: http://codereview.qt.nokia.com/687
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-06-24 12:09:44 +02:00
Jørgen Lind 1b9c679eb5 Make sure to call damage on the buffer when we damage it
Change-Id: Id325a1dee322c2b37215e6577870068260f5f7cc
Reviewed-on: http://codereview.qt.nokia.com/683
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2011-06-23 17:04:21 +02:00
Jørgen Lind e9d3699123 Update the wayland plugin
to sha1 bfea3d6befdb688d5354e6f15a9400ea637febf9

Change-Id: Ie855cfbc6b786f1e738e205d403478614774ad34
Reviewed-on: http://codereview.qt.nokia.com/682
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-06-23 17:03:51 +02:00
Samuel Rødal 8ab2f3d9bd Get declarative and wayland EGL backend working for Qt compositor. 2011-06-23 15:40:42 +02:00
Jørgen Lind ce4d3435d7 Make sure to call damage on the buffer when we damage it 2011-06-23 14:30:22 +02:00
Jørgen Lind bbcc62efaa Update the wayland plugin
to sha1 bfea3d6befdb688d5354e6f15a9400ea637febf9
2011-06-23 13:59:44 +02:00
Morten Sorvig 58d10c0bd7 Refactor window system event dispatching.
Add QWindowSystemInterface::sendWindowSystemEvents,
which contains the canonical "empty and send queued
window system events" implementation.

Make the Cocoa, QPA, and GLIB dispatchers use the
new implementation. Cocoa now no longer inherits
from QPA.
2011-06-23 11:04:21 +02:00
Samuel Rødal 6d6ac714ca Prevent endless loop when calling QWaylandShmWindow::format(). 2011-06-22 16:28:45 +02:00
Samuel Rødal f3440ddf52 Get wayland plugin working again. 2011-06-22 16:26:02 +02:00
Morten Sorvig 9512c440b5 Compile. 2011-06-22 14:58:41 +02:00
Morten Sorvig ca494ce782 Send expose on (initial) show 2011-06-22 14:14:15 +02:00
Morten Sorvig d6dc5ed1d6 Compile 2011-06-22 14:13:52 +02:00
Richard Moe Gustavsen 0e4844aa24 Cocoa: clean up pro file for platform plugin 2011-06-22 14:01:02 +02:00
Richard Moe Gustavsen 041b809a62 Cocoa: implement support for wheel events 2011-06-22 13:59:35 +02:00
Morten Johan Sorvig f1975cfc53 Make xcb work again after event dispatcher changes.
The platform plugin/event dispatcher creation order
has now been reversed and the event dispatcher
cannot be accessed during plugin construciton.
2011-06-22 11:37:42 +02:00
Lars Knoll 4363d836f6 remove the plugin support for QInputContext
This will be handled through the lighthouse plugin
instead.
2011-06-22 10:46:12 +02:00