summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxintegration.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QNX: Adding native file dialog support for BlackberrySean Harmer2012-05-261-1/+1
| | | | | | | | | | | | | This patch enables use of native file dialogs in the application modal case. The native file open dialog is reasonable but the native file save dialog could do with some improvements to make it more usable. Perhaps providing our own "native" dialog UI would be an option once the widget style is finished. Change-Id: If5fb7cf73d27e52db7bfa6d97d8f8fb7912960bb Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QNX: Rationalise the usage of qDebug() to remove lots of #ifdef'sSean Harmer2012-05-251-59/+25
| | | | | | Change-Id: I097e4af86a6a0941f4fd7e122970f88ba536ab38 Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Andriy Golovnya <andriy.golovnya@googlemail.com>
* QNX: Register for navigator events before any window creationSean Harmer2012-05-231-6/+14
| | | | | | | | | | | | | This prevents a possible race condition in which the nvaigator service notices that we have created a window and starts sending us messages possibly before we have registered with bps for navigator messages. This resulted in applications sometimes missing navigator messages at startup. Change-Id: I362fd782d7798990bc196f23e07b58293b13275d Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* Adding QPlatformTheme support for Blackberry devices.Sean Harmer2012-05-191-0/+18
| | | | | | | | Starting off simple with fonts that follow the Playbook guidelines. Change-Id: If772f9a20c5e7566543be6bba47b49cdf3bf1524 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Expose QPA API under qpa/*Girish Ramakrishnan2012-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Advertise window (de)activation to Qt event systemKevin Ottens2012-05-031-0/+2
| | | | | | | | | | | 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>
* Add implementation of virtual keyboard based on BPS eventsKevin Krammer2012-05-021-11/+20
| | | | | | | Change-Id: Ida4fa344c54db32b7b22b08a124b8c7b6df8adef Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Handle navigator events in BPS event filterKevin Krammer2012-05-011-2/+3
| | | | | | | Change-Id: I37b5de4bf1e9f9bbe53910eb5e3f490172b28371 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Register for and handle screen events delivered through BPSKevin Krammer2012-05-011-11/+21
| | | | | | | | | | Delegates actual event inspection and reaction to the screen event handler class already used by the PPS screen event handler Change-Id: Ic07efa1de3f6b452f3091e901bd8a577175e3cf0 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Use BPS based event dispatcherKevin Krammer2012-04-301-0/+21
| | | | | | | | | | | | | | | Create a QPA specific subclass of the blackberry event dispatcher (basically the BPS equivalent to the QUnixEventDispatcherQPA created by createUnixEventDispatcher()). Create an event dispatcher event filter that will receive all BPS events and then either handle them itself or delegate to event subtype specific handlers. Change-Id: I112e0274156727d3aa9e5693b59d041c65be4daf Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Create interface for navigator calls and implement for BPS and PPSKevin Krammer2012-04-261-35/+52
| | | | | | | | | | | | Makes QQnxServices available on non-BPS systems by delegating to an interface which is implemented on systems with BPS using the currenly used navigator API and on systems without BPS by sending an appropriate message to the navigator's PPS service interface. Change-Id: I0e32fb11e6debb7b7b4693c0bc02af4f75ee2162 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Build the QNX plugin with -no-opengl enabled.Stephen Kelly2012-04-231-3/+16
| | | | | | Change-Id: I776a3eb0d7ada4399b8c191bbfa1e3ed9236b20e Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Make the QNX QPA plugin work with non blackberry.Stephen Kelly2012-04-231-5/+20
| | | | | | | | Change-Id: Id85d18d9f21711e8d53e8e4bfdf39d10e135f593 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Refactor navigator event handlingKevin Krammer2012-04-121-8/+10
| | | | | | | | | | | | | Separate PPS based navigator event notification handling and implementation of the actual event handling. Like the similar refactoring for screen events, this will allow to reuse the same event handler class for BPS driven event processing. Change-Id: I29d4a082cb01ff7943b7822ea9aa8ad622fda593 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Re-enable PPS based rotation handling for blackberry devicesKevin Krammer2012-04-041-2/+0
| | | | | | | | | BPS based event handling not there yet, so make use of the non-blackberry QNX facility until it is. Change-Id: I95cdbfbe36cd23e71710c8cad0b292a5a375c214 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Fixing the QNX QPA build for non blackberry targetsKevin Krammer2012-04-031-4/+1
| | | | | | | Change-Id: I3d0bb33cadae946d21f8b2566840be9b1ae5101a Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Delete the screen event handler after its last user.Thomas McGuire2012-04-031-1/+2
| | | | | | Change-Id: I2e3c6d08c0dcdd4b954570e9a2198c190c8fffd2 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Move handling of rotation changes from event handler to screenKevin Krammer2012-04-031-10/+14
| | | | | | | | | | | | | | 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>
* Add a native interface with the possibility to query the window groupThomas McGuire2012-04-021-0/+9
| | | | | | | | | | This is needed for QtMultimedia, as it uses the native mmrenderer API which expects to get passed the window group when creating a video overlay window. Change-Id: I07d790e6e20714741c04917068b41b71b8939fa4 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Add support for screen overlays / foreign windowsThomas McGuire2012-03-301-1/+10
| | | | | | | | | | | | | 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-17/+50
| | | | | | | 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/+16
| | | | | | | | | | | | | 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>
* Move screen event processing into its own classKevin Krammer2012-03-281-1/+1
| | | | | | | | | | The event handler class can then be reused when we have proper BPS event support available from corelib Change-Id: Iafe645e69248597377045c711108ce0acbe3984b Reviewed-by: Sean Harmer <sh@theharmers.co.uk> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Initial implementation of QQnxServicesRafael Roquetto2012-03-231-0/+17
| | | | | | | | | | Extends platform services for QNX devices. Change-Id: I1eb685cdb38591cd73eaaf40ffb5691db0142953 Reviewed-by: Jeff Kehres <jkehres@rim.com> Reviewed-by: Sean Harmer <sh@theharmers.co.uk> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Use main thread event loop for navigator event processingKevin Krammer2012-03-211-6/+12
| | | | | | | | | Removes the need for an extra thread by creating the event handler's socket notifier in the context of the main thread. Change-Id: If8c7bb986074083b5b9a7b9c96734a970ba32f92 Reviewed-by: Sean Harmer <sh@theharmers.co.uk> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Rename blackberry QPA plugin to QNXSean Harmer2012-03-121-0/+293
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>