if (m_context)
ecore_imf_context_cursor_position_set(m_context.get(), editor.cursorPosition);
}
+
+void InputMethodContextEfl::updateTextInputStateByUserAction(bool setFocus)
+{
+ const EditorState& editor = m_viewImpl->page()->editorState();
+
+ if (editor.isContentEditable) {
+ showIMFContext(editor, true);
+ if (setFocus)
+ evas_object_focus_set(m_viewImpl->view(), true);
+ } else
+ hideIMFContext();
+}
#else
void InputMethodContextEfl::updateTextInputState()
{
m_doNotHandleFakeKeyEvent = false;
}
-void InputMethodContextEfl::showIMFContext(const EditorState& editor)
+void InputMethodContextEfl::showIMFContext(const EditorState& editor, bool isUserAction)
{
Ewk_Settings* settings = ewk_view_settings_get(m_viewImpl->view());
- if (!editor.isTapEventHandling) {
+ if (!isUserAction) {
if (!ewk_settings_uses_keypad_without_user_action_get(settings) || (m_focused && m_contextID == editor.inputMethodContextID))
return;
}