diff options
Diffstat (limited to 'src/plugins/openwnn/plugin/openwnninputmethod.cpp')
-rw-r--r-- | src/plugins/openwnn/plugin/openwnninputmethod.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/openwnn/plugin/openwnninputmethod.cpp b/src/plugins/openwnn/plugin/openwnninputmethod.cpp index efe68a1e..c54cecb7 100644 --- a/src/plugins/openwnn/plugin/openwnninputmethod.cpp +++ b/src/plugins/openwnn/plugin/openwnninputmethod.cpp @@ -805,6 +805,7 @@ void OpenWnnInputMethod::selectionListItemSelected(QVirtualKeyboardSelectionList { Q_UNUSED(type) Q_D(OpenWnnInputMethod); + d->activeWordIndex = index; // Set selected text as preeditText to place cursor at the end of selected text inputContext()->setPreeditText(d->candidateList.at(index)->candidate); d->commitText(*d->candidateList.at(index)); @@ -813,7 +814,7 @@ void OpenWnnInputMethod::selectionListItemSelected(QVirtualKeyboardSelectionList void OpenWnnInputMethod::reset() { Q_D(OpenWnnInputMethod); - d->commitAll(); + d->composingText.clear(); d->initializeScreen(); d->fitInputType(); } @@ -821,8 +822,10 @@ void OpenWnnInputMethod::reset() void OpenWnnInputMethod::update() { Q_D(OpenWnnInputMethod); - if (!d->disableUpdate) + if (!d->disableUpdate) { + d->commitAll(); reset(); + } } } // namespace QtVirtualKeyboard |