qt5: setup QPlatformInputContext on nitpicker

Issue #2496
Fixes #2495
This commit is contained in:
Johannes Kliemann 2017-08-14 11:14:43 +02:00 committed by Christian Helmuth
parent 520eedb829
commit b0187ddc28
2 changed files with 16 additions and 0 deletions

View File

@ -13,6 +13,8 @@
/* Qt includes */ /* Qt includes */
#include <QtGui/private/qguiapplication_p.h> #include <QtGui/private/qguiapplication_p.h>
#include <qpa/qplatforminputcontextfactory_p.h>
#include "qgenodeclipboard.h" #include "qgenodeclipboard.h"
#include "qnitpickerglcontext.h" #include "qnitpickerglcontext.h"
#include "qnitpickerintegration.h" #include "qnitpickerintegration.h"
@ -82,6 +84,11 @@ QAbstractEventDispatcher *QNitpickerIntegration::createEventDispatcher() const
void QNitpickerIntegration::initialize() void QNitpickerIntegration::initialize()
{ {
screenAdded(_nitpicker_screen); screenAdded(_nitpicker_screen);
QString icStr = QPlatformInputContextFactory::requested();
if (icStr.isNull())
icStr = QLatin1String("compose");
m_inputContext.reset(QPlatformInputContextFactory::create(icStr));
} }
@ -106,4 +113,9 @@ QPlatformOpenGLContext *QNitpickerIntegration::createPlatformOpenGLContext(QOpen
return new QNitpickerGLContext(context); return new QNitpickerGLContext(context);
} }
QPlatformInputContext *QNitpickerIntegration::inputContext() const
{
return m_inputContext.data();
}
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -19,6 +19,7 @@
#include <qpa/qplatformintegration.h> #include <qpa/qplatformintegration.h>
#include <qpa/qplatformscreen.h> #include <qpa/qplatformscreen.h>
#include <qpa/qplatforminputcontext.h>
#include "qnitpickerscreen.h" #include "qnitpickerscreen.h"
#include "qsignalhandlerthread.h" #include "qsignalhandlerthread.h"
@ -42,6 +43,7 @@ class QNitpickerIntegration : public QPlatformIntegration
* variable of QNitpickerIntegration. * variable of QNitpickerIntegration.
*/ */
static Genode::Signal_receiver &_signal_receiver(); static Genode::Signal_receiver &_signal_receiver();
QScopedPointer<QPlatformInputContext> m_inputContext;
public: public:
@ -61,6 +63,8 @@ class QNitpickerIntegration : public QPlatformIntegration
QPlatformClipboard *clipboard() const Q_DECL_OVERRIDE; QPlatformClipboard *clipboard() const Q_DECL_OVERRIDE;
#endif #endif
QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const Q_DECL_OVERRIDE; QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const Q_DECL_OVERRIDE;
QPlatformInputContext *inputContext() const Q_DECL_OVERRIDE;
}; };
QT_END_NAMESPACE QT_END_NAMESPACE