📄 mmibookcontroller.c
字号:
/*******************************************************************************
$Function: bookNameDelete
$Description:
Delete name in phone book
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookNameDelete )
{
//recast the menu parameter as the current window -- MC
//and pass it on
//when ADN_FDN phonebook in use check if current entry is FDN
//is so then call information screen or allow entry to be deleted. --- AP 23/01/02
//Issue 1944 MZ Allow an entry in FDN list to be deleted.
T_MFW_HND win = (T_MFW_HND)Menu;
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
/*MC SPR 1327, if UPN don't change phonebook type*/
if (data->phbk->current.status.book != PHB_UPN)
data->phbk->current.status.book = bookActiveBook(READ);
if(data->phbk->current.status.book == PHB_ADN_FDN)
if(data->phbk->current.entry[ data->phbk->current.selectedName ].book==PHB_FDN)
bookActivateFDN((T_MFW_HND)Menu);
else
bookDeleteEntry((T_MFW_HND)Menu);
else
bookDeleteEntry((T_MFW_HND)Menu);
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookNameCall
$Description:
Call name in phone book
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookNameCall )
{ T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
callNumber( Phbk->current.entry[ Phbk->current.selectedName ].number );
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookDeleteAll
$Description:
Delete name in phone book
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookDeleteAll )
{
T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
if (phb_delete_book(Phbk->current.status.book)==MFW_PHB_OK)
{
MmiBookSetCurrentText( TxtEntryDeleted);
bookShowInformation( Phbk->win, MmiBookCurrentText(),NULL, NULL );
bookPhonebookDestroy(Phbk->win);
}
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookNameSearch
$Description:
Search for name in phone book
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookNameSearch )
{
T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
data->phbk->current.KindOfSearch = SEARCH_BY_NAME;
data->phbk->current.status.book = bookActiveBook(READ);
data->phbk->search_win = bookSearchStart( data->phbk->win );
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookNumberSearch
$Description:
Search for name in phone book, order the elements by the phone book number
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookNumberSearch )
{
T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
data->phbk->current.KindOfSearch = SEARCH_BY_NUMBER;
data->phbk->current.status.book = bookActiveBook(READ);
data->phbk->search_win = bookSearchStart( data->phbk->win );
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookLocationSearch
$Description:
Search for number in phone book, using SIM location to order search
window output
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookLocationSearch )
{
T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
data->phbk->current.KindOfSearch = SEARCH_BY_LOCATION;
data->phbk->current.status.book = bookActiveBook(READ);
data->phbk->search_win = bookSearchStart( data->phbk->win );
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookNameDeleteAll
$Description:
Delete all names associated with a phone book
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookNameDeleteAll )
{
return NULL;
}
/*******************************************************************************
$Function: bookNameMessage
$Description:
Send message to the number selected
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookSendMessage )
{
T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
T_SmsUserData SmsData;
/* Copy the number and name information to the SMS buffer
*/
/* API - 13-01-03 - 1409 - Minus the Phbk->current.missedCallsOffset to point at the correct number in the missed calls */
memcpy( SmsData.NumberBuffer, (UBYTE *) Phbk->current.entry[ Phbk->current.selectedName - Phbk->current.missedCallsOffset ].number,
sizeof( SmsData.NumberBuffer ) );
/*MC SPR 1257, zero whole buffer for unicode*/
memset(SmsData.TextBuffer, '\0', MAX_MSG_LEN_ARRAY);
/* Create a dynamic menu window to perform the SMS sending
*/
SmsSend_SEND_start( win, (void *) &SmsData );
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookGetOwnNumber
$Description:
Get own number
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookGetOwnNumber )
{
T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
data->phbk->current.KindOfSearch = SEARCH_BY_NAME;
data->phbk->current.status.book = PHB_UPN;
data->phbk->search_win = bookSearchStart( data->phbk->win );
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookSetOwnNumber
$Description:
Set own number
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookSetOwnNumber )
{ T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
/* Clear the input editor structures before we go any further
*/
/*MC SPR 1257, replacing PHB_MAX_LEN with MAX_ALPHA_LEN for name strings*/
memset( Phbk->phbk->edt_buf_name, '\0', MAX_ALPHA_LEN );
memset( Phbk->phbk->edt_buf_number, '\0', PHB_MAX_LEN );
/* Indicate this is an additional entry being created
*/
Phbk->UpdateAction = CREATE_ENTRY;
data->phbk->current.status.book = PHB_UPN;
/* Determine if we have room to add any new entries
*/
bookGetCurrentStatus( &Phbk->phbk->current.status );
if ( Phbk->phbk->current.status.avail_entries )
{
/* We are okay to input the number, use a worker routine
from the input handler module to actually deal with this
*/
Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number );
}
else
{
/* We have no room available to add the name, so check if
we have filled the namespace or not
*/
tIndexTagNames Tag = ( Phbk->phbk->current.status.used_entries )
? TxtPhbkFull : TxtOperationNotAvail;
bookShowInformation( win, Tag, NULL, NULL );
}
/* Always return event consumed
*/
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: bookRepRedNameEnter
$Description:
Enter name associated with Reply-Redial number
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookRepRedNameEnter )
{
T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
char* selected_number;
selected_number = (char*)data->phbk->current.entry[data->phbk->current.selectedName].number;
data->phbk->current.status.book = PHB_ADN;
Phbk->UpdateAction = CREATE_ENTRY;
bookGetCurrentStatus( &Phbk->phbk->current.status );
if ( Phbk->phbk->current.status.avail_entries )
{
/* We are okay to input the number, use a worker routine
from the input handler module to actually deal with this
*/
bookAddName(win,selected_number);
}
else
{
/* We have no room available to add the name, so check if
we have filled the namespace or not
*/
tIndexTagNames Tag = ( Phbk->phbk->current.status.used_entries )
? TxtPhbkFull : TxtOperationNotAvail;
bookShowInformation( win, Tag, NULL, NULL );
}
free( selected_number);
return 1;
}
/*******************************************************************************
$Function: bookRepRedDelete
$Description:
Delete name associated with Reply-Redial Number
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookRepRedDelete )
{
T_MFW_HND win = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
deleteFromFile(Phbk,Phbk->current.status.book);
bookShowInformation( Phbk->win, MmiBookCurrentText(),NULL, NULL );
bookMenuDestroy(Phbk->menu_call_options_win);
if(Phbk->current.status.used_entries > 0)
SEND_EVENT(Phbk->calls_list_win, SEARCH_SCROLL_UP, 0, 0 );
SEND_EVENT(Phbk->calls_list_win, CALLS_LIST_INIT, 0, (void*)Phbk->current.status.book );
return 1;
}
/*******************************************************************************
$Function: bookCallListDetails
$Description:
Retrieve details for call list
$Returns: Refer Menu Handlers Definition Block Above
$Arguments: Refer Menu Handlers Definition Block Above
*******************************************************************************/
PROTECTED_MENU_HANDLER( bookCallListDetails )
{
T_MFW_HND win = mfwParent( mfw_header() );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -