/** * Override QMultiLineEdit to notify Java peer of traversal out. * * @param keyEvent key event to handle */ void TextFieldBody::keyReleaseEvent(QKeyEvent *key) { int k = key->key(); // always handle select event because it switches // between the modal and non-modal modes #ifdef QT_KEYPAD_MODE if (k == Qt::Key_Select) { QMultiLineEdit::keyReleaseEvent(key); } else if (isModalEditing()) { #endif int line; int col; QMultiLineEdit::getCursorPosition(&line, &col); if (k == Qt::Key_Up && line == 0) { PlatformMScreen * mscreen = PlatformMScreen::getMScreen(); mscreen->keyReleaseEvent(key); } else if (k == Qt::Key_Down && line == numLines() - 1) { PlatformMScreen * mscreen = PlatformMScreen::getMScreen(); mscreen->keyReleaseEvent(key); } else { QMultiLineEdit::keyReleaseEvent(key); } #ifdef QT_KEYPAD_MODE } else { // not handle events while it's in not modal state key->ignore(); } #endif }
void CustomItem::keyReleaseEvent(QKeyEvent *key) { PlatformMScreen * mscreen = PlatformMScreen::getMScreen(); mscreen->keyReleaseEvent(key); }