Bug 611466 - Minimal support for IME in Qt, r=dougt, a=dougt

This commit is contained in:
Brian Crowder 2010-11-19 15:41:40 -08:00
Родитель b4e0da1a8f
Коммит b4e4b26fa9
3 изменённых файлов: 16 добавлений и 14 удалений

Просмотреть файл

@ -238,6 +238,12 @@ bool MozQWidget::event ( QEvent * event )
mReceiver->OnGestureEvent(static_cast<QGestureEvent*>(event),handled);
return handled;
}
case QEvent::InputMethod:
{
PRBool handled = PR_FALSE;
mReceiver->imComposeEvent(static_cast<QInputMethodEvent*>(event),handled);
return handled;
}
default:
break;

Просмотреть файл

@ -2659,20 +2659,18 @@ nsWindow::contextMenuEvent(QGraphicsSceneContextMenuEvent *)
}
nsEventStatus
nsWindow::imStartEvent(QEvent *)
nsWindow::imComposeEvent(QInputMethodEvent *event, PRBool &handled)
{
return nsEventStatus_eIgnore;
}
nsCompositionEvent start(PR_TRUE, NS_COMPOSITION_START, this);
DispatchEvent(&start);
nsEventStatus
nsWindow::imComposeEvent(QEvent *)
{
return nsEventStatus_eIgnore;
}
nsTextEvent text(PR_TRUE, NS_TEXT_TEXT, this);
text.theText.Assign(event->commitString().utf16());
DispatchEvent(&text);
nsCompositionEvent end(PR_TRUE, NS_COMPOSITION_END, this);
DispatchEvent(&end);
nsEventStatus
nsWindow::imEndEvent(QEvent * )
{
return nsEventStatus_eIgnore;
}

Просмотреть файл

@ -277,9 +277,7 @@ protected:
virtual nsEventStatus OnScrollEvent(QGraphicsSceneWheelEvent *);
virtual nsEventStatus contextMenuEvent(QGraphicsSceneContextMenuEvent *);
virtual nsEventStatus imStartEvent(QEvent *);
virtual nsEventStatus imComposeEvent(QEvent *);
virtual nsEventStatus imEndEvent(QEvent *);
virtual nsEventStatus imComposeEvent(QInputMethodEvent *, PRBool &handled);
virtual nsEventStatus OnDragEnter (QGraphicsSceneDragDropEvent *);
virtual nsEventStatus OnDragMotionEvent(QGraphicsSceneDragDropEvent *);
virtual nsEventStatus OnDragLeaveEvent(QGraphicsSceneDragDropEvent *);