elementry/entry - Change the keyboard mode only if the imf is not available.

If the imf is available, the keyboard mode should be decided by ime, but not
entry. This prevents the asynchorouse states between ime and conformant.
This commit is contained in:
ChunEon Park 2013-07-13 18:58:30 +09:00
parent f877718bf6
commit 74d5da9cf4
3 changed files with 14 additions and 2 deletions

View File

@ -1503,3 +1503,10 @@
2013-07-13 Daniel Juyung Seo
* Fix elm_object_item_part_content_set bug with end content in elm_list.
2013-07-14 ChunEon Park (Hermet)
* Entry : Change the keyboard mode only if the imf is not available. If
the imf is available, the keyboard mode should be decided by ime, but
not entry. This prevents the asynchronous states between ime and
conformant.

View File

@ -261,6 +261,9 @@ Fixes:
* Fix Segfault in elementary file_selector_example when closed
* Fix Showing multiple popups in Entry.
* Fix elm_object_item_part_content_set bug with end content in elm_list.
* Entry: Change the keyboard mode only if the imf is not available. If the
imf is available, the keyboard mode should be decided by ime, but not entry.
This prevents the asynchronous states between ime and conformant.
Removals:

View File

@ -858,7 +858,8 @@ _elm_entry_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
{
evas_object_focus_set(sd->entry_edje, EINA_TRUE);
edje_object_signal_emit(sd->entry_edje, "elm,action,focus", "elm");
if (top && top_is_win && sd->input_panel_enable)
if (top && top_is_win && sd->input_panel_enable &&
!edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text"))
elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON);
evas_object_smart_callback_call(obj, SIG_FOCUSED, NULL);
_return_key_enabled_check(obj);
@ -867,7 +868,8 @@ _elm_entry_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
{
edje_object_signal_emit(sd->entry_edje, "elm,action,unfocus", "elm");
evas_object_focus_set(sd->entry_edje, EINA_FALSE);
if (top && top_is_win && sd->input_panel_enable)
if (top && top_is_win && sd->input_panel_enable &&
!edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text"))
elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF);
evas_object_smart_callback_call(obj, SIG_UNFOCUSED, NULL);