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

📄 mmibookcontroller.c

📁 GSM手机设计软件代码
💻 C
📖 第 1 页 / 共 3 页
字号:


/*******************************************************************************

 $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 + -