diff options
author | Kevin Krammer <kevin.krammer.qnx@kdab.com> | 2012-03-27 14:01:38 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-30 14:01:22 +0200 |
commit | fa94f01489611f2c72d1678b4d9439a584e7c4f9 (patch) | |
tree | bdfbe453e9dd95a6c82b2cf465aa264e359c1f96 /src/plugins/platforms/qnx/qqnxintegration.cpp | |
parent | 891345072e079435fc7ccce327a651f1dfe848dd (diff) |
Use BPS based event dispatcher
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>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxintegration.cpp')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxintegration.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/plugins/platforms/qnx/qqnxintegration.cpp b/src/plugins/platforms/qnx/qqnxintegration.cpp index e75b3ef7a9..b3c39498d4 100644 --- a/src/plugins/platforms/qnx/qqnxintegration.cpp +++ b/src/plugins/platforms/qnx/qqnxintegration.cpp @@ -52,6 +52,7 @@ #include "qqnxservices.h" #if defined(Q_OS_BLACKBERRY) +#include "qqnxbpseventfilter.h" #include "qqnxnavigatorbps.h" #elif defined(QQNX_PPS) #include "qqnxnavigatorpps.h" @@ -70,7 +71,12 @@ #endif #include "private/qgenericunixfontdatabase_p.h" + +#if defined(Q_OS_BLACKBERRY) +#include "qqnxeventdispatcher_blackberry.h" +#else #include "private/qgenericunixeventdispatcher_p.h" +#endif #include <QtGui/QPlatformWindow> #include <QtGui/QWindowSystemInterface> @@ -106,7 +112,12 @@ QQnxIntegration::QQnxIntegration() #if !defined(QT_NO_OPENGL) , m_paintUsingOpenGL(false) #endif +#if defined(Q_OS_BLACKBERRY) + , m_eventDispatcher(new QQnxEventDispatcherBlackberry()) + , m_bpsEventFilter(0) +#else , m_eventDispatcher(createUnixEventDispatcher()) +#endif , m_nativeInterface(new QQnxNativeInterface()) , m_screenEventHandler(new QQnxScreenEventHandler()) #if !defined(QT_NO_CLIPBOARD) @@ -169,6 +180,12 @@ QQnxIntegration::QQnxIntegration() // Create services handling class if (m_navigator) m_services = new QQnxServices(m_navigator); + +#if defined(Q_OS_BLACKBERRY) + m_bpsEventFilter = new QQnxBpsEventFilter; + m_bpsEventFilter->installOnEventDispatcher(m_eventDispatcher); +#endif + } QQnxIntegration::~QQnxIntegration() @@ -220,6 +237,10 @@ QQnxIntegration::~QQnxIntegration() // Destroy navigator interface delete m_navigator; +#if defined(Q_OS_BLACKBERRY) + delete m_bpsEventFilter; +#endif + #if defined(QQNXINTEGRATION_DEBUG) qDebug() << "QQnx: platform plugin shutdown end"; #endif |