在gui_effect_oem.c中添加如下函数
static void modified_gui_list_menu_smooth_scrolling_goto_next_item(void) // YY add
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if(Is_KeyRepeat()||MMI_fixed_list_menu.highlighted_item+1==MMI_fixed_list_menu.n_items){
gui_set_current_list_effect(0);
}
switch (g_gui_list_menu_smooth_scrolling_menu_type)
{
case GUI_MENU_TYPE_FIXED:
fixed_list_goto_next_item();
break;
case GUI_MENU_TYPE_DYNAMIC:
dynamic_list_goto_next_item();
break;
case GUI_MENU_TYPE_ASYNCDYNAMIC:
asyncdynamic_list_goto_next_item();
break;
#ifdef __MMI_FTE_SUPPORT__
case GUI_MENU_TYPE_INLINE:
inline_fixed_list_goto_next_item();
break;
#endif
default:
break;
}
#define LIST_EFFECT_TYPE__(A) MMI_UI_LIST_HIGHLIGHT_EFFECT_##A
#define LIST_EFFECT_TYPE_(A) LIST_EFFECT_TYPE__(A)
#define LIST_EFFECT_TYPE(A) LIST_EFFECT_TYPE_(A)
gui_set_current_list_effect(LIST_EFFECT_TYPE_(UI_LIST_EFFECT_TYPE));
}
修改如下函数:
static void gui_list_menu_smooth_scrolling_goto_next_item(void)
{
static int ReEntry=0;
if(ReEntry) return;
ReEntry++;
if(Is_KeyRepeat()){
gui_start_timer(20,gui_list_menu_smooth_scrolling_goto_next_item);
}
modified_gui_list_menu_smooth_scrolling_goto_next_item();
ReEntry--;
}
在keybrd.c中添加函数:
BOOL Is_KeyRepeat(void)
{
return (g_key_cntx.curr_key_type==KEY_EVENT_REPEAT);
}
static void modified_gui_list_menu_smooth_scrolling_goto_next_item(void) // YY add
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if(Is_KeyRepeat()||MMI_fixed_list_menu.highlighted_item+1==MMI_fixed_list_menu.n_items){
gui_set_current_list_effect(0);
}
switch (g_gui_list_menu_smooth_scrolling_menu_type)
{
case GUI_MENU_TYPE_FIXED:
fixed_list_goto_next_item();
break;
case GUI_MENU_TYPE_DYNAMIC:
dynamic_list_goto_next_item();
break;
case GUI_MENU_TYPE_ASYNCDYNAMIC:
asyncdynamic_list_goto_next_item();
break;
#ifdef __MMI_FTE_SUPPORT__
case GUI_MENU_TYPE_INLINE:
inline_fixed_list_goto_next_item();
break;
#endif
default:
break;
}
#define LIST_EFFECT_TYPE__(A) MMI_UI_LIST_HIGHLIGHT_EFFECT_##A
#define LIST_EFFECT_TYPE_(A) LIST_EFFECT_TYPE__(A)
#define LIST_EFFECT_TYPE(A) LIST_EFFECT_TYPE_(A)
gui_set_current_list_effect(LIST_EFFECT_TYPE_(UI_LIST_EFFECT_TYPE));
}
修改如下函数:
static void gui_list_menu_smooth_scrolling_goto_next_item(void)
{
static int ReEntry=0;
if(ReEntry) return;
ReEntry++;
if(Is_KeyRepeat()){
gui_start_timer(20,gui_list_menu_smooth_scrolling_goto_next_item);
}
modified_gui_list_menu_smooth_scrolling_goto_next_item();
ReEntry--;
}
在keybrd.c中添加函数:
BOOL Is_KeyRepeat(void)
{
return (g_key_cntx.curr_key_type==KEY_EVENT_REPEAT);
}