From 68eecb42d3ae8bd983648f1b8de6bbacb08b2b06 Mon Sep 17 00:00:00 2001 From: Haifeng Deng Date: Sun, 23 Sep 2012 15:02:45 +0800 Subject: [PATCH] Support candidate showing when target is rotated Change-Id: I3853e03b4c4eb703f57130aa6e34ac4d305ff9a9 --- configure.ac | 4 ++-- debian/changelog | 8 +++++++ ism/extras/efl_panel/isf_panel_efl.cpp | 42 ++++++++++++++++++++-------------- packaging/isf.spec | 4 ++-- releasenote.txt | 4 ++++ 5 files changed, 41 insertions(+), 21 deletions(-) diff --git a/configure.ac b/configure.ac index 60fdb8e..3d80387 100755 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # Process this file with autoconf to produce a configure script #AC_INIT(scim, 1.4.7, suzhe@tsinghua.org.cn) -AC_INIT(isf, 2.3.5721, isf@samsung.com) +AC_INIT(isf, 2.3.5723, isf@samsung.com) AC_CONFIG_SRCDIR([ism/src/scim.h]) m4_pattern_allow([^AS_]) @@ -11,7 +11,7 @@ m4_pattern_allow([^AS_]) # ISF version ISF_MAJOR_VERSION=2 ISF_MINOR_VERSION=3 -ISF_MICRO_VERSION=5721 +ISF_MICRO_VERSION=5723 ISF_VERSION=$ISF_MAJOR_VERSION.$ISF_MINOR_VERSION.$ISF_MICRO_VERSION diff --git a/debian/changelog b/debian/changelog index 799cd27..7753a3b 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +isf (2.3.5723-1slp2+1) unstable; urgency=low + + * [isf-panel-efl] Support candidate showing when target is rotated + * Git: framework/uifw/isf + * Tag: isf_2.3.5723-1slp2+1 + + -- Haifeng Deng Sun, 23 Sep 2012 15:56:00 +0900 + isf (2.3.5721-1slp2+1) unstable; urgency=low * Change S42isf-panel-efl to S47isf-panel-efl diff --git a/ism/extras/efl_panel/isf_panel_efl.cpp b/ism/extras/efl_panel/isf_panel_efl.cpp index b3115bc..b7f6620 100644 --- a/ism/extras/efl_panel/isf_panel_efl.cpp +++ b/ism/extras/efl_panel/isf_panel_efl.cpp @@ -93,6 +93,9 @@ extern std::vector _modes; extern std::vector _load_ise_list; +extern CommonLookupTable g_isf_candidate_table; + + ///////////////////////////////////////////////////////////////////////////// // Declaration of internal data types. ///////////////////////////////////////////////////////////////////////////// @@ -114,6 +117,8 @@ static int ui_candidate_get_valid_height (void); static void ui_candidate_hide (bool bForce); static void ui_destroy_candidate_window (void); static void ui_settle_candidate_window (void); +static void ui_candidate_show (void); +static void update_table (int table_type, const LookupTable &table); /* PanelAgent related functions */ static bool initialize_panel_agent (const String &config, const String &display, bool resident); @@ -709,8 +714,8 @@ static void ui_candidate_window_rotate (int angle) if (!_candidate_window) return; - elm_win_rotation_set (_candidate_window, angle); ui_candidate_hide (true); + elm_win_rotation_set (_candidate_window, angle); if (angle == 90 || angle == 270) { _candidate_scroll_width = _candidate_scroll_width_max; ui_candidate_window_resize (_candidate_land_width, _candidate_land_height_min); @@ -744,6 +749,11 @@ static void ui_candidate_window_rotate (int angle) }*/ ui_settle_candidate_window (); + ui_candidate_window_adjust (); + if (evas_object_visible_get (_candidate_area_1)) { + update_table (ISF_CANDIDATE_TABLE, g_isf_candidate_table); + ui_candidate_show (); + } flush_memory (); } @@ -916,7 +926,7 @@ static void ui_candidate_hide (bool bForce) } } - if (ui_candidate_can_be_hide () || bForce) { + if (bForce || ui_candidate_can_be_hide ()) { if (evas_object_visible_get (_candidate_window)) { evas_object_hide (_candidate_window); _panel_agent->update_candidate_panel_event ((uint32)ECORE_IMF_CANDIDATE_PANEL_STATE_EVENT, (uint32)ECORE_IMF_CANDIDATE_PANEL_HIDE); @@ -1090,21 +1100,21 @@ static void ui_create_prediction_engine_candidate_window (void) { SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n"; - _candidate_port_width = 720 * _width_rate; + _candidate_port_width = _screen_width; _candidate_port_height_min = 84 * _height_rate * _candidate_port_line; _candidate_port_height_min_2 = 84 * _height_rate + _candidate_port_height_min; _candidate_port_height_max = 426 * _height_rate + _candidate_port_height_min; _candidate_port_height_max_2 = 84 * _height_rate + _candidate_port_height_max; - _candidate_land_width = 1280 * _height_rate; + _candidate_land_width = _screen_height; _candidate_land_height_min = 84 * _width_rate; _candidate_land_height_min_2 = 168 * _width_rate; _candidate_land_height_max = 342 * _width_rate; _candidate_land_height_max_2 = 426 * _width_rate; - _candidate_scroll_0_width_min= 720 * _width_rate; - _candidate_scroll_0_width_max= 1176 * _height_rate; - _candidate_scroll_width_min = 720 * _width_rate; - _candidate_scroll_width_max = 1280 * _height_rate; + _candidate_scroll_0_width_min= _screen_width; + _candidate_scroll_0_width_max= _screen_height; + _candidate_scroll_width_min = _screen_width; + _candidate_scroll_width_max = _screen_height; _candidate_scroll_height_min = 252 * _width_rate; _candidate_scroll_height_max = 420 * _height_rate; @@ -1120,8 +1130,8 @@ static void ui_create_prediction_engine_candidate_window (void) _close_btn_pos [3] = 12 * _width_rate; _aux_height = 84 * _height_rate - 2; - _aux_port_width = 720 * _width_rate; - _aux_land_width = 1280 * _height_rate; + _aux_port_width = _screen_width; + _aux_land_width = _screen_height; _item_min_height = 84 * _height_rate - 2; @@ -1722,8 +1732,8 @@ static void slot_reload_config (void) { SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n"; - if (!_config.null ()) - _config->reload (); + //if (!_config.null ()) + // _config->reload (); } /** @@ -2102,12 +2112,10 @@ static void slot_update_aux_string (const String &str, const AttributeList &attr * * @param table_type The table type. * @param table The lookup table for candidate or associate. - * @param table_items The table items for candidate or associate. - * @param seperator_items The seperator items for candidate or associate. */ -static void update_table (const int table_type, const LookupTable &table) +static void update_table (int table_type, const LookupTable &table) { - SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n"; + SCIM_DEBUG_MAIN (3) << __FUNCTION__ << " (" << table.get_current_page_size () << ")\n"; int item_num = table.get_current_page_size (); if (item_num < 0) @@ -2131,7 +2139,7 @@ static void update_table (const int table_type, const LookupTable &table) int scroll_0_width = _candidate_scroll_0_width_min; if (_candidate_angle == 90 || _candidate_angle == 270) - scroll_0_width = _candidate_scroll_0_width_max; + scroll_0_width = 1176 * _height_rate; else scroll_0_width = 618 * _width_rate; diff --git a/packaging/isf.spec b/packaging/isf.spec index 2e61dae..0d469b0 100755 --- a/packaging/isf.spec +++ b/packaging/isf.spec @@ -1,10 +1,10 @@ -#sbs-git:framework/uifw/isf isf 2.3.5721 07f2b65224e6cef5cd6799065bb01fa656bc115e +#sbs-git:framework/uifw/isf isf 2.3.5723 07f2b65224e6cef5cd6799065bb01fa656bc115e %define _usrdir /usr %define _ugdir %{_usrdir}/ug Name: isf Summary: Input Service Framework -Version: 2.3.5721 +Version: 2.3.5723 Release: 1 Group: TO_BE/FILLED_IN License: LGPL diff --git a/releasenote.txt b/releasenote.txt index 74693c8..4e22dcc 100644 --- a/releasenote.txt +++ b/releasenote.txt @@ -1,3 +1,7 @@ +ISF 2.3.5723 : + 1. Support candidate showing when target is rotated + + ISF 2.3.5721 : 1. Change S42isf-panel-efl to S47isf-panel-efl 2. [setting] update po files -- 2.7.4