summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxnativeinterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxnativeinterface.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxnativeinterface.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/plugins/platforms/qnx/qqnxnativeinterface.cpp b/src/plugins/platforms/qnx/qqnxnativeinterface.cpp
index e468b051cd..df9d96739a 100644
--- a/src/plugins/platforms/qnx/qqnxnativeinterface.cpp
+++ b/src/plugins/platforms/qnx/qqnxnativeinterface.cpp
@@ -44,6 +44,9 @@
#include "qqnxglcontext.h"
#include "qqnxscreen.h"
#include "qqnxwindow.h"
+#if defined(QQNX_IMF)
+#include "qqnxinputcontext_imf.h"
+#endif
#include <QtGui/QOpenGLContext>
#include <QtGui/QScreen>
@@ -85,10 +88,27 @@ void *QQnxNativeInterface::nativeResourceForContext(const QByteArray &resource,
void QQnxNativeInterface::setWindowProperty(QPlatformWindow *window, const QString &name, const QVariant &value)
{
+ QQnxWindow *qnxWindow = static_cast<QQnxWindow*>(window);
+
if (name == QStringLiteral("mmRendererWindowName")) {
- QQnxWindow *qnxWindow = static_cast<QQnxWindow*>(window);
qnxWindow->setMMRendererWindowName(value.toString());
+ } else if (name == QStringLiteral("windowGroup")) {
+ if (value.isNull())
+ qnxWindow->joinWindowGroup(QByteArray());
+ else if (value.canConvert<QByteArray>())
+ qnxWindow->joinWindowGroup(value.toByteArray());
}
}
+QPlatformNativeInterface::NativeResourceForIntegrationFunction QQnxNativeInterface::nativeResourceFunctionForIntegration(const QByteArray &resource)
+{
+#if defined(QQNX_IMF)
+ if (resource == "blackberryIMFSetHighlightColor")
+ return reinterpret_cast<NativeResourceForIntegrationFunction>(QQnxInputContext::setHighlightColor);
+ if (resource == "blackberryIMFCheckSpelling")
+ return reinterpret_cast<NativeResourceForIntegrationFunction>(QQnxInputContext::checkSpelling);
+#endif
+ return 0;
+}
+
QT_END_NAMESPACE