📄 mminetwork.c
字号:
}
else
{
//user pressed Exit to go back to the network submenu
FREE_MEMORY ((UBYTE *)network_data.network_list->List, (network_data.pplmn_mem.maxRcd) * sizeof (T_MFW_MNU_ITEM));
FREE_MEMORY ((UBYTE *)network_data.network_list, sizeof (ListMenuData));
FREE_MEMORY ((UBYTE *)network_data.pplmn,(network_data.pplmn_mem.maxRcd) * sizeof (T_MFW_NETWORK_STRUCT));
}
}
/*******************************************************************************
$Function: network_mobile_list_cb
$Description: Callback function international list dialog.
$Returns:
$Arguments:
*******************************************************************************/
static void network_mobile_list_cb(T_MFW_HND win, ListMenuData * ListData)
{
//test
UBYTE i;
//test
T_MFW_PPLMN_MODE mode;
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_network_OPT * data = (T_network_OPT *)win_data->user;
TRACE_EVENT ("network_mobile_list_cb()");
switch( ListData->Reason )
{
case LISTS_REASON_SELECT: /* */
case LISTS_REASON_OK: //xsf add 2003.03.10
mode = REPLACE_PREF_PLMN; /* Overwrite an existing entry at a given index */
//update now the pref. PLMN list
//Overwrite an existing entry
//(network_data.Listposition) "+1" because the zero is counted as well
nm_change_pref_plmn(mode,(network_data.Listposition) +1 , 0, data->pplmn[ListData->ListPosition].network_numeric);
// destroy the Menu
network_MNU_destroy(data->win);
// request the pref. PLMN list
nm_pref_plmn_list(network_data.pplmn, network_data.pplmn_mem.maxRcd, 1);
break;
case LISTS_REASON_BACK: /* back to previous menu */
TRACE_EVENT ("pressed Back-key");
network_MNU_destroy(data->win);
break;
default:
return;
}
}
/*******************************************************************************
$Function: network_start_animation
$Description: Starts the network animation.
$Returns:
$Arguments:
*******************************************************************************/
static void network_start_animation(void)
{
T_DISPLAY_DATA display_info;
MMI_TRACE_EVENT(("<<<talcon,network_start_animation()" ));
dialog_info_init(&display_info);
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT;
display_info.TextId2 = 0; //TxtSearchingNetwork;
display_info.TextId = TxtSearchingNetwork; //TxtWaiting;
display_info.TextString = 0; //"Searching for";
display_info.TextString2 = 0; //" Networks";
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = TxtSoftBack;
display_info.Time = 30000; //FOREVER;
display_info.Identifier=MMI_CALLFORWARD_DIALOG_NORMAL;/*2003/12/4, wangyan add*/
display_info.Callback = (T_VOID_FUNC)network_animation_cb;
/*
* Call Info Screen
*/
network_data.network_search_win = info_dialog (network_data.network_win, &display_info);
//mmi_dialogs_insert_fixmov_animation(network_data.network_search_win, 300 ,NETWORKSEARCHING,8);
mmi_dialogs_insert_fixmov_animation(network_data.network_search_win, 300 ,NETWORKSEARCHINGANIM);/*2003/12/4, wangyan modify*/
}
/*******************************************************************************
$Function: network_start_animation_plmn_selection
$Description: Starts the plmn selection animation.
$Returns:
$Arguments:
*******************************************************************************/
static void network_start_animation_plmn_selection(int plmn_value)
{
T_DISPLAY_DATA display_info;
T_MFW_PLMN_LIST * plmn_list;
TRACE_FUNCTION ("network_start_animation_plmn_selection()");
dialog_info_init(&display_info);
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT;
//display_info.TextId2 =TxtPleaseWait; //
display_info.TextId2 = TxtRegNetwork; //TxtWaiting;
//display_info.TextString = 0; //"Requesting....";
//display_info.TextString2 = '\0';
//display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = TxtSoftBack;
display_info.Time = 20000; //FOREVER;
display_info.iconindex =REMIND_WAITTING;
display_info.Callback = (T_VOID_FUNC)network_animation_cb;
/*
* Call Info Screen
*/
network_data.aborted = FALSE; //xsf add 2003.02.25
network_data.network_search_win = info_dialog (network_data.network_win, &display_info);
}
/*******************************************************************************
$Function: network_animation3sec_cb
$Description: Callback for information dialog (not used)n
$Returns:
$Arguments:
*******************************************************************************/
void network_animation3sec_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason)
{
TRACE_FUNCTION ("network_animation3sec_cb()");
network_data.network_search_win = 0;
network_data.aborted = TRUE;
}
/*******************************************************************************
$Function: network_forbidden_plmn
$Description: Starts the forbidden plmn data screen.
$Returns:
$Arguments:
*******************************************************************************/
static void network_forbidden_plmn(void)
{
T_DISPLAY_DATA display_info;
MMI_TRACE_EVENT(("<<<talcon,network_forbidden_plmn()" ));
dialog_info_init(&display_info);
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT;
//display_info.TextId = TxtRegNetwork; //TxtHostKeyChangeFail;
display_info.TextId2 = TxtHostKeyChangeFail; //TxtForbidden;
display_info.RightSoftKey = TxtSoftBack;
display_info.Time = 3000;
display_info.iconindex =REMIND_FAILURE;
display_info.Callback = (T_VOID_FUNC)network_animation3sec_cb;
/*
* Call Info Screen
*/
network_data.network_search_win = info_dialog (network_data.network_win, &display_info);
}
/*******************************************************************************
$Function: network_selected
$Description: displays info screen on network selected
$Returns:
$Arguments:
*******************************************************************************/
static void network_selected(void)
{
T_DISPLAY_DATA display_info;
MMI_TRACE_EVENT(("<<<talcon,network_selected()" ));
dialog_info_init(&display_info);
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT;
//display_info.TextId = TxtRegNetwork; //TxtHostKeyChangeOk; //TxtNetwork;
display_info.TextId2 = TxtHostKeyChangeOk; //TxtSelected;
display_info.RightSoftKey = TxtSoftBack;
display_info.Time = 3000;
display_info.iconindex =REMIND_SUCCEED;
display_info.Callback = (T_VOID_FUNC)network_animation3sec_cb;
/*
* Call Info Screen
*/
network_data.network_search_win = info_dialog (network_data.network_win, &display_info);
}
/*******************************************************************************
$Function: network_no_plmns
$Description: Indicate Info Screen that the network list is empty.
$Returns:
$Arguments:
*******************************************************************************/
static void network_no_plmns(void)
{
T_DISPLAY_DATA display_info;
TRACE_FUNCTION ("network_no_plmns()");
dialog_info_init(&display_info);
display_info.KeyEvents = KEY_RIGHT;
display_info.TextId2 = TxtNoNetwork;
//display_info.TextId = 0;
//display_info.TextString = '\0'; //" No networks";
//display_info.TextString2 = '\0'; //" available";
//display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = TxtSoftBack;
display_info.Time = THREE_SECS;
display_info.iconindex =REMIND_NORECORD;
display_info.Callback = (T_VOID_FUNC)network_animation3sec_cb;
/*
* Call Info Screen
*/
info_dialog (0, &display_info);
}
/*******************************************************************************
$Function: network_stop_animation
$Description: Stops the network animation.
$Returns:
$Arguments:
*******************************************************************************/
static void network_stop_animation(void)
{
MMI_TRACE_EVENT(("<<<talcon,network_stop_animation()-type of network_search_win:%d",((MfwHdr *) network_data.network_search_win)->type ));
/*2004/04/12,talcon modify*/
/*if (network_data.network_search_win)*/
if( winIsFocussed(network_data.network_search_win) )
{
MMI_TRACE_EVENT(("<<<talcon,network_stop_animation()--1" ));
SEND_EVENT(network_data.network_search_win,DIALOG_DESTROY,0,0);
//network_data.network_search_win = 0;
SetEarMode();
}
network_data.network_search_win = 0;
}
/*******************************************************************************
$Function: network_timeout
$Description: Indicate Info Screen that the network searching or registering is timed out.
$Returns:
$Arguments: xsf add 2003.02.26
*******************************************************************************/
static void network_timeout(void)
{
T_DISPLAY_DATA display_info;
TRACE_FUNCTION ("network_timeout()");
dialog_info_init(&display_info);
display_info.KeyEvents = KEY_RIGHT;
display_info.TextId2 = TxtTimeOut;
display_info.RightSoftKey = TxtSoftBack;
display_info.Time = THREE_SECS;
display_info.iconindex =REMIND_NORECORD;
// Call Info Screen
info_dialog (0, &display_info);
}
/*******************************************************************************
$Function: network_animation_cb
$Description: Callback for information dialog (not used)n
$Returns:
$Arguments:
*******************************************************************************/
void network_animation_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason)
{
MMI_TRACE_EVENT(("<<<talcon,network_animation_cb()" ));
network_data.network_search_win = 0;
network_data.aborted = TRUE;
SetEarMode();
switch( reason )
{
case INFO_TIMEOUT:
network_timeout();
break;
default:
break;
}
}
/*******************************************************************************
$Function: network_MNU_start
$Description: called when the user press the Edit Softkey to enter the
Option Menu "Select from the list" & "Enter the Network Code" &
"Delete"
$Returns:
$Arguments:
*******************************************************************************/
T_MFW_HND network_MNU_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr)
{
T_MFW_HND win;
TRACE_FUNCTION ("network_MNU_start()");
win = network_MNU_create (parent_window);
if( win NEQ NULL )
{
SEND_EVENT (win, E_INIT, NULL, (void *)menuAttr);
}
return win;
}
/*******************************************************************************
$Function: network_MNU_create
$Description: Create the Option window
$Returns: mfw window handle
$Arguments: parent_window -parent window handle
*******************************************************************************/
static T_MFW_HND network_MNU_create(MfwHnd parent_window)
{
T_network_OPT * data = (T_network_OPT *)ALLOC_MEMORY (sizeof (T_network_OPT));
T_MFW_WIN * win;
TRACE_FUNCTION ("network_MNU_create()");
/*
* Create window handler
*/
data->win =
win_create (parent_window, 0, E_WIN_VISIBLE, (T_MFW_CB)network_MNU_win_cb);
if( data->win EQ NULL )
{
return NULL;
}
/*
* connect the dialog data to the MFW-window
*/
data->mmi_control.dialog = (T_DIALOG_FUNC)network_MNU_exec_cb;
data->mmi_control.data = data;
win = ((T_MFW_HDR *)data->win)->data;
win->user = (void *)data;
data->parent = parent_window;
/*
* return window handle
*/
return data->win;
}
/**********************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -