From 462c75be9e9cfde6263e85fd846f7b5b3fae0b0a Mon Sep 17 00:00:00 2001 From: Sami Nurmenniemi Date: Wed, 7 Jun 2017 12:24:56 +0300 Subject: Add support for input contexts to offscreen platform This is needed to use qtvirtualkeyboard with offscreen platform [ChangeLog][Platform Specific Changes] Input context support to offscreen platform Task-number: QTBUG-60268 Change-Id: Id24dc8b0461036923df2c1624bcb913d28e0819e Reviewed-by: Simon Hausmann --- src/plugins/platforms/offscreen/qoffscreenintegration.cpp | 12 ++++++++++++ src/plugins/platforms/offscreen/qoffscreenintegration.h | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp index 0c39950019..3eb8675d77 100644 --- a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp +++ b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp @@ -59,6 +59,8 @@ #include #include +#include +#include #include @@ -118,6 +120,16 @@ QOffscreenIntegration::~QOffscreenIntegration() { } +void QOffscreenIntegration::initialize() +{ + m_inputContext.reset(QPlatformInputContextFactory::create()); +} + +QPlatformInputContext *QOffscreenIntegration::inputContext() const +{ + return m_inputContext.data(); +} + bool QOffscreenIntegration::hasCapability(QPlatformIntegration::Capability cap) const { switch (cap) { diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.h b/src/plugins/platforms/offscreen/qoffscreenintegration.h index df647a31ef..569ec8fc28 100644 --- a/src/plugins/platforms/offscreen/qoffscreenintegration.h +++ b/src/plugins/platforms/offscreen/qoffscreenintegration.h @@ -54,6 +54,7 @@ public: QOffscreenIntegration(); ~QOffscreenIntegration(); + void initialize() Q_DECL_OVERRIDE; bool hasCapability(QPlatformIntegration::Capability cap) const Q_DECL_OVERRIDE; QPlatformWindow *createPlatformWindow(QWindow *window) const Q_DECL_OVERRIDE; @@ -61,6 +62,8 @@ public: #ifndef QT_NO_DRAGANDDROP QPlatformDrag *drag() const Q_DECL_OVERRIDE; #endif + + QPlatformInputContext *inputContext() const Q_DECL_OVERRIDE; QPlatformServices *services() const Q_DECL_OVERRIDE; QPlatformFontDatabase *fontDatabase() const Q_DECL_OVERRIDE; @@ -73,6 +76,7 @@ private: #ifndef QT_NO_DRAGANDDROP QScopedPointer m_drag; #endif + QScopedPointer m_inputContext; QScopedPointer m_services; }; -- cgit v1.2.3