aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard/inputengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/virtualkeyboard/inputengine.cpp')
-rw-r--r--src/virtualkeyboard/inputengine.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/virtualkeyboard/inputengine.cpp b/src/virtualkeyboard/inputengine.cpp
index 84b1cf09..23956401 100644
--- a/src/virtualkeyboard/inputengine.cpp
+++ b/src/virtualkeyboard/inputengine.cpp
@@ -29,6 +29,8 @@
#include <QtVirtualKeyboard/inputengine.h>
#include <QtVirtualKeyboard/inputcontext.h>
+#include <QtVirtualKeyboard/private/inputcontext_p.h>
+#include <QtVirtualKeyboard/private/shifthandler_p.h>
#include <QtVirtualKeyboard/private/fallbackinputmethod_p.h>
#include <QtVirtualKeyboard/trace.h>
#include <QtVirtualKeyboard/private/virtualkeyboarddebug_p.h>
@@ -154,13 +156,17 @@ InputEngine::InputEngine(InputContext *parent) :
{
Q_D(InputEngine);
d->inputContext = parent;
- if (d->inputContext) {
- connect(d->inputContext, SIGNAL(shiftChanged()), SLOT(shiftChanged()));
- connect(d->inputContext, SIGNAL(localeChanged()), SLOT(update()));
- QObject::connect(d->inputContext, &InputContext::inputMethodHintsChanged, this, &InputEngine::updateSelectionListModels);
- QObject::connect(d->inputContext, &InputContext::localeChanged, this, &InputEngine::updateInputModes);
- QObject::connect(this, &InputEngine::inputMethodChanged, this, &InputEngine::updateInputModes);
- }
+}
+
+void InputEngine::init()
+{
+ Q_D(InputEngine);
+ ShiftHandler *shiftHandler = d->inputContext->priv()->shiftHandler();
+ QObject::connect(shiftHandler, &ShiftHandler::shiftChanged, this, &InputEngine::shiftChanged);
+ QObject::connect(d->inputContext, &InputContext::localeChanged, this, &InputEngine::update);
+ QObject::connect(d->inputContext, &InputContext::inputMethodHintsChanged, this, &InputEngine::updateSelectionListModels);
+ QObject::connect(d->inputContext, &InputContext::localeChanged, this, &InputEngine::updateInputModes);
+ QObject::connect(this, &InputEngine::inputMethodChanged, this, &InputEngine::updateInputModes);
d->fallbackInputMethod = new FallbackInputMethod(this);
if (d->fallbackInputMethod)
d->fallbackInputMethod->setInputEngine(this);
@@ -619,7 +625,7 @@ void InputEngine::update()
void InputEngine::shiftChanged()
{
Q_D(InputEngine);
- TextCase newCase = d->inputContext->shift() ? Upper : Lower;
+ TextCase newCase = d->inputContext->priv()->shiftHandler()->shift() ? Upper : Lower;
if (d->textCase != newCase) {
d->textCase = newCase;
if (d->inputMethod) {