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 */
#include <QtGui/private/qguiapplication_p.h>
#include <qpa/qplatforminputcontextfactory_p.h>
#include "qgenodeclipboard.h"
#include "qnitpickerglcontext.h"
#include "qnitpickerintegration.h"
@ -82,6 +84,11 @@ QAbstractEventDispatcher *QNitpickerIntegration::createEventDispatcher() const
void QNitpickerIntegration::initialize()
{
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);
}
QPlatformInputContext *QNitpickerIntegration::inputContext() const
{
return m_inputContext.data();
}
QT_END_NAMESPACE

View File

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