⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmibookcontroller.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 4 页
字号:
  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 + -