From 74d5da9cf490684ac367471304086270b93f2613 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sat, 13 Jul 2013 18:58:30 +0900 Subject: [PATCH] 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. --- legacy/elementary/ChangeLog | 7 +++++++ legacy/elementary/NEWS | 3 +++ legacy/elementary/src/lib/elm_entry.c | 6 ++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 1a454be79b..cb251552f5 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -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. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index fd0450f83f..4624a5b1cd 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -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: diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index d937d12359..5ae4e1b6d7 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -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);