summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxintegration.cpp
diff options
context:
space:
mode:
authorKevin Krammer <kevin.krammer.qnx@kdab.com>2012-03-27 14:01:38 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-30 14:01:22 +0200
commitfa94f01489611f2c72d1678b4d9439a584e7c4f9 (patch)
treebdfbe453e9dd95a6c82b2cf465aa264e359c1f96 /src/plugins/platforms/qnx/qqnxintegration.cpp
parent891345072e079435fc7ccce327a651f1dfe848dd (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.cpp21
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