summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxscreen.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-141-13/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/doc/qtconcurrent.qdocconf src/corelib/doc/qtcore.qdocconf src/corelib/global/qglobal.h src/dbus/doc/qtdbus.qdocconf src/dbus/qdbusmessage.h src/gui/doc/qtgui.qdocconf src/gui/image/qimagereader.cpp src/network/doc/qtnetwork.qdocconf src/opengl/doc/qtopengl.qdocconf src/opengl/qgl.h src/plugins/platforms/windows/qwindowswindow.cpp src/printsupport/doc/qtprintsupport.qdocconf src/sql/doc/qtsql.qdocconf src/testlib/doc/qttestlib.qdocconf src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf src/widgets/doc/qtwidgets.qdocconf src/xml/doc/qtxml.qdocconf Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
| * Delay initialization of QQnxRootWindow until first access.Sergio Martins2013-01-291-13/+17
| | | | | | | | | | | | | | | | | | | | QtWebProcess, for example, doesn't create any QWindow, so it doesn't need any root window. This fixes Webkit2 rendering on QNX. Change-Id: I1d4c0dd20869798ba2bcd15f9d96e5fca4beb48e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch 'stable' into devFrederik Gladhorn2013-01-041-1/+1
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/painting/shared/shared.pri src/corelib/tools/qharfbuzz_p.h src/corelib/tools/qunicodetools.cpp src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp src/plugins/platforms/windows/qwindowsfontdatabase.cpp Change-Id: Ibc9860abf570e5ce8b052fb88feb73ec35e64bd3
| * Removed temporary backwards-compat properties and accessors in QWindowShawn Rutledge2012-12-031-1/+1
| | | | | | | | | | | | Change-Id: I718b877e3b6c0b1191a932d934599d5c2f5aa958 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | QNX: QQnxCursor implementation.Rafael Roquetto2012-12-131-1/+10
|/ | | | | | | | | | | Implementation of QQnxCursor, a QPlatformCursor subclass. Due to the lack of a proper cursor API from the underlying OS, this class only caches the current cursor position to make sure that the QCursor class works properly. Change-Id: I55031184a009f3b26ad4af36b1975204e8fa80dc Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QNX: code cleanup, use '0' instead of 'NULL'Rafael Roquetto2012-10-131-1/+1
| | | | | | | Qt coding style uses always 0. NULL is wrong. Change-Id: I163677b512214f853677d21d75f13142fe2ca88d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-23/+23
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Rotate non maximized windowsRafael Roquetto2012-09-191-1/+111
| | | | | | | | | | | | | | There are two types of rotation to be considered: 1. Rotation of native widgets The corresponding window should be rotated and resized proportionally to the new screen geometry. 2. Rotation of toplevel windows. The window will be only rotated. It will be only moved or resized if it becomes clipped, in order to be fitted on the screen properly. Change-Id: Ice92427ac07a9bea284e68917ff3e0f436722bc0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Allow app to run when spurious 2nd screen is reportedSean Harmer2012-08-171-4/+4
| | | | | | | | | | | | | | On the PlayBook, libscreen always seems to report the presence of a 2nd display even when none is connected. This of course leads to the failure to query this display for its physical size. This patch relaxes the demand for a physical size to being for the primary screen only. Change-Id: If30b1fd704e7a194a426a0a9f0b85557478105f7 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* (QNX) Make it possible to set physical screen sizeAndreas Holzammer2012-08-141-8/+51
| | | | | | | | | | | | | | | | It can happen that the system is reporting a screen width or height of zero, if the system does not know the size instead of returning an error. You can either set a define QQNX_PHYSICAL_SCREEN_WIDTH/QQNX_PHYSICAL_SCREEN_HEIGHT or set it as environment variable QQNX_PHYSICAL_SCREEN_SIZE. The preference order is: 1) Take detected size 2) Take size from env var 3) Take defined size if any define is set Change-Id: I493a2c8988a225224587a6c323efeb9e9b7b5a54 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Revert "Move QWindowSystemInterface out of qpa."Paul Olav Tvete2012-08-031-1/+1
| | | | | | | | | | | | | | This reverts commit 784a877d3cd9a1a75aca9c83146389503a966071. Conflicts: src/plugins/platforms/cocoa/qcocoawindow.mm src/testlib/qtestkeyboard.h src/testlib/qtestmouse.h src/testlib/qtesttouch.h Change-Id: Iebfed179b3eb7f30e4c95edcae5a8ad6fd50330e Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Move QWindowSystemInterface out of qpa.Stephen Kelly2012-07-191-1/+1
| | | | | | | | Public QtTest headers require it, so all unit tests would have to use private Qt headers otherwise, which is not practical. Change-Id: I5d4466ec30b6a57ebdfc34413e716e657eb51368 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Suppress QWindowSystemInterface inclusion warnings.Girish Ramakrishnan2012-07-031-1/+1
| | | | | | | | | | | | | Since QWindowSystemInterface is now part of QPA API. The correct inclusion is: #include <qpa/qwindowsysteminterface.h> #include <qpa/qwindowsysteminterface_p.h> Bulk of the work was done by: find . -type f | xargs sed -i -e 's,#include <\(QtGui/\)\?QWindowSystemInterface>,#include <qpa/qwindowsysteminterface.h>,g' Change-Id: If75fc32611e72ef1cf58505794def375b1acf74a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QNX: Flush after changing rotationThomas McGuire2012-06-271-0/+4
| | | | | | | | | This fixes a painting glitch where the window would stay in the old position with the old rotation until it got repainted. Change-Id: Id9de256b525760e8b32e55a87549efeccca151e0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* QNX: Take nativeOrientation into account for QNX device orientationsSean Harmer2012-06-061-10/+25
| | | | | | | Change-Id: Idfe4a5bd9c9638a1f9ae52a7b1def3f869286587 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Implement QQnxScreen::nativeOrientation()Kevin Ottens2012-06-051-0/+9
| | | | | | | | | | Provide a proper version of nativeOrientation(). We use the screen physical size as reported by the device to determine its native orientation. Change-Id: I45b593b0d62436529f89050e98e10b8c9463b6b9 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Rationalise the usage of qDebug() to remove lots of #ifdef'sSean Harmer2012-05-251-55/+27
| | | | | | Change-Id: I097e4af86a6a0941f4fd7e122970f88ba536ab38 Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Andriy Golovnya <andriy.golovnya@googlemail.com>
* QNX: Force windows resizing when the screen orientation changesKevin Ottens2012-05-241-0/+1
| | | | | | Change-Id: I82e464df86b55f04498a8f6f5c1cc5011cac0bd6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QNX: Post orientation change eventsKevin Ottens2012-05-231-1/+3
| | | | | | Change-Id: I4dc13e5388e065c2425641c7efabcdee8f94800e Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QNX: Implementing QPlatformScreen::refreshRate() for QNX QPASean Harmer2012-05-231-0/+18
| | | | | | Change-Id: I777ebd2c1ca51d244de714eb5b235d931df044d6 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QNX: Take orientation into account when reporting physical sizeSean Harmer2012-05-211-3/+8
| | | | | | | | | Previously landscape orientation was assumed in the QQnxScreen ctor. We now calculate the initial physical dimensions correctly. Change-Id: I6c434eaba1f931c769f343671fb80052287b51e5 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Implement the QPlatformScreen::orientation() functionSean Harmer2012-05-211-2/+17
| | | | | | | | Also removed some invalid TODO comments. Change-Id: I470a9a6538ce10a3a14df14faa641d7be7f18a74 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Special case z-ordering of the QDesktopWidget windowSean Harmer2012-05-191-1/+11
| | | | | | | | | | | | | | | | | The assumption that window creation order implies correct initial z-ordering is broken when dealing with certain window types. In this commit we special case the QDesktopWidget's window which maybe created after normal application windows yet still need to be layered below them. Without this fix we may accidentaly activate the Desktop window when the blackberry navigator service sends an event to activate the window group. That results in broken focus handling. Change-Id: I42dfde2efb4a0011e37e7bd2e7c5442590606a24 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Query the screen physical size rather than assuming fixed dpi of 96Sean Harmer2012-05-071-10/+1
| | | | | | | Change-Id: I405e8d1cfbf7f0607f8525f9c8c93053109478d9 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Advertise window (de)activation to Qt event systemKevin Ottens2012-05-031-0/+30
| | | | | | | | | | | The integration plugin now connects screens to the newly introduced signals of the navigator event handler. The relevant screen then push a corresponding event to the Qt event loop. Change-Id: Ide6779bd1288c6560d113c77c60fc0ae30866d7f Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Move handling of rotation changes from event handler to screenKevin Krammer2012-04-031-0/+6
| | | | | | | | | | | | | | Have the navigator event handler emit the new rotation as a signal argument and let the screen class handle all parts of the change, i.e. also notifying the window system about the geometry change. This also allows to rotate all screens, not just the primary screen, if this should be necessary. Change-Id: I304a80232b84d2d9130e38e955d5a75b1ccad775 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Fix adding and removing of windows to their screenThomas McGuire2012-04-031-2/+3
| | | | | | | Change-Id: I5e0edf1515db60689c86b16b978863ae9e49bfdb Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Get rid of false positive warning when stopping video playbackThomas McGuire2012-04-031-2/+4
| | | | | | | | | | | The multimedia library actually creates two windows, and therefore the first call to updateHierarchy() would try to update the z-order of a no longer existing window. Change-Id: I499d049e2885ff848f38d9cc5880aa63235b1b4c Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Add support for screen overlays / foreign windowsThomas McGuire2012-03-301-0/+47
| | | | | | | | | | | | | We're not the only one creating native windows. When using the multimedia API, the multimedia library creates a video window for video display. Here we need to deal with giving this video window overlay a proper z-order, otherwise it will never get visible. Change-Id: Ibff0382ebee5cda87408b91c8181a4104fc4a1a3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove static methods in QQnxScreenThomas McGuire2012-03-301-63/+32
| | | | | | | Change-Id: If0fd910848ba70d3b0a2d948065b09337f8e51c3 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Refactoring virtual keyboard class into non-singletonKevin Krammer2012-03-281-3/+14
| | | | | | | | | | | | | Getting rid of the singleton gives us better control over when the virtual keyboard handling class is instantiated and configured. Also notify screens about keyboard height changes and let them notify through QWindowSystemInterface instead of "guessing" the screen in QQnxVirtualKeyboard. Change-Id: I71a7f6b5e9d5455563404f6abe7a0daec567a12d Reviewed-by: Sean Harmer <sh@theharmers.co.uk> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Need to check new rotation against initial rotation instead of currentKevin Krammer2012-03-221-1/+1
| | | | | | | | | Only swap width/height of initial geometry if orthogonal to initial rotation not orthogonal to current rotation Change-Id: I825954e98dee6c0d07a284307dfb8e1f9fd538e6 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
* Rename blackberry QPA plugin to QNXSean Harmer2012-03-121-0/+315
Changing the naming scheme from Blackberry to QNX in line with pattern of using platform names. Change-Id: I048a6a18010bc932311d63c8dde19ccab97894c8 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>