summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2013-07-13 18:58:30 +0900
committerChunEon Park <hermet@hermet.pe.kr>2013-07-13 18:58:30 +0900
commita23ece02951d8d1f761227f0362cf1c5c57eb65e (patch)
tree84d4599a3a53751e19eede650880841a0c503ee1
parente80c92aa48f341764c92c79ddbdeb4dee8971d25 (diff)
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.
-rw-r--r--ChangeLog7
-rw-r--r--NEWS3
-rw-r--r--src/lib/elm_entry.c6
3 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 1a454be79..cb251552f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1503,3 +1503,10 @@
15032013-07-13 Daniel Juyung Seo 15032013-07-13 Daniel Juyung Seo
1504 1504
1505 * Fix elm_object_item_part_content_set bug with end content in elm_list. 1505 * Fix elm_object_item_part_content_set bug with end content in elm_list.
1506
15072013-07-14 ChunEon Park (Hermet)
1508
1509 * Entry : Change the keyboard mode only if the imf is not available. If
1510 the imf is available, the keyboard mode should be decided by ime, but
1511 not entry. This prevents the asynchronous states between ime and
1512 conformant.
diff --git a/NEWS b/NEWS
index fd0450f83..4624a5b1c 100644
--- a/NEWS
+++ b/NEWS
@@ -261,6 +261,9 @@ Fixes:
261 * Fix Segfault in elementary file_selector_example when closed 261 * Fix Segfault in elementary file_selector_example when closed
262 * Fix Showing multiple popups in Entry. 262 * Fix Showing multiple popups in Entry.
263 * Fix elm_object_item_part_content_set bug with end content in elm_list. 263 * Fix elm_object_item_part_content_set bug with end content in elm_list.
264 * Entry: Change the keyboard mode only if the imf is not available. If the
265 imf is available, the keyboard mode should be decided by ime, but not entry.
266 This prevents the asynchronous states between ime and conformant.
264 267
265Removals: 268Removals:
266 269
diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c
index d937d1235..5ae4e1b6d 100644
--- a/src/lib/elm_entry.c
+++ b/src/lib/elm_entry.c
@@ -858,7 +858,8 @@ _elm_entry_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
858 { 858 {
859 evas_object_focus_set(sd->entry_edje, EINA_TRUE); 859 evas_object_focus_set(sd->entry_edje, EINA_TRUE);
860 edje_object_signal_emit(sd->entry_edje, "elm,action,focus", "elm"); 860 edje_object_signal_emit(sd->entry_edje, "elm,action,focus", "elm");
861 if (top && top_is_win && sd->input_panel_enable) 861 if (top && top_is_win && sd->input_panel_enable &&
862 !edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text"))
862 elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON); 863 elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON);
863 evas_object_smart_callback_call(obj, SIG_FOCUSED, NULL); 864 evas_object_smart_callback_call(obj, SIG_FOCUSED, NULL);
864 _return_key_enabled_check(obj); 865 _return_key_enabled_check(obj);
@@ -867,7 +868,8 @@ _elm_entry_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
867 { 868 {
868 edje_object_signal_emit(sd->entry_edje, "elm,action,unfocus", "elm"); 869 edje_object_signal_emit(sd->entry_edje, "elm,action,unfocus", "elm");
869 evas_object_focus_set(sd->entry_edje, EINA_FALSE); 870 evas_object_focus_set(sd->entry_edje, EINA_FALSE);
870 if (top && top_is_win && sd->input_panel_enable) 871 if (top && top_is_win && sd->input_panel_enable &&
872 !edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text"))
871 elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF); 873 elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF);
872 evas_object_smart_callback_call(obj, SIG_UNFOCUSED, NULL); 874 evas_object_smart_callback_call(obj, SIG_UNFOCUSED, NULL);
873 875