diff options
Diffstat (limited to 'src/plugins/platforms/ios/quiview_textinput.mm')
-rw-r--r-- | src/plugins/platforms/ios/quiview_textinput.mm | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/platforms/ios/quiview_textinput.mm b/src/plugins/platforms/ios/quiview_textinput.mm index d0088d415a..28fb23d57b 100644 --- a/src/plugins/platforms/ios/quiview_textinput.mm +++ b/src/plugins/platforms/ios/quiview_textinput.mm @@ -492,8 +492,17 @@ Q_GLOBAL_STATIC(StaticVariables, staticVariables); if (!focusObject) return; - if ([text isEqualToString:@"\n"] && self.returnKeyType == UIReturnKeyDone) - [self resignFirstResponder]; + if ([text isEqualToString:@"\n"]) { + QKeyEvent press(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier); + QKeyEvent release(QEvent::KeyRelease, Qt::Key_Return, Qt::NoModifier); + [self sendEventToFocusObject:press]; + [self sendEventToFocusObject:release]; + + if (self.returnKeyType == UIReturnKeyDone) + [self resignFirstResponder]; + + return; + } QInputMethodEvent e; e.setCommitString(QString::fromNSString(text)); |