summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Added workable QScreen API on top of QPlatformScreen.Samuel Rødal2011-07-259-197/+189
| | | | | | | | | | | | | | | | | | | | | 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>
* Handle failed SHM attach in XCB backing store.Samuel Rødal2011-07-211-15/+39
| | | | | | | 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>
* Rename QPixmapData to QPlatformPixmap.Samuel Rødal2011-07-192-3/+3
| | | | | | | | | 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>
* ibus IM support for the xcb backendLars Knoll2011-06-274-0/+35
| | | | | | | | 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
* Get declarative and wayland EGL backend working for Qt compositor.Samuel Rødal2011-06-232-5/+24
|
* Make xcb work again after event dispatcher changes.Morten Johan Sorvig2011-06-223-9/+15
| | | | | | The platform plugin/event dispatcher creation order has now been reversed and the event dispatcher cannot be accessed during plugin construciton.
* Add libxcb-xfixes0-dev to xcb depsMorten Johan Sorvig2011-06-221-1/+1
|
* Add lighthouse event dispatcher API.Morten Sorvig2011-06-222-0/+8
| | | | | | | | | | Platform plugin creation is now moved forward in order to have a platform plugin instance at event dispatcher creation time. Plugins are now responsible for implementing PlatformIntegration::createEventDispatcher and returning an QAbstractEventDispatcher subclass.
* OpenGL API refactor.Samuel Rødal2011-06-2110-67/+160
| | | | | | Rename QGuiGLFormat to QSurfaceFormat, and make QWindow sub-class of QSurface and QPlatformWindow sub-class of QPlatformSurface, instead of having QPlatformGLSurface accessor in QWindow.
* Rename QWindowSurface -> QBackingStore and split into platform / public.Samuel Rødal2011-06-216-36/+33
| | | | Also get rid of GL window surface and related classes.
* Compile fixes.Samuel Rødal2011-06-211-1/+1
|
* Don't crash if Clipboard and Selection hold the same mimedateLars Knoll2011-06-201-1/+2
| | | | | | | | Cliboard and Selection can hold the same QMimeData object. Don't delete the mimedata in this case before when clearing only one of them. Reviewed-by: Samuel
* use selection changed events from XFixesLars Knoll2011-06-204-22/+58
| | | | | | | | properly initialize the XFixes extension and then use the selection changed events to notify Qt apps. Reviewed-by: Samuel
* Enhance Xcb clipboard codeLars Knoll2011-06-203-77/+149
| | | | | | | | | | Some cleanup on the data structures. Properly implement support for timestamps on each selection. Transfer selections to the clipboard manager on exit if it exists. Properly clear our selection when X11 asks us to do so.
* Remove leftover xkb member variable in QXcbKeyboard.Laszlo Agocs2011-06-171-3/+0
|
* Autodetect the xcb backendJørgen Lind2011-06-101-5/+8
|
* Use XCB_GRAVITY_STATIC in XCB plugin for frame independent geometry.Samuel Rødal2011-06-101-0/+2
|
* Added frameMargins() API and support in XCB plugin.Samuel Rødal2011-06-102-0/+97
|
* Fix QtPlatformSupport when compiling with glx and xcbJørgen Lind2011-06-102-3/+3
|
* Update dependency list in xcb READMEJørgen Lind2011-06-101-1/+1
|
* QtPlatformSupport: A helper library for platform pluginsJørgen Lind2011-06-104-17/+11
| | | | | | | | QtPlatformSupport is a static library. Platform plugins are meant to link against this library to pull in dependencies such as fontengines and convenience functions for finding the right GL configs. The linker will only pull in the symbols used, so the size of the library doesn't really matter
* QWindowContext / QWindowFormat refactor.Samuel Rødal2011-06-107-67/+85
| | | | | | | | | | | | | To enable having a single GL context used for multiple drawables we need to de-couple the context class a bit more from the window class in the plugin API. Now contexts are created stand-alone based on a GL format and a share context, and when calling makeCurrent() a desired surface is specified. This maps well to GLX, EGL, Cocoa, AGL, and WGL, which all support this use case. QWindowContext is renamed to QGuiGLContext, and QWindowFormat is renamed to QGuiGLFormat. We have the ability to introduce a pbuffer or similar other offscreen GL drawable abstraction in the future.
* Use XLookupString for translating key events.Laszlo Agocs2011-06-093-35/+82
| | | | | | | | | There seems to be no easy equivalent in the XCB world and the fallback we currently have is really incomplete. Hence we will call XLookupString with a fake XKeyEvent if XCB_USE_XLIB is enabled. Reviewed-by: Samuel Rødal
* Bail out from cursor creation when malloc fails.Laszlo Agocs2011-06-091-0/+6
|
* Get modifier mapping using standard X, no need for libxkbcommon here.Laszlo Agocs2011-06-092-33/+52
| | | | Reviewed-by: Samuel Rødal
* Create custom cursors via XRender.Laszlo Agocs2011-06-096-15/+120
| | | | Reviewed-by: Samuel Rødal
* Cursor support in xcb plug-in.Laszlo Agocs2011-06-0812-119/+912
| | | | | | | Custom cursor pixmaps with depth greater than 1 are not yet supported and will be converted to monochrome always. Reviewed-by: Samuel Rødal
* cosmetic changesLars Knoll2011-06-082-5/+5
|
* Fix behaviour after WM_TAKE_FOCUSLars Knoll2011-06-081-1/+0
| | | | | | | We should not call requestActivateWindow() in reaction to WM_TAKE_FOCUS. Looks like it should only be done if the focus should in fact go to a modal child of the widget.
* revert accidental commitLars Knoll2011-06-071-1/+1
|
* remove unused codeLars Knoll2011-06-071-118/+0
|
* cleanups codeLars Knoll2011-06-079-166/+147
| | | | | | | Make QXcbClipboard and QXcbDrag a QXcbObject to simplify the code. Use the predefined atoms in xproto.h instead of our own defines.
* Fix some remaining issues with DnDLars Knoll2011-06-074-93/+10
| | | | | | | | | Do not set the event mask of the window we drop onto to NO_EVENT. Always use the clipboards requestor window to convert selections. Reviewed-by: Samuel
* add WM support classLars Knoll2011-06-079-15/+285
| | | | | | | | | Add a QXcbWMSupport class to better integrate with NET_WM compliant window managers. Suppport NET_WM_USER_TIME on windows. Reviewed-by: Samuel
* Implement XDnD in the xcb pluginLars Knoll2011-06-076-698/+601
| | | | | | | | | Ported most of the code to support dragging from qdnd_x11.cpp to xcb. Some features are still not working 100% correct, but it's becoming usable. Reviewed-by: Samuel
* X11 DnD implementationLars Knoll2011-06-0710-26/+1883
| | | | | | | | | | | Initial code for DnD on X11. Only Xdnd based, Motif DnD is being ignored. The code is currently limited to dropping stuff onto the application. Starting drags is not yet implemented. Reviewed-by: Samuel
* Made tst_QWidget::updateWhileMinimized() pass.Samuel Rødal2011-06-063-2/+15
| | | | | | | | | | This requires adding a couple of window system interface events, namely Map, Unmap, and Expose. When a widget is minimized on X11 it is unmapped, and thus update requests should not be delivered. Instead the event will delivered when the widget is mapped, which causes an Expose event to be sent. The Unmap and Expose event thus need to be handled in QWidgetWindow, and Map is also added for the purpose of API symmetry (and for future needs).
* Make building of platform plugins indifferent if its out of sourceJørgen Lind2011-06-061-14/+8
| | | | | This requires some source files to be shipped with the Qt install They are now copied into QT_INSTALL_DATA/platform
* Avoid setting the active window to null when there is a FocusIn queued.Laszlo Agocs2011-06-063-1/+40
|
* Implemented QXcbScreen::topLevelAt(const QPoint &p).Samuel Rødal2011-06-064-3/+52
| | | | This makes the tst_QWidget::widgetAt() auto-test pass.
* Make XCB plugin work better in combination with auto-tests.Samuel Rødal2011-06-061-0/+1
| | | | | | | | | When an auto-test calls processEvents() indirectly via QTest::qWait(), QAbstractEventDispatcher::aboutToBlock() doesn't get emitted since the processEvents() implementation gets called without the QEventLoop::WaitForMoreEvents flag set. Since the auto-tests depend on all events getting delivered, we need to process the XCB events on awake() as well.
* Basic QDesktopWidget support.Samuel Rødal2011-06-031-0/+9
| | | | | Makes it possible to use grabWindow on the desktop widget with the xcb plugin, which gives us a few more passing tests in tst_QWidget.
* Prevent crash in QXcbIntegration::grabWindow().Samuel Rødal2011-06-031-2/+1
| | | | Copy the image explicitly before calling QPixmap::fromImage().
* Implemented QXcbIntegration::grabWindow().Samuel Rødal2011-06-035-6/+255
|
* Add support for mouse and keyboard grab.Laszlo Agocs2011-06-032-0/+40
| | | | Reviewed-by: Samuel Rødal
* Get rid of superfluous debug output in the xcb plugin.Samuel Rødal2011-06-031-4/+0
|
* Merge branch 'refactor' of scm.dev.nokia.troll.no:qt/qtbase-staging into ↵Jørgen Lind2011-06-011-1/+1
|\ | | | | | | refactor
| * Have tooltips shown properly with xcb.Laszlo Agocs2011-06-011-1/+1
| |
* | Merge remote-tracking branch 'base/master' into refactorJørgen Lind2011-06-011-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/embedded/qmousepc_qws.cpp src/gui/embedded/qwslock.cpp src/plugins/decorations/default/default.pro src/plugins/decorations/styled/styled.pro src/plugins/decorations/windows/windows.pro src/plugins/gfxdrivers/ahi/ahi.pro src/plugins/gfxdrivers/directfb/directfb.pro src/plugins/gfxdrivers/eglnullws/eglnullws.pro src/plugins/gfxdrivers/linuxfb/linuxfb.pro src/plugins/gfxdrivers/qvfb/qvfb.pro src/plugins/gfxdrivers/transformed/transformed.pro src/plugins/gfxdrivers/vnc/vnc.pro src/plugins/graphicssystems/meego/meego.pro src/plugins/graphicssystems/opengl/opengl.pro src/plugins/graphicssystems/openvg/openvg.pro src/plugins/graphicssystems/shivavg/shivavg.pro src/plugins/graphicssystems/trace/trace.pro src/plugins/kbddrivers/linuxinput/linuxinput.pro src/plugins/mousedrivers/linuxtp/linuxtp.pro src/plugins/mousedrivers/pc/pc.pro src/plugins/mousedrivers/tslib/tslib.pro src/plugins/platforms/minimal/minimal.pro tests/auto/qerrormessage/qerrormessage.pro
| * Made qpluginbase.pri into a feature profile.axis2011-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | This enables other modules to use it without having access to the QtBase sources. Change-Id: I0a588b2e14ca88fa068c7c2bcc69ff669444f6c6 Task: QTBUG-19585 Reviewed-on: http://codereview.qt.nokia.com/237 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>