summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbwindow.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Reimplement QXcbWindow::startSystemResize() with xcbUli Schlachter2012-06-221-20/+15
| | | | | | | | | | This function just sends a ClientMessage to the window manager. XCB can do this fine and there is no need to require Xlib for the job. Change-Id: Iad3d78c393c1f439fff987fa19b4d82513810930 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Introduce QPA API for size grip handling.Friedemann Kleint2012-06-141-0/+33
| | | | | | | | | | - Introduce API to do size grip handling (mouse press and move). - Move Windows code to Windows plugin. - Move X11 code to XCB plugin and activate it. Change-Id: I2f61d6ddc1fa07447e668554d41ecc820efca23f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Implement QXcbWindow::setWindowIconCorentin Jabot2012-06-021-0/+45
| | | | | | | Change-Id: I1908cbef0c20d3725423b559f234bd6d3ddd4167 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix xcb plugin compilation for -qconfig largeTasuku Suzuki2012-05-261-0/+4
| | | | | | Change-Id: I1ee1fb9c140396e83272d607ee4dd63ce2c50b8d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Initialize member variable in QXcbWindowPekka Vuorela2012-05-241-0/+1
| | | | | Change-Id: Iddf3f70ae2cb7be0703c0084da87e41412ad1d06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Improve widget geometry.Friedemann Kleint2012-05-091-7/+38
| | | | | | | | | | | | | | | | | | | | | | | | - Rename posFromMove to posIncludesFrame in Widgets and make the handling more fine-grained; try to clean it up as soon as the frame margins are known in QWidgetPrivate::fixPosIncludesFrame(). - Implement QWidgetPrivate::updateFrameStrut(). - Windows: Handle posIncludesFrame in window creation, notify changed geometry after setting window flags. - XCB: Do not change the window gravity in propagateSizeHint() as this causes the window to jump around. Determine the gravity in window creation, leave it constant and fix the geometry when setting instead. - Store the normal geometry when maximize/fullscreen state change events are received. - Remove xfails from fixed tests Task-number: QTBUG-25331 Task-number: QTBUG-24905 Task-number: QTBUG-24294 Change-Id: I89c7229d86aaf88f02247d63915da7905e4a27ea Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Expose QPA API under qpa/*Girish Ramakrishnan2012-05-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reasons for doing this are: 1. _qpa.h end up in the master QtGui include file. QtGui is meant for userland applications. qpa code is neither binary nor source compatible. Inadvertant use of QPA api makes the user code binary-incompatible. 2. syncqt creates forwarding headers for non-private header files. This gives people the impression that this is public API. As discussed on the mailing list, even though QPA api is internal and subject to change, it needs to treated differently from private headers since they will be used by in-qtbase and out-of-qtbase plugins. This commit does the following: 1. The _qpa in QPA header files is dropped. 2. syncqt now treats any file with qplatform prefix as a special file and moves it to qpa/ directory. The recommended way of using QPA API in plugins is: #include <qpa/qplatformfoo.h>. This allows the user include QPA API from multiple modules (for example, qplatformfoo might be in QtPrintSupport) 3. The user needs to explicitly add QT += <module>-private to get access to the qpa api. 4. Creates compat headers for the olden style qplatformfoo_qpa.h and QPlatformFoo includes. This commit does not change the cpp filenames. This requires a more careful merging of existing non qpa cpp files and existing cpp files on a case by case basis. This can be done at anytime. The following files are not renamed as part of this changed but will be fixed as part of a future change: src/gui/kernel/qgenericpluginfactory_qpa.h src/gui/kernel/qgenericplugin_qpa.h src/gui/kernel/qwindowsysteminterface_qpa.h files were renamed using for x in `find . -name "qplatform*_qpa.h"`; do git mv $x "${x/_qpa.h/.h}"; done for x in `find . -name "qplatform*_qpa_p.h"`; do git mv $x "${x/_qpa_p.h/_p.h}"; done includes were renamed using script for file in `find . -name "*.h" -or -name "*.cpp" -or -name "*.mm"`; do sed -i -e 's,.*#.*include.*<\(Qt.*/\)\?\(QPlatform.*\)>,#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.*"\(Qt.*/\)\?\(QPlatform.*\)",#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.* "\(qplatform.*\)_qpa.h",#include <qpa/\L\1.h>,g' \ -e 's,.*#.*include.*"\(qplatform.*\)_qpa_p.h",#include <qpa/\L\1_p.h>,g' \ -e 's,.*#.*include.*<\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)>,#include <qpa/\2\3>,g' \ -e 's,.*#.*include.*"\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)",#include <qpa/\2\3>,g' \ $file done Change-Id: I04a350314a45746e3911f54b3b21ad03315afb67 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Update QXbWindow orientation APILauro Neto2012-05-021-1/+1
| | | | | | | | | | | | | After orientation handling was split in window orientation and content orientation QXcbWindow remained with the old api. This patch renames setOrientation to handleContentOrientationChange, fixing the issue of double status bar (portrait and landscape) when running Qt5 apps with QtComponents on N9 in portrait mode. (thanks to Simon for pointing out the difference between changing the window and the content orientations) Change-Id: I20d0be0c7f7e4593ac1e3c2ac2518144fc7fed0e Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-04-161-75/+81
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/corelib/io/qurl.cpp src/gui/kernel/qwindow.cpp src/tools/moc/generator.cpp src/widgets/kernel/qwidget_qpa.cpp src/widgets/styles/qstyle.h src/widgets/widgets/qtabbar.cpp tests/auto/corelib/codecs/utf8/tst_utf8.cpp Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
| * XCB: Compress window state change events.Friedemann Kleint2012-04-111-75/+81
| | | | | | | | | | | | | | | | | | | | - Avoid sending Window State change events from WM_STATE/NET_WM_STATE changes irrelevant to Qt::WindowState. - Introduce QFlags for the NetWmState getter and setter to avoid passing QVector<> around. Change-Id: I74730928c7fffca0fa1cab3b90ded90b06304c06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-101-65/+20
|\| | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * XCB: Simplify xcb error handlingUli Schlachter2012-03-271-65/+20
| | | | | | | | | | | | | | | | | | | | | | Instead of getting errors just to feed them to the default error handle, the corresponding unchecked request is used which automatically makes errors go to the default error handler. Change-Id: Ib213a860affb72de6f9896f68505e283a809d58f Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Merge master into api_changesKent Hansen2012-03-271-6/+9
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qisenum.h src/dbus/qdbusconnection_p.h src/widgets/kernel/qwidget.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
| * Use XCB_TIME_CURRENT_TIME instead of CurrentTime from X.h in xcb plugin.Samuel Rødal2012-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | The less X header dependencies the better, we might at some time in the future be able to do without the XCB_USE_XLIB define as well. Change-Id: Ib45986036febef70798851ee8455e054eafc9d22 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * xcb: fix (negative) coordinate handlingMarc Mutz2012-03-241-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason, XCB accepts positions as unsigned integers, even though the X protocol explicitly allows negative values (windows overlapping the left/top screen border). After discussion with Samuel and Laszlo, use a reinterpret_cast to convert from the signed representation to the unsigned one. I also extended the clipping of the extents to the position. I guess if X can't handle widths beyond XCOORD_MAX, it won't be happy with x-coordinates exceeding that limit, either. Change-Id: I2fa0e61f823b6cd45dad6471eaa55f38bb3c3e52 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
| * Implement QSystemTrayIcon for X11.Friedemann Kleint2012-03-231-0/+1
| | | | | | | | | | | | | | Reimplement using a QWidget. Use X Change-Id: I7f8326598fb7210d59bc1d682cdada4526d5b6dd Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Got rid of Map / Unmap events in favor of Expose event.Samuel Rødal2012-03-221-3/+20
|/ | | | | | | | | | | | | | | | | | Since change 2e4d8f67a871f2033 the need for Map and Unmap events has gone away, as now the Expose event is used to notify the application about when it can start rendering. The Map and Unmap events weren't really used except by QWidget to set the WA_Mapped flag, which we now set based on the expose / unexpose. Also guarantee that a Resize event is always sent before the first Expose, by re-introducing an asynchronous expose event handler. Since an expose is required before rendering to a QWindow, show a warning if QOpenGLContext::swapBuffers() or QBackingStore::flush() if called on a window that has not received its first expose. Change-Id: Ia6b609aa275d5b463b5011a96f2fd9bbe52e9bc4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fixed incorrect reporting of child window geometry in xcb plugin.Samuel Rødal2012-03-151-1/+1
| | | | | | | | We should only query the position for top levels, otherwise trust the position given in the event. Change-Id: Ic29f25983af3e2c2f27eeb527c08069435ac938c Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Made sure first created xcb window still receives focus.Samuel Rødal2012-03-141-1/+2
| | | | | | | | | | | | Change 50ca45f059524293790 caused mapped windows to not receive focus by default. The _NET_WM_USER_TIME spec says that if the user time is set to 0 (or CurrentTime), the window will not be initially focused. Thus, if the connection time has not yet been set, we skip this part to restore the old behavior. Change-Id: I19de3602c78629ad2bc65f5e1976313949c82c4c Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Defer window activation if the window hasn't beenn mapped yet.Lars Knoll2012-03-081-1/+7
| | | | | Change-Id: I60d616fc60d3be9b55ab2599abadede5f7c11f93 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Worked around Metacity crashes in xcb plugin.Samuel Rødal2012-03-061-0/+2
| | | | | | | | | | | Setting the user time before mapping the window seems to prevent the crasher from happening. We used to set the user time before mapping in Qt 4.8 too, so it's probably the right thing to do. Task-number: QTBUG-24462 Change-Id: Ia670b799bd1ed7a7e6399631d5242e57324918b3 Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Cleaned up debug and warning output in xcb plugin.Samuel Rødal2012-03-021-2/+2
| | | | | | | | | Got rid of unnecessary debug output, and prefixed debug / warnings with class name to provide more context. Change-Id: Ia68e85ec0207de4d87d02226bdf6e4cddf464afc Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Unset _NET_WM_USER_TIME_WINDOW before destroying the windowJan Arne Petersen2012-03-011-0/+8
| | | | | | | | | | Otherwise metacity was crashing when a QWindow was destroyed immediately after being activated, because metacity was trying to select events (XSelectInput) for the already destroyed m_netWmUserTimeWindow. Task-number: QTBUG-24492 Change-Id: Iedbe7bdd6b26110ca8bec6f33525209ae551ffd5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add support for _NET_ACTIVE_WINDOW on xcbJan Arne Petersen2012-03-011-2/+23
| | | | | | | | | | | | | | | Use a _NET_ACTIVE_WINDOW client message instead of xcb_set_input_focus for activating toplevel windows on xcb. According to the Extended Window Manager Hints the right way to activate a top-level window is using _NET_ACTIVE_WINDOW (when it is supported by the WM). Other approaches like calling xcb_set_input_focus should be avoided when possible, since the WM cannot intercept them. Change-Id: I9be4901f56cbcfb563baf73ccd71ff17a9bdc1d2 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Refactor the QPA dnd interface.Friedemann Kleint2012-02-291-3/+3
| | | | | | | | | | | | | | | - Give QPlatformDrag a synchronous drag() function returning the Qt::DropAction - Move the base functionality for asynchronous event handling to the platformsupport library as QBasicDrag (extendable base class handling drag icon and providing new virtuals) and QSimpleDrag (sample implementation for drag within the Qt application). - Change the Windows implementation accordingly. - Change XCB to be based on QBasicDrag. - Clean up QDragManager. Change-Id: I654f76f0e55a385ba189bd74f3ceaded6a8fe318 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Add WindowDoesNotAcceptFocus flag and use it in xcbJan Arne Petersen2012-02-231-0/+24
| | | | | | | | | | | Add window flag to support windows which should not get the input focus. Sets the input field in the WM_HINTS structure of the window to false if the WindowDoesNotAcceptFocus flag is set on a window in xcb. Change-Id: Ifbc10695b83484c17dca0eb13ea826d74f174833 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Use requested window format to match rest of the patch in 38257651Tor Arne Vestbø2012-02-211-1/+1
| | | | | | | | | Otherwise we end up with an error at runtime: QEGLPlatformContext::makeCurrent: eglError: 3009, this: 0x4b5c58 Change-Id: I1e794f427243e40f0a8f572a936b9fb756e89f8a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove QPlatformIntegration/QPlatformTheme from QGuiAppPrivate.Friedemann Kleint2012-02-201-0/+2
| | | | | | | Forward-declare instead. Change-Id: I3851994e8bc05b389e94e948478339ba33d521c1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Properly read back the actual format in xcb and xlib plugins.Samuel Rødal2012-02-101-5/+7
| | | | | Change-Id: Iccef2c4a87863b93914b84edf3a6015dad5e512a Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix compilation of MeeGo/Maliit related code after Qt::ScreenOrientation API ↵Simon Hausmann2012-01-271-1/+1
| | | | | | | | | changes Qt::UnknownOrientation is now Qt::PrimaryOrientation. Change-Id: I2846a90bd11ecd1416c29b7bd861f180ccb129a1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
* Fall back on glXChooseVisual() if glXChooseFBConfig() doesn't work.Samuel Rødal2012-01-271-19/+18
| | | | | | | | | | Some older drivers don't fully support glXChooseFBConfig(). As a bonus, fix some memory leaks here and there. Task-number: QTBUG-21880 Change-Id: Ie306dee27f616927a6aa55fd71601569b828afcc Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add support for QWindow::setOrientation on HarmattanSimon Hausmann2012-01-171-0/+17
| | | | | | | | | | Set the _MEEGOTOUCH_ORIENTATION_ANGLE property on the window, just like Qt Components for MeeGo and MeegoTouch itself. Change-Id: I0b9adf4550593678bbcba89a2d4f1f65c1f4bd20 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add correct event mask for Qt::WindowTransparentForInput in xcb pluginJørgen Lind2011-11-151-1/+5
| | | | | Change-Id: I4c683c08876cc6fa934971399af7e48b160168fc Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Properly handle position in non-synthetic ConfigureNotify with xcbLaszlo Agocs2011-11-151-1/+18
| | | | | | | | | | | | | | | The received window position cannot be trusted blindly, e.g. in case of resizing a window via the mouse or calling showMaximized() the position is bogus (for our purposes). Instead, it needs to be queried. Before 37f338e5edc6d7b70b5a4eaf63326f2a22d7bfbd an incomplete workaround was in place however it got removed in that commit, resulting in weird off-by-a-certain-amount mouse position issues in certain use cases. This patch aims to fix the issue similarly to how it was done in Qt4. Change-Id: I2d2a69b81a2782117b700fe366fae4c102aca1f4 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Support 31 mouse buttons (with platform plugins xcb and xlib).Rick Stockton2011-11-141-9/+30
| | | | | | | | | | | | | This commit includes changes for mouse button support within the XCB and XLIB platform plugins. Support in other platform plugins will be added in the future. The namespace update is prerequisite to compile the the Plugins, and the update in qguiapplication.cpp is required for the enhancements to actually work. Task-number: QTBUG-22642 Change-Id: Ie18fca3b9c86d0b6abbf2103a4f8582e6ce83e7d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add multipoint touch support for Harmattan to the xcb platform plugin.Jocelyn Turcotte2011-10-171-0/+21
| | | | | | | | | | | Proper multipoint touch support was only introduced in XInput2.1, but Harmattan uses a tweaked version of XInput2.0 that transfers touch data through mouse events. This patch applies on the xcb plugin a subset of the changes that were applied on the Qt 4.7 that was shipped to Harmattan to get similar multipoint touch support. Change-Id: Ifda7ad40de29d7ded1443d4f78b3ec3807303a9f Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Do not fail user time window creation when xcb is using xlibLaszlo Agocs2011-10-171-2/+6
| | | | | | | | | | | | | | | | | | | QXcbWindow::updateNetWmUserTime() creates a new window using the actual window as its parent. This operation was failing when Xlib usage and GLX (or EGL) was enabled because in these cases the real window was created with a different visual using XCreateWindow. For the user time window however we were passing the xcb_screen's root_visual always, and this cannot work when Xlib+GLX/EGL is in use, resulting in a BAD_MATCH (followed by some annoying flicker on the screen on Ubuntu at least, or a full log off (X crash?) on Fedora). The patch saves the visual id used to create the actual window and passes that when creating the user time window. This way the creation of the user time window succeeds with Xlib+GLX too. Change-Id: If3925d9ac1670d385dcc7c2b475c196908569f06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Minor build fix for newer XCB versionsJani Uusi-Rantala2011-10-101-0/+1
| | | | | | | | | | - Defines XCB_WM_STATE_WITHDRAWN as XCB_ICCCM_WM_STATE_WITHDRAWN if necessary Change-Id: I4212a0e1d7f14ac6695d23d6586dd97f898d3f2b Signed-off-by: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com> Reviewed-on: http://codereview.qt-project.org/6267 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Make sure window state is synced back to Qt from the XCB plugin.Samuel Rødal2011-10-071-0/+47
| | | | | | | | | | We should properly react to the property notify events. Task-number: QTBUG-21856 Change-Id: I0d2aa90b7d8da3b96acf4d88684b0200de7d7413 Reviewed-on: http://codereview.qt-project.org/6266 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix QMouse/Wheel/TouchEvent::modifiers with the XCB back-endSimon Hausmann2011-10-071-7/+10
| | | | | | | | | | | | The modifiers are provided by X and need to be propagated through the QWindowSystemInterface. Change-Id: I127d0b6e9918b558ca15d9302c4cc0cbd94eb757 Reviewed-on: http://codereview.qt-project.org/6244 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> Sanity-Review: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
* Fix XCB back-end on HarmattanSimon Hausmann2011-10-041-3/+15
| | | | | | | | | | | Use RGB16 as image format on 16-bpp displays. Based on patch by Jocelyn Change-Id: Ic91ab33132769da59a2097abb43b64a2d09c0009 Reviewed-on: http://codereview.qt-project.org/5971 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make qtbase build with Qt-in-namespace againKent Hansen2011-09-281-0/+4
| | | | | | | Change-Id: I5faa8690a05d6ec352fc69c0b69848539f2ed216 Reviewed-on: http://codereview.qt-project.org/5460 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Implemented QWidget's move() vs setGeometry() distinction in QWindow.Samuel Rødal2011-09-231-3/+8
| | | | | | | | | | | | | | QWidget's move() sets the position of the window including the window frame, unlike setGeometry(). There was no equivalent for this in QWindow, so several QWidget auto-tests were failing. Now we add setFramePos() to achieve the same purpose in QWindow. This fixes tst_QWidget::windowState(), which uses move(). Change-Id: I9a3e558bd615a8f0234cc3dd94fbb2bf5ecbc148 Reviewed-on: http://codereview.qt-project.org/5405 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Don't flood expose events in the xcb plugin.Samuel Rødal2011-09-231-1/+11
| | | | | | | | | | | | The X server sends a series of expose events, where the count member specifies how many expose events are remaining in the current series. By merging them into an expose region we can send a single expose event to the lighthouse interface. Change-Id: If73c9972fe02c5e4137e8742aaaf5679ccea5a09 Reviewed-on: http://codereview.qt-project.org/5366 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Only set frame margins as dirty when we get a configure notify event.Samuel Rødal2011-09-231-5/+2
| | | | | | | | | | | It's dangerous to set them as dirty in anticipation of a configure notify event, as if frameMargins() is called before the event is received the computed values are bogus. Change-Id: Ib6db975fba5fcb13a2511e4716cbb5ca79265c34 Reviewed-on: http://codereview.qt-project.org/5365 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fixed geometry issues.Samuel Rødal2011-09-231-9/+3
| | | | | | | | | | | We need to compare against the window's currently known geometry to know when to send resize and move events. Also make sure at least one resize event is sent, instead of sending one before each expose. Change-Id: Id7ebe4c1c0e723af9198c668a0c736d64efdbf3e Reviewed-on: http://codereview.qt-project.org/5364 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add Qt::WindowTransparentForMouseEventsLars Knoll2011-09-211-0/+39
| | | | | | | | | | | Add a flag for output only windows that are transparent for mouse events and implement it for the xcb backend. Change-Id: I24afdb6b27de34bcdf0c061a5a4987ac2880e4ae Reviewed-on: http://codereview.qt-project.org/5260 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>