From 7a2a03cb486b3c5726813e40d613096e19659e59 Mon Sep 17 00:00:00 2001 From: Haifeng Deng Date: Mon, 17 Sep 2012 15:28:48 +0800 Subject: [PATCH] Update candidate displaying Change-Id: I3ed748d013a7ed230b6ea5102260c316c9f86377 --- debian/changelog | 8 ++++++++ ism/extras/efl_panel/isf_panel_efl.cpp | 31 ++++++++++--------------------- releasenote.txt | 1 + 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/debian/changelog b/debian/changelog index 5ef7efb..d4c2541 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +isf (2.3.5717-1slp2+2) unstable; urgency=low + + * [isf-panel-efl] Update candidate displaying + * Git: framework/uifw/isf + * Tag: isf_2.3.5717-1slp2+2 + + -- Haifeng Deng Mon, 17 Sep 2012 16:26:00 +0900 + isf (2.3.5717-1slp2+1) unstable; urgency=low * [immodule] do not show or hide ISE in case of desktop mode diff --git a/ism/extras/efl_panel/isf_panel_efl.cpp b/ism/extras/efl_panel/isf_panel_efl.cpp index 216608d..b3115bc 100644 --- a/ism/extras/efl_panel/isf_panel_efl.cpp +++ b/ism/extras/efl_panel/isf_panel_efl.cpp @@ -175,7 +175,6 @@ static Evas_Object *_line_items [SCIM_LOOKUP_TABLE_MAX_PAGESIZE]; static Evas_Object *_more_btn = 0; static Evas_Object *_close_btn = 0; static bool _candidate_window_show = false; -static bool _candidate_window_always_show = false; static int _candidate_x = 0; static int _candidate_y = 0; @@ -761,8 +760,6 @@ static bool ui_candidate_can_be_hide (void) evas_object_visible_get (_candidate_area_1) || evas_object_visible_get (_candidate_area_2)) return false; - else if (_candidate_window_always_show && _ise_show) - return false; else return true; } @@ -869,7 +866,8 @@ static Eina_Bool ui_candidate_destroy_timeout (void *data) static void ui_candidate_show (void) { SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n"; - if (!_candidate_window) + int hw_kbd_detect = _config->read (ISF_CONFIG_HARDWARE_KEYBOARD_DETECT, 0); + if (!_candidate_window || (hw_kbd_detect == 0 && !_ise_show)) return; int angle = efl_get_angle_for_root_window (_candidate_window); @@ -909,20 +907,11 @@ static void ui_candidate_hide (bool bForce) return; if (bForce) { - if ((_aux_area && evas_object_visible_get (_aux_area)) || - (_candidate_area_1 && evas_object_visible_get (_candidate_area_1)) || - (_candidate_area_2 && evas_object_visible_get (_candidate_area_2))) { - evas_object_hide (_aux_area); - elm_scroller_region_show (_aux_area, 0, 0, 10, 10); - evas_object_hide (_candidate_area_1); - evas_object_hide (_more_btn); - - if (_candidate_area_2 && evas_object_visible_get (_candidate_area_2)) { - evas_object_hide (_candidate_area_2); - evas_object_hide (_scroller_bg); - evas_object_hide (_close_btn); - _panel_agent->candidate_more_window_hide (); - } + if (_candidate_area_2 && evas_object_visible_get (_candidate_area_2)) { + evas_object_hide (_candidate_area_2); + evas_object_hide (_scroller_bg); + evas_object_hide (_close_btn); + _panel_agent->candidate_more_window_hide (); ui_candidate_window_adjust (); } } @@ -1856,7 +1845,7 @@ static void slot_update_input_context (int type, int value) set_keyboard_geometry_atom_info (KEYBOARD_STATE_OFF); } else if (value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) { _ise_show = true; - if (_candidate_window_always_show) + if (evas_object_visible_get (_candidate_area_1)) ui_candidate_show (); set_keyboard_geometry_atom_info (KEYBOARD_STATE_ON); } @@ -2121,7 +2110,7 @@ static void update_table (const int table_type, const LookupTable &table) SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n"; int item_num = table.get_current_page_size (); - if (item_num <= 0) + if (item_num < 0) return; String mbs; @@ -2358,7 +2347,7 @@ static void slot_update_candidate_table (const LookupTable &table) { SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n"; - if (!_candidate_window || table.get_current_page_size () <= 0) + if (!_candidate_window || table.get_current_page_size () < 0) return; if (!evas_object_visible_get (_candidate_area_1) && diff --git a/releasenote.txt b/releasenote.txt index 438aa5e..50dd33b 100644 --- a/releasenote.txt +++ b/releasenote.txt @@ -3,6 +3,7 @@ ISF 2.3.5717 : 2. [setting] update po files to fix autocapital translation 3. [setting] Change default mode of autocapital option 4. [demo] add SIGNIN type + 5. [isf-panel-efl] Update candidate displaying ISF 2.3.5712 : -- 2.7.4