📄 mmibookcontroller.c
字号:
else bookShowInformation( win, TxtPhbkFull,NULL, NULL );
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookHomeEnter )
{
T_MFW_HND win = (T_MFW_HND)Menu;
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
TRACE_FUNCTION("bookHomeEnter");
if (Phbk->UpdateAction!=ADD_FROM_IDLE&&Phbk->deletenumber!=1)//
{
memset( Phbk->phbk->edt_buf_number, '\0', PHB_number_len+3);
memset(Phbk->phbk->edt_buf_foradd,'\0',PHB_number_len+3);
memset( Phbk->phbk->edt_buf_home, '\0',PHB_number_len+3);
Phbk->deletenumber=0;
}
else
{
strncpy((char *) data->phbk->edt_buf_home, (char*)data->phbk->edt_buf_foradd, PHB_number_len );
memset( Phbk->phbk->edt_buf_number, '\0', PHB_number_len);
}
memset( Phbk->phbk->edt_buf_name, '\0',PHB_name_len+5);
memset( Phbk->phbk->edt_buf_office, '\0',PHB_number_len+3);
memset( Phbk->phbk->edt_buf_memo,'\0',PHB_memo_len+3);
Phbk->UpdateAction = CREATE_ENTRY;
Phbk->BookType = NVM_BOOK_SEL;
Phbk->FirstNumber= HOME;
if ( NVMTotal<ALL_NVM_LIST )
Phbk->input_win =bookInputStart(win);
else bookShowInformation( win, TxtPhbkFull,NULL, NULL );
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookOfficeEnter )
{
T_MFW_HND win = (T_MFW_HND)Menu;
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
TRACE_FUNCTION("bookOfficeEnter");
if (Phbk->UpdateAction!=ADD_FROM_IDLE&&Phbk->deletenumber!=1)//
{
memset( Phbk->phbk->edt_buf_number, '\0', PHB_number_len+3);
memset(Phbk->phbk->edt_buf_foradd,'\0',PHB_number_len+3);
memset( Phbk->phbk->edt_buf_office, '\0',PHB_number_len+3);
Phbk->deletenumber=0;
}
else
{
strncpy((char *) data->phbk->edt_buf_office, (char*)data->phbk->edt_buf_foradd, PHB_number_len );
memset( Phbk->phbk->edt_buf_number, '\0', PHB_number_len);
}
memset( Phbk->phbk->edt_buf_name, '\0',PHB_name_len+5);
memset( Phbk->phbk->edt_buf_home, '\0',PHB_number_len+3);
memset( Phbk->phbk->edt_buf_memo,'\0',PHB_memo_len+3);
Phbk->UpdateAction = CREATE_ENTRY;
Phbk->BookType = NVM_BOOK_SEL;
Phbk->FirstNumber = OFFICE;
if ( NVMTotal<ALL_NVM_LIST )
Phbk->input_win =bookInputStart(win);
else bookShowInformation( win, TxtPhbkFull,NULL, NULL );
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() );
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookSimDeleteAll )
{
T_MFW_HND win = mfwParent( mfw_header() );
bookDeleteAllSIMRecord(win);
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookNvmDeleteAll )
{
T_MFW_HND win = mfwParent( mfw_header() );
/* if (!CheckHostkey(PRO_DELALLPHB)) //xsf 2002.08.30
{
bookDeleteAllNVMRecord(win);
}*/
CheckHostkey2(win, PRO_DELALLPHB); //xsf 11.08
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 = /*PHB_ADN;*/bookActiveBook(READ);
data->phbk->search_win = bookSearchStart( data->phbk->win );
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookGroupingSetting )
{
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->groupingsetting_win=bookGroupingStart(win);
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookShortCutDial )
{
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->shortcutdial_win=bookShortCutDialStart(win);
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookCopyOne )
{
T_MFW_HND win = (T_MFW_HND)Menu;
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
char temp[100];
if (Phbk->BufferTable==GlobalTable)
{
if (l_phb_index[l_phb_sort_index[Phbk->BufferIndex+Phbk->phbk->select_index].index].phonebook==SIM_BOOK_SEL)
bookCopyRecord(win,TxtPhbkCopyMess);
else if (l_phb_index[l_phb_sort_index[Phbk->BufferIndex+Phbk->phbk->select_index].index].phonebook==NVM_BOOK_SEL)
bookCopyRecord(win,TxtPhbkCopyMess);
}
else if (Phbk->BufferTable==SearchTable)
{
if (l_phb_index[bookname[Phbk->BufferIndex+Phbk->phbk->select_index].index].phonebook==SIM_BOOK_SEL)
bookCopyRecord(win,TxtPhbkCopyMess);
else if (l_phb_index[bookname[Phbk->BufferIndex+Phbk->phbk->select_index].index].phonebook==NVM_BOOK_SEL)
bookCopyRecord(win,TxtPhbkCopyMess);
}
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookDeleteOne )
{
T_MFW_HND win = (T_MFW_HND)Menu;
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
if (l_phb_index[l_phb_sort_index[Phbk->phbk->select_index].index].phonebook==SIM_BOOK_SEL)
{
bookDeleteRecord(win);
}
else if (l_phb_index[l_phb_sort_index[Phbk->phbk->select_index].index].phonebook==NVM_BOOK_SEL)
{
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(win);
else
bookDeleteRecord(win);
else
bookDeleteRecord(win);
}
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER( bookEditOne )
{
T_MFW_HND win = (T_MFW_HND)Menu;
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
T_MFW_PHB_ENTRY l_phb_Shortentry;
T_MFW_PHB_LIST l_phb_list; /* phonebook list */
T_MFW ret;
char temp[100];
Phbk->UpdateAction = MODIFY_EXISTING;
data->phbk->current.status.book = bookActiveBook(WRITE);
memset( Phbk->phbk->edt_buf_name,'\0', PHB_name_len+5);
memset( Phbk->phbk->edt_buf_number,'\0', PHB_number_len+3);
memset( Phbk->phbk->edt_buf_home,'\0',PHB_number_len+3);
memset( Phbk->phbk->edt_buf_office,'\0',PHB_number_len+3);
memset( Phbk->phbk->edt_buf_memo,'\0',PHB_memo_len+3);
switch ( Phbk->BufferTable )
{
case GlobalTable:
{
memcpy(Phbk->phbk->edt_buf_name,l_phb_index[l_phb_sort_index[Phbk->phbk->select_index].index].name,PHB_name_len);
if (l_phb_index[l_phb_sort_index[Phbk->phbk->select_index].index].phonebook==SIM_BOOK_SEL)
{
memset(&l_phb_Shortentry,0,sizeof(l_phb_Shortentry));
memset(&l_phb_list,0,sizeof(l_phb_list));
l_phb_list.entry=&l_phb_Shortentry;
l_phb_list.num_entries=1;
ret=phb_read_entries(PHB_ADN,l_phb_index[l_phb_sort_index[Phbk->phbk->select_index].index].index,MFW_PHB_PHYSICAL,1,&l_phb_list);//l_phb_index[l_phb_sort_index[Phbk->phbk->select_index].index].index
if (ret==MFW_PHB_OK)
{
memcpy(Phbk->phbk->edt_buf_number,l_phb_Shortentry.number,PHB_number_len);
sprintf(temp,"Find name:%s",l_phb_Shortentry.name.data);
TRACE_EVENT(temp);
}
Phbk->BookType=SIM_BOOK_SEL;
}
else if (l_phb_index[l_phb_sort_index[Phbk->phbk->select_index].index].phonebook==NVM_BOOK_SEL)
{
if (CurrentTable != l_phb_sort_index[Phbk->phbk->select_index].index/PHB_table_len)
{
if (flash_PBread(PBTable[l_phb_sort_index[Phbk->phbk->select_index].index/PHB_table_len])!=0)
CurrentTable=l_phb_sort_index[Phbk->phbk->select_index].index/PHB_table_len;
}
UnCompressNum((char *)FFS_PBData.NVMBook[l_phb_sort_index[Phbk->phbk->select_index].index%PHB_table_len].number,Phbk->phbk->edt_buf_number);
UnCompressNum((char *)FFS_PBData.NVMBook[l_phb_sort_index[Phbk->phbk->select_index].index%PHB_table_len].home,Phbk->phbk->edt_buf_home);
UnCompressNum((char *)FFS_PBData.NVMBook[l_phb_sort_index[Phbk->phbk->select_index].index%PHB_table_len].office,Phbk->phbk->edt_buf_office);
memcpy(Phbk->phbk->edt_buf_memo,(char *)FFS_PBData.NVMBook[l_phb_sort_index[Phbk->phbk->select_index].index%PHB_table_len].memo,PHB_memo_len+1);
switch (CheckFirstNumFlag(l_phb_sort_index[Phbk->phbk->select_index].index))
{
case 0x01:
Phbk->FirstNumber=NUMBER;
break;
case 0x02:
Phbk->FirstNumber=HOME;
break;
case 0x03:
Phbk->FirstNumber=OFFICE;
break;
}
Phbk->BookType=NVM_BOOK_SEL;
}
}
break;
case SearchTable:
{
memcpy(Phbk->phbk->edt_buf_name,l_phb_index[bookname[Phbk->phbk->select_index].index].name,PHB_name_len);
if (l_phb_index[bookname[Phbk->phbk->select_index].index].phonebook==SIM_BOOK_SEL)
{
memset(&l_phb_Shortentry,0,sizeof(l_phb_Shortentry));
memset(&l_phb_list,0,sizeof(l_phb_list));
l_phb_list.entry=&l_phb_Shortentry;
l_phb_list.num_entries=1;
ret=phb_read_entries(PHB_ADN,l_phb_index[bookname[Phbk->phbk->select_index].index].index,MFW_PHB_PHYSICAL,1,&l_phb_list);//l_phb_index[bookname[Phbk->phbk->select_index].index].index
if (ret==MFW_PHB_OK)
{
memcpy(Phbk->phbk->edt_buf_number,l_phb_Shortentry.number,PHB_number_len);
sprintf(temp,"Find name:%s;Index:%d;number:%s",l_phb_Shortentry.name.data,l_phb_Shortentry.index,l_phb_Shortentry.number);
TRACE_EVENT(temp);
}
Phbk->BookType=SIM_BOOK_SEL;
}
else if (l_phb_index[bookname[Phbk->phbk->select_index].index].phonebook==NVM_BOOK_SEL)
{
if (CurrentTable != bookname[Phbk->phbk->select_index].index/PHB_table_len)
{
if (flash_PBread(PBTable[bookname[Phbk->phbk->select_index].index/PHB_table_len])!=0)
CurrentTable=bookname[Phbk->phbk->select_index].index/PHB_table_len;
}
UnCompressNum((char *)FFS_PBData.NVMBook[bookname[Phbk->phbk->select_index].index%PHB_table_len].number,Phbk->phbk->edt_buf_number);
UnCompressNum((char *)FFS_PBData.NVMBook[bookname[Phbk->phbk->select_index].index%PHB_table_len].home,Phbk->phbk->edt_buf_home);
UnCompressNum((char *)FFS_PBData.NVMBook[bookname[Phbk->phbk->select_index].index%PHB_table_len].office,Phbk->phbk->edt_buf_office);
memcpy(Phbk->phbk->edt_buf_memo,(char *)FFS_PBData.NVMBook[bookname[Phbk->phbk->select_index].index%PHB_table_len].memo,PHB_memo_len+1);
switch (CheckFirstNumFlag(bookname[Phbk->phbk->select_index].index))
{
case 0x01:
Phbk->FirstNumber=NUMBER;
break;
case 0x02:
Phbk->FirstNumber=HOME;
break;
case 0x03:
Phbk->FirstNumber=OFFICE;
break;
}
Phbk->BookType=NVM_BOOK_SEL;
}
}
break;
default: break;
}
Phbk->input_win=bookInputStart(win);
return MFW_EVENT_CONSUMED;
}
PROTECTED_MENU_HANDLER ( bookGroupingRename )
{
T_MFW_HND win = (T_MFW_HND)Menu;
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tBookStandard *data = (tBookStandard *) win_data->user;
T_phbk *Phbk = data->phbk;
char temp[100];
T_DISPLAY_DATA display_info;
TRACE_EVENT("xzy for rename restart");
TraceInt((int)idle_data.win);
sprintf(temp,"Phbk->phbk->select_index:%d; Phbk->select_index:%d",Phbk->phbk->select_index,
Phbk->select_index);
TRACE_EVENT(temp);
memset(Phbk->edt_buf_rename,0,sizeof(Phbk->edt_buf_rename));
memcpy(Phbk->edt_buf_rename,DataItem[Phbk->select_index].name,GroupingName_len);
sprintf(temp,"edt_buf_rename:%s,%s",DataItem[Phbk->select_index].name,
Phbk->edt_buf_rename);
////zgzTraceDataFunc("len of name",(unsigned short)wstrlen((char *)Phbk->edt_buf_rename));
TRACE_EVENT(temp);
if (Phbk->select_index == 9)
{
dialog_info_init(&display_info);//gdy add
display_info.KeyEvents = KEY_CLEAR;
display_info.TextId = 0;
display_info.TextId2 = TxtRenameForbidden;
display_info.TextString = '\0';
display_info.TextString2 = '\0';
display_info.LeftSoftKey = TxtNull;
display_info.RightSoftKey = TxtNull;
display_info.Time =ONE_SECS;//
display_info.Callback = NULL;
display_info.iconindex=REMIND_FAILURE;
info_dialog( win, &display_info );
}
else
{
Phbk->groupingRename_win=bookGroupingRenameStart(win,Phbk->edt_buf_rename);
}
TRACE_EVENT("xzy for rename restart");
TraceInt((int)idle_data.win);
return MFW_EVENT_CONSUMED;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -