FreeCalypso > hg > fc-tourmaline
diff src/ui/bmi/mmiBookSearchWindow.c @ 142:ec9f955fc487
mmiBook*.c: bogotab fixes
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 14 Nov 2020 08:43:59 +0000 |
parents | c0052fe355d3 |
children |
line wrap: on
line diff
--- a/src/ui/bmi/mmiBookSearchWindow.c Sat Nov 14 04:29:03 2020 +0000 +++ b/src/ui/bmi/mmiBookSearchWindow.c Sat Nov 14 08:43:59 2020 +0000 @@ -1,6 +1,6 @@ /******************************************************************************* - CONDAT (UK) + CONDAT (UK) ******************************************************************************** @@ -9,21 +9,21 @@ ******************************************************************************** - $Project name: Basic MMI - $Project code: BMI (6349) - $Module: PhoneBook - $File: MmiSearchWindow.c - $Revision: 1.0 + $Project name: Basic MMI + $Project code: BMI (6349) + $Module: PhoneBook + $File: MmiSearchWindow.c + $Revision: 1.0 - $Author: Condat(UK) - $Date: 25/10/00 + $Author: Condat(UK) + $Date: 25/10/00 ******************************************************************************** Description: - This module provides the phone book search window functionality for the - phone book module of the basic MMI + This module provides the phone book search window functionality for the + phone book module of the basic MMI ******************************************************************************** $History: MmiSearchWindow.c @@ -45,19 +45,19 @@ Solution: The new feature to select the number from phonebook while sending MMS/EMS is added - Oct 26, 2004 REF: CRR 25354 xkundadu - Description: Phonebook: After entering precise name to search and then - trying to delete using RSK, first character is not deleted - Fix: If only one character is present in the editor and delete key is pressed, - delete the editor buffer and update the editor view. + Oct 26, 2004 REF: CRR 25354 xkundadu + Description: Phonebook: After entering precise name to search and then + trying to delete using RSK, first character is not deleted + Fix: If only one character is present in the editor and delete key is pressed, + delete the editor buffer and update the editor view. - Aug 16, 2004 REF: CRR 24323 Deepa M.D - Bug:Clenup of sprintf used for tracing - Fix:Replace the char buf[]; sprintf (buf, "...", ...); TRACE_EVENT (buf); statements by TRACE_EVENT_PX + Aug 16, 2004 REF: CRR 24323 Deepa M.D + Bug:Clenup of sprintf used for tracing + Fix:Replace the char buf[]; sprintf (buf, "...", ...); TRACE_EVENT (buf); statements by TRACE_EVENT_PX - 25/10/00 Original Condat(UK) BMI version. - 20/02/02 Reinstated editor when in Chinese language by removing - "if not Chinese" conditions SPR 1742 + 25/10/00 Original Condat(UK) BMI version. + 20/02/02 Reinstated editor when in Chinese language by removing + "if not Chinese" conditions SPR 1742 $End @@ -128,7 +128,6 @@ #include "MmiLists.h" - #include "MmiMenu.h" #include "mmiCall.h" #include "Mmiicons.h" @@ -167,7 +166,7 @@ typedef struct { T_MMI_CONTROL mmi_control; - T_MFW_HND chinese_search_win; /* MFW win handler */ + T_MFW_HND chinese_search_win; /* MFW win handler */ T_MFW_HND parent; ListMenuData * menu_list_data; } T_CHINESE_SEARCH_INFO; @@ -189,780 +188,762 @@ /******************************************************************************* - $Function: bookSearchDialog + $Function: bookSearchDialog - $Description: dialog handler for the search window functionality + $Description: dialog handler for the search window functionality - $Returns: None + $Returns: None - $Arguments: win, window handle + $Arguments: win, window handle event, event to be handled - value, not used - parameter, not used + value, not used + parameter, not used *******************************************************************************/ void bookSearchDialog( T_MFW_HND win, USHORT event, SHORT value, void *parameter ) { - T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data; - tBookStandard *data = (tBookStandard *) win_data->user; - tMmiPhbData *Current = &data->phbk->current; - MfwMnu *mnu; + T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data; + tBookStandard *data = (tBookStandard *) win_data->user; + tMmiPhbData *Current = &data->phbk->current; + MfwMnu *mnu; //Jan 22, 2006 REF: OMAPS00061930 x0039928 // Fix : Add a local variable search_string char search_string[MAX_ALPHA_LEN]; //x0066692 Date:23 April 2007 DR:OMAPS00121834, Asha //Fix for phone book search issue - when phonebook has more than 240 entries. - UBYTE max_search_name; + UBYTE max_search_name; TRACE_FUNCTION( "bookSearchDialog()" ); switch( event ) - { - case SEARCH_INIT: - { - /* No initialisation required - */ - } - break; + { + case SEARCH_INIT: + { + /* No initialisation required + */ + } + break; - case SEARCH_SCROLL_UP: - { /*MC SPR 1541, flag to show whether we've scrolled off-screen and need to - update the portion of the list displayed*/ - BOOL get_new_screen = FALSE; + case SEARCH_SCROLL_UP: + { /*MC SPR 1541, flag to show whether we've scrolled off-screen and need to + update the portion of the list displayed*/ + BOOL get_new_screen = FALSE; - /* Scroll up - */ - if ( ( Current->index == 1 ) && ( Current->selectedName == 0 ) ) - { - if ( Current->status.used_entries < MAX_SEARCH_NAME ) - Current->selectedName = Current->status.used_entries - 1; - else - { Current->selectedName = MAX_SEARCH_NAME - 1; - /*SPR 1541, we're scrolling up from the first item in the list and are to go to - the end*/ - get_new_screen = TRUE; - } - Current->index = Current->status.used_entries - Current->selectedName; + /* Scroll up + */ + if ( ( Current->index == 1 ) && ( Current->selectedName == 0 ) ) + { + if ( Current->status.used_entries < MAX_SEARCH_NAME ) + Current->selectedName = Current->status.used_entries - 1; + else + { Current->selectedName = MAX_SEARCH_NAME - 1; + /*SPR 1541, we're scrolling up from the first item in the list and are to go to + the end*/ + get_new_screen = TRUE; + } + Current->index = Current->status.used_entries - Current->selectedName; - } - else - { - if (Current->selectedName == 0) - { Current->index--; - /*SPR 1541, we've just come off the top of the screen*/ - get_new_screen = TRUE; - } - else - Current->selectedName--; - } + } + else + { + if (Current->selectedName == 0) + { Current->index--; + /*SPR 1541, we've just come off the top of the screen*/ + get_new_screen = TRUE; + } + else + Current->selectedName--; + } - mnu = (MfwMnu *) mfwControl( data->menu ); - mnu->lCursor[mnu->level] = Current->selectedName; + mnu = (MfwMnu *) mfwControl( data->menu ); + mnu->lCursor[mnu->level] = Current->selectedName; - /*SPR 1541, only update the list if flag set*/ - if (get_new_screen == TRUE) - bookFindName( MAX_SEARCH_NAME, &data->phbk->current ); - } - break; + /*SPR 1541, only update the list if flag set*/ + if (get_new_screen == TRUE) + bookFindName( MAX_SEARCH_NAME, &data->phbk->current ); + } + break; - case SEARCH_SCROLL_DOWN: - { /*MC SPR 1541, flag to show whether we've scrolled off-screen and need to - update the portion of the list displayed*/ - BOOL get_new_screen = FALSE; + case SEARCH_SCROLL_DOWN: + { /*MC SPR 1541, flag to show whether we've scrolled off-screen and need to + update the portion of the list displayed*/ + BOOL get_new_screen = FALSE; - /* Scroll Down - */ - if ( ( Current->index + Current->selectedName ) == Current->status.used_entries ) - { - Current->index = 1; - Current->selectedName = 0; - /*SPR 1541, we've come off the end of the list and are to go back to - the beginning*/ - get_new_screen = TRUE; - } - else - { - if ( Current->selectedName == MAX_SEARCH_NAME - 1 ) - { Current->index++; - /*SPR 1541, we've just come off the bottom of the screen*/ - get_new_screen = TRUE; - } - else - Current->selectedName++; - } + /* Scroll Down + */ + if ( ( Current->index + Current->selectedName ) == Current->status.used_entries ) + { + Current->index = 1; + Current->selectedName = 0; + /*SPR 1541, we've come off the end of the list and are to go back to + the beginning*/ + get_new_screen = TRUE; + } + else + { + if ( Current->selectedName == MAX_SEARCH_NAME - 1 ) + { Current->index++; + /*SPR 1541, we've just come off the bottom of the screen*/ + get_new_screen = TRUE; + } + else + Current->selectedName++; + } - mnu = (MfwMnu *) mfwControl( data->menu ); - mnu->lCursor[mnu->level] = Current->selectedName; - /*SPR 1541, only update the list if flag set*/ - if (get_new_screen == TRUE) - bookFindName( MAX_SEARCH_NAME, &data->phbk->current ); - } - break; + mnu = (MfwMnu *) mfwControl( data->menu ); + mnu->lCursor[mnu->level] = Current->selectedName; + /*SPR 1541, only update the list if flag set*/ + if (get_new_screen == TRUE) + bookFindName( MAX_SEARCH_NAME, &data->phbk->current ); + } + break; - case SEARCH_STRING: - { - { - //Jan 22, 2006 REF: OMAPS00061930 x0039928 - //Fix : Copy the number to be searched into the search_string variable and give a search for it - if ( value == TRUE) - strcpy(search_string,(char*)data->phbk->edt_buf_name); - else - strcpy(search_string,(char*)data->edtBuf); + case SEARCH_STRING: + { + { + //Jan 22, 2006 REF: OMAPS00061930 x0039928 + //Fix : Copy the number to be searched into the search_string variable and give a search for it + if ( value == TRUE) + strcpy(search_string,(char*)data->phbk->edt_buf_name); + else + strcpy(search_string,(char*)data->edtBuf); - /* Find name - */ - Current->index = Current->index + Current->selectedName; - if ( bookSearchName( search_string, MAX_SEARCH_NAME, Current ) == MFW_PHB_OK ) - { - //x0066692 Date:23 April 2007 DR:OMAPS00121834, Asha - //Fix is added to make cursor point to the correct entry in the phonebook. - max_search_name = Current->status.used_entries - Current->index +1; - if ( max_search_name > MAX_SEARCH_NAME ) - max_search_name = MAX_SEARCH_NAME; + /* Find name + */ + Current->index = Current->index + Current->selectedName; + if ( bookSearchName( search_string, MAX_SEARCH_NAME, Current ) == MFW_PHB_OK ) + { + //x0066692 Date:23 April 2007 DR:OMAPS00121834, Asha + //Fix is added to make cursor point to the correct entry in the phonebook. + max_search_name = Current->status.used_entries - Current->index +1; + if ( max_search_name > MAX_SEARCH_NAME ) + max_search_name = MAX_SEARCH_NAME; - if ( Current->index > ( Current->status.used_entries + 1 - max_search_name ) ) - { - if ( Current->status.used_entries > MAX_SEARCH_NAME ) - { - Current->selectedName = Current->index - Current->status.used_entries + max_search_name - 1; - Current->index = Current->index - Current->selectedName; - } - else - { - Current->selectedName = Current->index - 1; - Current->index=1; - } + if ( Current->index > ( Current->status.used_entries + 1 - max_search_name ) ) + { + if ( Current->status.used_entries > MAX_SEARCH_NAME ) + { + Current->selectedName = Current->index - Current->status.used_entries + max_search_name - 1; + Current->index = Current->index - Current->selectedName; + } + else + { + Current->selectedName = Current->index - 1; + Current->index=1; + } - /* go find the name - */ + /* go find the name + */ - bookFindName(MAX_SEARCH_NAME,&data->phbk->current); - } - else - { - Current->selectedName =0; + bookFindName(MAX_SEARCH_NAME,&data->phbk->current); + } + else + { + Current->selectedName =0; - } + } - /* update the menu */ - /* SPR881 - SH - Move name find to below */ - } - else - {/*SPR 2233, if no name found, go to beginning of list*/ - Current->index = 1; - Current->selectedName = 0; - } + /* update the menu */ + /* SPR881 - SH - Move name find to below */ + } + else + {/*SPR 2233, if no name found, go to beginning of list*/ + Current->index = 1; + Current->selectedName = 0; + } - /* update the menu - */ - /* SPR881 - SH - is necessary even when BookSearchName, above, fails */ + /* update the menu + */ + /* SPR881 - SH - is necessary even when BookSearchName, above, fails */ - mnu = (MfwMnu *) mfwControl( data->menu ); - mnu->lCursor[mnu->level] = Current->selectedName; - TRACE_EVENT_P1("Current->selectedName: %d", Current->selectedName); - /* go find the name - */ - bookFindName(MAX_SEARCH_NAME,&data->phbk->current); - } - } - break; + mnu = (MfwMnu *) mfwControl( data->menu ); + mnu->lCursor[mnu->level] = Current->selectedName; + TRACE_EVENT_P1("Current->selectedName: %d", Current->selectedName); + /* go find the name + */ + bookFindName(MAX_SEARCH_NAME,&data->phbk->current); + } + } + break; - case SEARCH_UPDATE: - { - /* Update, actually an initialisation/reset phase - */ - Current->index = 1; - Current->selectedName = 0; + case SEARCH_UPDATE: + { + /* Update, actually an initialisation/reset phase + */ + Current->index = 1; + Current->selectedName = 0; - { - memset( data->edtBuf, '\0', sizeof( data->edtBuf ) ); - /* SPR#1428 - SH - New Editor changes */ + { + memset( data->edtBuf, '\0', sizeof( data->edtBuf ) ); + /* SPR#1428 - SH - New Editor changes */ #ifdef NEW_EDITOR - ATB_edit_Reset( data->editor ); + ATB_edit_Reset( data->editor ); #else /* NEW_EDITOR */ - edtReset( data->edt ); + edtReset( data->edt ); #endif /* NEW_EDITOR */ - SEND_EVENT( win, SEARCH_STRING, 0, 0 ); - } - } - break; + SEND_EVENT( win, SEARCH_STRING, 0, 0 ); + } + } + break; /* SPR#1428 - SH - New Editor: Add this to allow redraw of * window on request. */ #ifdef NEW_EDITOR - case SEARCH_REDRAW: - /*SPR 2104, TRACE seems to fix timing probs :/ */ - TRACE_EVENT("UPDATE SEARCH REDRAW"); - SEND_EVENT(data->win, SEARCH_STRING, 0, 0); - win_show(data->win); - break; + case SEARCH_REDRAW: + /*SPR 2104, TRACE seems to fix timing probs :/ */ + TRACE_EVENT("UPDATE SEARCH REDRAW"); + SEND_EVENT(data->win, SEARCH_STRING, 0, 0); + win_show(data->win); + break; #endif /* NEW_EDITOR */ - default: - { - /* - */ - } - break; + default: + { + /* + */ + } + break; } } - - - - /******************************************************************************* - $Function: bookSearchWindowCB + $Function: bookSearchWindowCB - $Description: Window call back function + $Description: Window call back function - $Returns: MFW_EVENT_CONSUMED, or MFW_EVENT_PASSED + $Returns: MFW_EVENT_CONSUMED, or MFW_EVENT_PASSED - $Arguments: e, event, w, window handle + $Arguments: e, event, w, window handle *******************************************************************************/ static int bookSearchWindowCB( MfwEvt e, MfwWin *w ) { - tBookStandard *data = (tBookStandard *) w->user; - tMmiPhbData *Current = &data->phbk->current; - int index; - char *pchr; - char pchr2[PHB_MAX_LEN*2 +4];/*mc, SPR 1442*/ + tBookStandard *data = (tBookStandard *) w->user; + tMmiPhbData *Current = &data->phbk->current; + int index; + char *pchr; + char pchr2[PHB_MAX_LEN*2 +4];/*mc, SPR 1442*/ TRACE_FUNCTION( "bookSearchWindowCB()" ); - // May 3, 2004 REF: CRR MMI-SPR-18555 Rashmi C N(Sasken) - // When FDN is disabled we need to display only ADN entries in the phonebook menu. - // We just use the preset PHB_ADN as the current book. - //if(data->phbk->current.status.book == PHB_ADN) - // data->phbk->current.status.book = PHB_ADN_FDN; + // May 3, 2004 REF: CRR MMI-SPR-18555 Rashmi C N(Sasken) + // When FDN is disabled we need to display only ADN entries in the phonebook menu. + // We just use the preset PHB_ADN as the current book. + //if(data->phbk->current.status.book == PHB_ADN) + // data->phbk->current.status.book = PHB_ADN_FDN; - /* Deal with the visible event - */ - switch (e) + /* Deal with the visible event + */ + switch (e) { case MfwWinVisible: - { - /* Deal with the window visible event - */ - MmiBookShowDefault(); + { + /* Deal with the window visible event + */ + MmiBookShowDefault(); - { - /* SPR#1428 - SH - New Editor changes */ + { + /* SPR#1428 - SH - New Editor changes */ #ifdef NEW_EDITOR - ATB_edit_Show( data->editor ); + ATB_edit_Show( data->editor ); #else /* NEW_EDITOR */ - edtShow( data->edt ); + edtShow( data->edt ); #endif /* NEW_EDITOR */ - } + } - /* SPR#1428 - SH - New Editor: Only update the list if we're not in multi-tap */ + /* SPR#1428 - SH - New Editor: Only update the list if we're not in multi-tap */ #ifdef NEW_EDITOR - if (!data->editor->multitap) - { + if (!data->editor->multitap) + { #endif /* NEW_EDITOR */ - for ( index = 0; index < MAX_SEARCH_NAME; index++ ) - { + for ( index = 0; index < MAX_SEARCH_NAME; index++ ) + { TRACE_EVENT( "bookSearchWindowCB()-loopstart" ); - pchr = (char *) MmiBookCallList( index ); + pchr = (char *) MmiBookCallList( index ); - memset( pchr, '\0', NAME_SCREEN_MAX ); + memset( pchr, '\0', NAME_SCREEN_MAX ); - /* SPR#1428 - SH - remove extraneous call to edtShow*/ - /*SPR 2123, using new macro PHONEBOOK_ITEM_LENGTH*/ + /* SPR#1428 - SH - remove extraneous call to edtShow*/ + /*SPR 2123, using new macro PHONEBOOK_ITEM_LENGTH*/ #ifdef NO_ASCIIZ - /*if current language chinese*/ - if (Mmi_getCurrentLanguage() == CHINESE_LANGUAGE) - { /*SPR 2653, this check should be here too*/ - if (!Current->list.entry == NULL) - { if ( Current->entry[ index ].name.len NEQ 0) //if name not empty - { - if (Current->entry[ index ].name.data[0] != 0x80)//if not unicode - {/*we have to convert to unicode*/ - pchr2[0]= (char)0x80;/*SPR 1442, add unicode tag*//*a0393213 lint warnings removal - typecast done*/ - pchr2[1]= 0x7f; - /*SPR2175, use new function*/ - ATB_convert_String((char*)Current->entry[ index ].name.data, MFW_ASCII, - (UBYTE)strlen((char*)Current->entry[ index ].name.data), &pchr2[2], MFW_DCS_UCS2, PHONEBOOK_ITEM_LENGTH-2, FALSE); - /*SPR 1442 and now truncate the string*/ - resources_truncate_to_screen_width((char *) pchr2, Current->entry[ index ].name.len*2+2, pchr,PHONEBOOK_ITEM_LENGTH , SCREEN_SIZE_X, TRUE); - } - else /*MC SPR 1257, replacing PHB_MAX_LEN with MAX_ALPHA_LEN for name strings*/ - { - /*SPR 1442 truncate the string*/ - resources_truncate_to_screen_width((char *) Current->entry[index].name.data, Current->entry[index].name.len, pchr, MAX_ALPHA_LEN, SCREEN_SIZE_X, TRUE); - } - } - else /*we convert number string into unicode*/ - { pchr2[0]= (char)0x80;/*SPR 1442, add unicode tag*//*a0393213 lint warnings removal-typecast done*/ - pchr2[1]= 0x7f; - /*SPR 2175, use new function*/ - ATB_convert_String((char*)Current->entry[ index ].number, MFW_ASCII, - (UBYTE)strlen((char*)Current->entry[ index ].number), &pchr2[2], MFW_DCS_UCS2, PHONEBOOK_ITEM_LENGTH-2, FALSE); - /*SPR 1442 and now truncate the string*/ - resources_truncate_to_screen_width((char *) pchr2, strlen((char*)Current->entry[ index ].number)*2+2, pchr,PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X, TRUE); - } - } + /*if current language chinese*/ + if (Mmi_getCurrentLanguage() == CHINESE_LANGUAGE) + { /*SPR 2653, this check should be here too*/ + if (!Current->list.entry == NULL) + { if ( Current->entry[ index ].name.len NEQ 0) //if name not empty + { + if (Current->entry[ index ].name.data[0] != 0x80)//if not unicode + {/*we have to convert to unicode*/ + pchr2[0]= (char)0x80;/*SPR 1442, add unicode tag*//*a0393213 lint warnings removal - typecast done*/ + pchr2[1]= 0x7f; + /*SPR2175, use new function*/ + ATB_convert_String((char*)Current->entry[ index ].name.data, MFW_ASCII, + (UBYTE)strlen((char*)Current->entry[ index ].name.data), &pchr2[2], MFW_DCS_UCS2, PHONEBOOK_ITEM_LENGTH-2, FALSE); + /*SPR 1442 and now truncate the string*/ + resources_truncate_to_screen_width((char *) pchr2, Current->entry[ index ].name.len*2+2, pchr,PHONEBOOK_ITEM_LENGTH , SCREEN_SIZE_X, TRUE); + } + else /*MC SPR 1257, replacing PHB_MAX_LEN with MAX_ALPHA_LEN for name strings*/ + { + /*SPR 1442 truncate the string*/ + resources_truncate_to_screen_width((char *) Current->entry[index].name.data, Current->entry[index].name.len, pchr, MAX_ALPHA_LEN, SCREEN_SIZE_X, TRUE); + } + } + else /*we convert number string into unicode*/ + { pchr2[0]= (char)0x80;/*SPR 1442, add unicode tag*//*a0393213 lint warnings removal-typecast done*/ + pchr2[1]= 0x7f; + /*SPR 2175, use new function*/ + ATB_convert_String((char*)Current->entry[ index ].number, MFW_ASCII, + (UBYTE)strlen((char*)Current->entry[ index ].number), &pchr2[2], MFW_DCS_UCS2, PHONEBOOK_ITEM_LENGTH-2, FALSE); + /*SPR 1442 and now truncate the string*/ + resources_truncate_to_screen_width((char *) pchr2, strlen((char*)Current->entry[ index ].number)*2+2, pchr,PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X, TRUE); + } + } - } + } - else - { /*if current language a latin language*/ + else + { /*if current language a latin language*/ /*SPR 2653, removed consitional compilation, this check applies whether we're in simulation mode or target hardware*/ - // EF check for null pointer first - if (!Current->list.entry == NULL) - /*SPR 2104, don't need this test*/ + // EF check for null pointer first + if (!Current->list.entry == NULL) + /*SPR 2104, don't need this test*/ - if ( Current->entry[ index ].name.len NEQ 0&&Current->entry[ index ].name.data[0] != 0x80/*mc*/) //Should check to see if null name - { /*mc, SPR 1442, replaced old truncation function with new one*/ - resources_truncate_to_screen_width((char *) Current->entry[index].name.data, Current->entry[index].name.len, pchr, PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X, FALSE); - } - else - {/*mc, SPR 1442, replaced old truncation function with new one*/ - resources_truncate_to_screen_width((char *) Current->entry[index].number, strlen((char*)Current->entry[index].number), pchr, PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X,FALSE); - } + if ( Current->entry[ index ].name.len NEQ 0&&Current->entry[ index ].name.data[0] != 0x80/*mc*/) //Should check to see if null name + { /*mc, SPR 1442, replaced old truncation function with new one*/ + resources_truncate_to_screen_width((char *) Current->entry[index].name.data, Current->entry[index].name.len, pchr, PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X, FALSE); + } + else + {/*mc, SPR 1442, replaced old truncation function with new one*/ + resources_truncate_to_screen_width((char *) Current->entry[index].number, strlen((char*)Current->entry[index].number), pchr, PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X,FALSE); + } #else - if ( Current->entry[ index ].name[ 0 ] != NULL) //Should check to see if null name - { /*mc, SPR 1442, replaced old truncation function with new one*/ - resources_truncate_to_screen_width((char *) Current->entry[index].name, 0, pchr, PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X, FALSE); - } - else - { /*mc, SPR 1442, replaced old truncation function with new one*/ - resources_truncate_to_screen_width((char *) Current->entry[index].number, strlen((char*)Current->entry[index].number), pchr, PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X,FALSE); - } - /*SPR 2123 end*/ + if ( Current->entry[ index ].name[ 0 ] != NULL) //Should check to see if null name + { /*mc, SPR 1442, replaced old truncation function with new one*/ + resources_truncate_to_screen_width((char *) Current->entry[index].name, 0, pchr, PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X, FALSE); + } + else + { /*mc, SPR 1442, replaced old truncation function with new one*/ + resources_truncate_to_screen_width((char *) Current->entry[index].number, strlen((char*)Current->entry[index].number), pchr, PHONEBOOK_ITEM_LENGTH, SCREEN_SIZE_X,FALSE); + } + /*SPR 2123 end*/ #endif #ifdef NO_ASCIIZ/*MC SPR 975, opening bracket only exists when NO_ASCIIZ defined*/ - } + } #endif - } + } - TRACE_EVENT( "bookSearchWindowCB()-end of loop" ); - mnuShow(data->menu); - /* SPR#1428 - SH - End of condition to check if we're in multi-tap */ + TRACE_EVENT( "bookSearchWindowCB()-end of loop" ); + mnuShow(data->menu); + /* SPR#1428 - SH - End of condition to check if we're in multi-tap */ #ifdef NEW_EDITOR - } + } #endif - /* special case if invoked from SMS or using SDN book - */ - if ( ( data->phbk->fromSMS )|| - ( data->phbk->fromSMSSC ) || /* SPR#1428 - SH - New event for service centre editor */ - ( data->phbk->fromDivert ) || - ( data->phbk->fromDeflect )|| - //CRR: 25302 - xpradipg 10 Nov 2004 - //check if it was invoked from MMS/EMS - ( data->phbk->fromMmsEms)|| - ( Current->status.book == PHB_SDN ) ) - { - //displaySoftKeys( TxtSoftSelect, TxtSoftBack ); + /* special case if invoked from SMS or using SDN book + */ + if ( ( data->phbk->fromSMS )|| + ( data->phbk->fromSMSSC ) || /* SPR#1428 - SH - New event for service centre editor */ + ( data->phbk->fromDivert ) || + ( data->phbk->fromDeflect )|| + //CRR: 25302 - xpradipg 10 Nov 2004 + //check if it was invoked from MMS/EMS + ( data->phbk->fromMmsEms)|| + ( Current->status.book == PHB_SDN ) ) + { + //displaySoftKeys( TxtSoftSelect, TxtSoftBack ); // Jun 07, 2004 REF: CRR MMI-SPR-12818 Rashmi C N(Sasken) -// when the editor is empty, we need to display BACK softkey +// when the editor is empty, we need to display BACK softkey // Delete softkey is displayed when it contains some characters - if (data->editor_attr.text.len==0) - { - displaySoftKeys( TxtSoftSelect, TxtSoftBack ); - } - else - { - displaySoftKeys( TxtSoftSelect, TxtDelete ); - } - } - else - { - //displaySoftKeys( TxtSoftOptions, TxtSoftBack ); + if (data->editor_attr.text.len==0) + { + displaySoftKeys( TxtSoftSelect, TxtSoftBack ); + } + else + { + displaySoftKeys( TxtSoftSelect, TxtDelete ); + } + } + else + { + //displaySoftKeys( TxtSoftOptions, TxtSoftBack ); // Jun 07, 2004 REF: CRR MMI-SPR-12818 Rashmi C N(Sasken) -// when the editor is empty, we need to display BACK softkey +// when the editor is empty, we need to display BACK softkey // Delete softkey is displayed when it contains some characters - if (data->editor_attr.text.len==0) - { - displaySoftKeys( TxtSoftOptions, TxtSoftBack ); - } - else - { - displaySoftKeys( TxtSoftOptions, TxtDelete ); - } - } + if (data->editor_attr.text.len==0) + { + displaySoftKeys( TxtSoftOptions, TxtSoftBack ); + } + else + { + displaySoftKeys( TxtSoftOptions, TxtDelete ); + } + } - } - TRACE_EVENT( "bookSearchWindowCB()-sk display end" ); - break; + } + TRACE_EVENT( "bookSearchWindowCB()-sk display end" ); + break; - default: - { - /* default is to pass event back for further handling - */ - return MFW_EVENT_PASSED; - } -// break; // RAVI + default: + { + /* default is to pass event back for further handling + */ + return MFW_EVENT_PASSED; + } +// break; // RAVI } - /* consume the event - */ + /* consume the event + */ return MFW_EVENT_CONSUMED; } - - - - - - /******************************************************************************* - $Function: bookSearchKbdCB + $Function: bookSearchKbdCB - $Description: Keyboard handler + $Description: Keyboard handler - $Returns: MFW_EVENT_CONSUMED always + $Returns: MFW_EVENT_CONSUMED always - $Arguments: e, event, k, key handle + $Arguments: e, event, k, key handle *******************************************************************************/ static int bookSearchKbdCB( MfwEvt e, MfwKbd *k ) { - T_MFW_HND win = mfwParent( mfw_header() ); - T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data; - tBookStandard *data = (tBookStandard *) win_data->user; - tMmiPhbData *Current = &data->phbk->current; + T_MFW_HND win = mfwParent( mfw_header() ); + T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data; + tBookStandard *data = (tBookStandard *) win_data->user; + tMmiPhbData *Current = &data->phbk->current; - TRACE_FUNCTION ("bookSearchKbdCB()"); + TRACE_FUNCTION ("bookSearchKbdCB()"); - /* SPR#1428 - SH - New editor doesn't require editActivate */ - #ifndef NEW_EDITOR - /* Set our editor active if it isn't already - */ - if ( activeEditor() != data->edt ) - editActivate( data->edt, TRUE); - #endif + /* SPR#1428 - SH - New editor doesn't require editActivate */ + #ifndef NEW_EDITOR + /* Set our editor active if it isn't already + */ + if ( activeEditor() != data->edt ) + editActivate( data->edt, TRUE); + #endif - /* Deal with the key and event combinatino - */ + /* Deal with the key and event combinatino + */ - switch( k->code ) + switch( k->code ) { case KCD_MNUUP: - { - /* scroll up - */ - SEND_EVENT( data->win, SEARCH_SCROLL_UP, 0, 0 ); - winShow( data->win ); - } - break; + { + /* scroll up + */ + SEND_EVENT( data->win, SEARCH_SCROLL_UP, 0, 0 ); + winShow( data->win ); + } + break; case KCD_MNUDOWN: - { - /* scroll down - */ - SEND_EVENT( data->win, SEARCH_SCROLL_DOWN, 0, 0 ); - winShow( data->win ); - } - break; - + { + /* scroll down + */ + SEND_EVENT( data->win, SEARCH_SCROLL_DOWN, 0, 0 ); + winShow( data->win ); + } + break; - case KCD_CALL: - if ( data->phbk->fromSMS ) - SEND_EVENT( data->phbk->parent_win, SMS_PHBK_NUMBER, PHBK_ID, - (UBYTE *) Current->entry[ Current->selectedName ].number ); - else if ( data->phbk->fromSMSSC ) - SEND_EVENT( data->phbk->parent_win, SMSSC_PHBK_NUMBER, PHBK_ID, - (UBYTE *) Current->entry[ Current->selectedName ].number ); - else - { if (data->phbk->fromDeflect /*SPR 1392, select number don't call it*/ ) - SEND_EVENT( data->phbk->parent_win, DEFLECT_PHBK_NUMBER, PHBK_ID, - (UBYTE *) Current->entry[ Current->selectedName ].number ); - else - callNumber( Current->entry[ Current->selectedName ].number ); - } - bookPhonebookDestroy(data->phbk->win); - break; + case KCD_CALL: + if ( data->phbk->fromSMS ) + SEND_EVENT( data->phbk->parent_win, SMS_PHBK_NUMBER, PHBK_ID, + (UBYTE *) Current->entry[ Current->selectedName ].number ); + else if ( data->phbk->fromSMSSC ) + SEND_EVENT( data->phbk->parent_win, SMSSC_PHBK_NUMBER, PHBK_ID, + (UBYTE *) Current->entry[ Current->selectedName ].number ); + else + { if (data->phbk->fromDeflect /*SPR 1392, select number don't call it*/ ) + SEND_EVENT( data->phbk->parent_win, DEFLECT_PHBK_NUMBER, PHBK_ID, + (UBYTE *) Current->entry[ Current->selectedName ].number ); + else + callNumber( Current->entry[ Current->selectedName ].number ); + } + bookPhonebookDestroy(data->phbk->win); + break; /* JVJ #1743 Right key deletes the characters, HUP destroys the window */ #ifdef NEW_EDITOR - case KCD_HUP: + case KCD_HUP: #else /* NEW_EDITOR */ case KCD_HUP: #endif /* NEW_EDITOR */ - { - if ( data->phbk->fromSMS ){ /* Send empty string so that ptr can be set 0*/ - SEND_EVENT( data->phbk->parent_win, SMS_PHBK_NUMBER, PHBK_ID, - "" ); - bookPhonebookDestroy(data->phbk->win); - } - else if ( data->phbk->fromSMSSC ){ - SEND_EVENT( data->phbk->parent_win, SMSSC_PHBK_NUMBER, PHBK_ID, - NULL ); - bookPhonebookDestroy(data->phbk->win); - } - /* Marcus (mk): Issue 1010: 2002-08-22: Start */ - else if (data->phbk->fromDivert) - { - bookPhonebookDestroy(data->phbk->win); - } - else if (data->phbk->fromDeflect)/*MC SPR 1392*/ - { /*Send empty string so that pointer to this window can be set to 0*/ - SEND_EVENT( data->phbk->parent_win, DEFLECT_PHBK_NUMBER, PHBK_ID,""); - bookPhonebookDestroy(data->phbk->win); - } + { + if ( data->phbk->fromSMS ){ /* Send empty string so that ptr can be set 0*/ + SEND_EVENT( data->phbk->parent_win, SMS_PHBK_NUMBER, PHBK_ID, + "" ); + bookPhonebookDestroy(data->phbk->win); + } + else if ( data->phbk->fromSMSSC ){ + SEND_EVENT( data->phbk->parent_win, SMSSC_PHBK_NUMBER, PHBK_ID, + NULL ); + bookPhonebookDestroy(data->phbk->win); + } + /* Marcus (mk): Issue 1010: 2002-08-22: Start */ + else if (data->phbk->fromDivert) + { + bookPhonebookDestroy(data->phbk->win); + } + else if (data->phbk->fromDeflect)/*MC SPR 1392*/ + { /*Send empty string so that pointer to this window can be set to 0*/ + SEND_EVENT( data->phbk->parent_win, DEFLECT_PHBK_NUMBER, PHBK_ID,""); + bookPhonebookDestroy(data->phbk->win); + } //CRR: 25302 - xpradipg 10 Nov 2004 //also handle if invoked by MMS/EMS else if ( data->phbk->fromMmsEms ) { /* Send empty string so that ptr can be set 0*/ - SEND_EVENT( data->phbk->parent_win, MMS_EMS_PHBK_NUMBER, PHBK_ID,"" ); - bookPhonebookDestroy(data->phbk->win); - } - /* Marcus (mk): Issue 1010: 2002-08-22: End */ - else - bookSearchDestroy(data->win); + SEND_EVENT( data->phbk->parent_win, MMS_EMS_PHBK_NUMBER, PHBK_ID,"" ); + bookPhonebookDestroy(data->phbk->win); + } + /* Marcus (mk): Issue 1010: 2002-08-22: End */ + else + bookSearchDestroy(data->win); - } - break; + } + break; - case KCD_MNUSELECT: + case KCD_MNUSELECT: case KCD_LEFT: - { - /* if in SMS send the event to it - */ - if ( data->phbk->fromSMS ) - { SEND_EVENT( data->phbk->parent_win, SMS_PHBK_NUMBER, PHBK_ID /*MZ 6/2/01 */, - (UBYTE *) Current->entry[ Current->selectedName ].number ); - bookPhonebookDestroy(data->phbk->win); - } - else if ( data->phbk->fromSMSSC ) - { SEND_EVENT( data->phbk->parent_win, SMSSC_PHBK_NUMBER, PHBK_ID /*MZ 6/2/01 */, - (UBYTE *) Current->entry[ Current->selectedName ].number ); - bookPhonebookDestroy(data->phbk->win); - } - else if(data->phbk->fromDivert ) //MZ 26/02/01 check for divert If in Divert send event. - { - SEND_EVENT( data->phbk->parent_win, DIVERT_PHBK_NUMBER, PHBK_ID /*MZ 28/2/01 */, - (UBYTE *) Current->entry[ Current->selectedName ].number ); - bookPhonebookDestroy(data->phbk->win); - } - else if(data->phbk->fromDeflect ) /*SPR 1392*/ - { - TRACE_EVENT_P1("<< API deflection no. = %s", (char*) Current->entry[ Current->selectedName ].number); - SEND_EVENT( data->phbk->parent_win, DEFLECT_PHBK_NUMBER, PHBK_ID, - (UBYTE *) Current->entry[ Current->selectedName ].number ); - bookPhonebookDestroy(data->phbk->win); - } + { + /* if in SMS send the event to it + */ + if ( data->phbk->fromSMS ) + { SEND_EVENT( data->phbk->parent_win, SMS_PHBK_NUMBER, PHBK_ID /*MZ 6/2/01 */, + (UBYTE *) Current->entry[ Current->selectedName ].number ); + bookPhonebookDestroy(data->phbk->win); + } + else if ( data->phbk->fromSMSSC ) + { SEND_EVENT( data->phbk->parent_win, SMSSC_PHBK_NUMBER, PHBK_ID /*MZ 6/2/01 */, + (UBYTE *) Current->entry[ Current->selectedName ].number ); + bookPhonebookDestroy(data->phbk->win); + } + else if(data->phbk->fromDivert ) //MZ 26/02/01 check for divert If in Divert send event. + { + SEND_EVENT( data->phbk->parent_win, DIVERT_PHBK_NUMBER, PHBK_ID /*MZ 28/2/01 */, + (UBYTE *) Current->entry[ Current->selectedName ].number ); + bookPhonebookDestroy(data->phbk->win); + } + else if(data->phbk->fromDeflect ) /*SPR 1392*/ + { + TRACE_EVENT_P1("<< API deflection no. = %s", (char*) Current->entry[ Current->selectedName ].number); + SEND_EVENT( data->phbk->parent_win, DEFLECT_PHBK_NUMBER, PHBK_ID, + (UBYTE *) Current->entry[ Current->selectedName ].number ); + bookPhonebookDestroy(data->phbk->win); + } //CRR: 25302 - xpradipg 10 Nov 2004 //send the number to the MMS/EMS window else if(data->phbk->fromMmsEms) { TRACE_EVENT_P1("the value if win from MMS is %x",data->phbk->parent_win); SEND_EVENT( data->phbk->parent_win, MMS_EMS_PHBK_NUMBER,PHBK_ID,(void *) Current->entry[ Current->selectedName ].number ); - bookPhonebookDestroy(data->phbk->win); + bookPhonebookDestroy(data->phbk->win); } - else - /* Start a new options menu - */ - /*check for UPN SPR 1327*/ - if (Current->status.book != PHB_UPN) - data->phbk->menu_options_win = bookMenuStart( data->phbk->win, bookNameMenuAttributes(),0); - else - data->phbk->menu_options_win = bookMenuStart( data->phbk->win, bookUPNMenuAttributes(),0); - } - break; + else + /* Start a new options menu + */ + /*check for UPN SPR 1327*/ + if (Current->status.book != PHB_UPN) + data->phbk->menu_options_win = bookMenuStart( data->phbk->win, bookNameMenuAttributes(),0); + else + data->phbk->menu_options_win = bookMenuStart( data->phbk->win, bookUPNMenuAttributes(),0); + } + break; - /* JVJ #1743 Right key deletes search character*/ + /* JVJ #1743 Right key deletes search character*/ #ifdef NEW_EDITOR - case KCD_RIGHT: + case KCD_RIGHT: #else /* NEW_EDITOR */ case KCD_HUP: #endif /* NEW_EDITOR */ - { - - + { - /* If we have any characters in the buffer, step back, otherwise - destroy the window - */ + /* If we have any characters in the buffer, step back, otherwise + destroy the window + */ - if ( data->edtBuf[0]) - { + if ( data->edtBuf[0]) + { -// Oct 26, 2004 REF: CRR 25354 xkundadu -// Description: Phonebook: After entering precise name to search and then -// trying to delete using RSK, first character is not deleted. -// Fix: If only one character is present in the editor and delete key is -// pressed, delete the editor buffer and update the editor view. +// Oct 26, 2004 REF: CRR 25354 xkundadu +// Description: Phonebook: After entering precise name to search and then +// trying to delete using RSK, first character is not deleted. +// Fix: If only one character is present in the editor and delete key is +// pressed, delete the editor buffer and update the editor view. - // Find out the length of the buffer. - if(strlen((char*)data->edtBuf) == 1) - { - //If only one character is present, delete and set the buffer - //to NULL. - data->edtBuf[0] = '\0'; - data->editor_attr.text.len = 0; - //Move the cursor accordingly. - ATB_edit_MoveCursor(data->editor, ctrlLeft, TRUE); - data->editor->update = ED_UPDATE_TRIVIAL; - SEND_EVENT( data->win, SEARCH_STRING, 0, 0); - //Update the window. - winShow( data->win ); - break; - } + // Find out the length of the buffer. + if(strlen((char*)data->edtBuf) == 1) + { + //If only one character is present, delete and set the buffer + //to NULL. + data->edtBuf[0] = '\0'; + data->editor_attr.text.len = 0; + //Move the cursor accordingly. + ATB_edit_MoveCursor(data->editor, ctrlLeft, TRUE); + data->editor->update = ED_UPDATE_TRIVIAL; + SEND_EVENT( data->win, SEARCH_STRING, 0, 0); + //Update the window. + winShow( data->win ); + break; + } - /* SPR#1428 - SH - New Editor changes */ + /* SPR#1428 - SH - New Editor changes */ #ifdef NEW_EDITOR - /* SPR#2174 - SH - If multitap is in progress, delete current character - * rather than previous character */ + /* SPR#2174 - SH - If multitap is in progress, delete current character + * rather than previous character */ - if (data->editor->multitap) - { - AUI_entry_StopMultitap(data->entry_data); /* Cancel multitap */ - ATB_edit_DeleteRight(data->editor, TRUE); /* SPR#2342 - SH */ - } - else - { - ATB_edit_DeleteLeft(data->editor, TRUE); /* SPR#2342 - SH */ - } + if (data->editor->multitap) + { + AUI_entry_StopMultitap(data->entry_data); /* Cancel multitap */ + ATB_edit_DeleteRight(data->editor, TRUE); /* SPR#2342 - SH */ + } + else + { + ATB_edit_DeleteLeft(data->editor, TRUE); /* SPR#2342 - SH */ + } #else /* NEW_EDITOR */ edtChar( data->edt,ecBack ); #endif /* NEW_EDITOR */ - SEND_EVENT( data->win, SEARCH_STRING, 0, 0 ); - winShow( data->win ); - } - else - { - /*API - 12/08/03 - CQ11268 - Add this so the phonebbok is destoryed on right key press*/ - if ( data->phbk->fromSMS ) - { /* Send empty string so that ptr can be set 0*/ - bookPhonebookDestroy(data->phbk->win); - } - else if ( data->phbk->fromSMSSC ) - { - bookPhonebookDestroy(data->phbk->win); - } - /* Marcus (mk): Issue 1010: 2002-08-22: Start */ - else if (data->phbk->fromDivert) - { - bookPhonebookDestroy(data->phbk->win); - } - else if (data->phbk->fromDeflect)/*MC SPR 1392*/ - { /*Send empty string so that pointer to this window can be set to 0*/ - bookPhonebookDestroy(data->phbk->win); - } + SEND_EVENT( data->win, SEARCH_STRING, 0, 0 ); + winShow( data->win ); + } + else + { + /*API - 12/08/03 - CQ11268 - Add this so the phonebbok is destoryed on right key press*/ + if ( data->phbk->fromSMS ) + { /* Send empty string so that ptr can be set 0*/ + bookPhonebookDestroy(data->phbk->win); + } + else if ( data->phbk->fromSMSSC ) + { + bookPhonebookDestroy(data->phbk->win); + } + /* Marcus (mk): Issue 1010: 2002-08-22: Start */ + else if (data->phbk->fromDivert) + { + bookPhonebookDestroy(data->phbk->win); + } + else if (data->phbk->fromDeflect)/*MC SPR 1392*/ + { /*Send empty string so that pointer to this window can be set to 0*/ + bookPhonebookDestroy(data->phbk->win); + } //CRR: 25302 - xpradipg 10 Nov 2004 //Handle if invoked from MMS/EMS else if(data->phbk->fromMmsEms) { bookPhonebookDestroy(data->phbk->win); } - /* Marcus (mk): Issue 1010: 2002-08-22: End */ - else - bookSearchDestroy(data->win); - /*API - 12/08/03 - CQ11268 - END*/ - } - } - break; + /* Marcus (mk): Issue 1010: 2002-08-22: End */ + else + bookSearchDestroy(data->win); + /*API - 12/08/03 - CQ11268 - END*/ + } + } + break; - case KCD_HASH: - { + case KCD_HASH: + { - { - /* SPR#1428 - SH - New Editor changes */ + { + /* SPR#1428 - SH - New Editor changes */ #ifdef NEW_EDITOR - ATB_edit_DeleteLeft( data->editor, TRUE); /* SPR#2342 - SH */ + ATB_edit_DeleteLeft( data->editor, TRUE); /* SPR#2342 - SH */ #else /* NEW_EDITOR */ edtChar( data->edt,ecBack ); #endif /* NEW_EDITOR */ - } + } - /*NM, p016 - even updating when deleting characters - */ - SEND_EVENT( data->win, SEARCH_STRING, 0, 0 ); - winShow( data->win ); - } - break; + /*NM, p016 + even updating when deleting characters + */ + SEND_EVENT( data->win, SEARCH_STRING, 0, 0 ); + winShow( data->win ); + } + break; default: - { + { - { - /* SPR#1428 - SH - New Editor changes */ + { + /* SPR#1428 - SH - New Editor changes */ #ifdef NEW_EDITOR - AUI_entry_EventKey( data->entry_data, e, k ); + AUI_entry_EventKey( data->entry_data, e, k ); - /* send the search event to ourselves, - * but only when a character is finished in multi-tap - */ - if (!data->editor->multitap) - { - SEND_EVENT( data->win, SEARCH_STRING, 0, 0 ); - } + /* send the search event to ourselves, + * but only when a character is finished in multi-tap + */ + if (!data->editor->multitap) + { + SEND_EVENT( data->win, SEARCH_STRING, 0, 0 ); + } #else /* NEW_EDITOR */ - editEventKey( e, k ); - /* send the search event to ourselves, - */ - SEND_EVENT( data->win, SEARCH_STRING, 0, 0 ); + editEventKey( e, k ); + /* send the search event to ourselves, + */ + SEND_EVENT( data->win, SEARCH_STRING, 0, 0 ); #endif /* NEW_EDITOR */ - winShow( data->win ); - } - } - break; + winShow( data->win ); + } + } + break; } - /* always consume the event - */ + /* always consume the event + */ return MFW_EVENT_CONSUMED; } - - - - - /******************************************************************************* - $Function: bookSearchKbdLongCB + $Function: bookSearchKbdLongCB - $Description: long keypress event handler, handles long clear event only + $Description: long keypress event handler, handles long clear event only - $Returns: MFW_EVENT_CONSUMED always + $Returns: MFW_EVENT_CONSUMED always - $Arguments: e, event, k, key handle + $Arguments: e, event, k, key handle *******************************************************************************/ static int bookSearchKbdLongCB( MfwEvt e, MfwKbd *k ) { - T_MFW_HND win = mfwParent( mfw_header() ); - T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data; - tBookStandard *data = (tBookStandard *) win_data->user; + T_MFW_HND win = mfwParent( mfw_header() ); + T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data; + tBookStandard *data = (tBookStandard *) win_data->user; - TRACE_FUNCTION ("bookSearchKbdLongCB()"); + TRACE_FUNCTION ("bookSearchKbdLongCB()"); - /* deal with the clear event - */ - if ( ( e & KEY_CLEAR ) && ( e & KEY_LONG ) ) - { - bookSearchDestroy( win ); - data->phbk->search_win = 0; - } + /* deal with the clear event + */ + if ( ( e & KEY_CLEAR ) && ( e & KEY_LONG ) ) + { + bookSearchDestroy( win ); + data->phbk->search_win = 0; + } - /* consume the event - */ - return MFW_EVENT_CONSUMED; + /* consume the event + */ + return MFW_EVENT_CONSUMED; } //Jan 22, 2006 REF: OMAPS00061930 x0039928 @@ -971,102 +952,102 @@ /******************************************************************************* - $Function: bookSearchTimCB + $Function: bookSearchTimCB - $Description: Callback function for the Phonebook timer. + $Description: Callback function for the Phonebook timer. - $Returns: None + $Returns: None - $Arguments: window handle event, timer control block + $Arguments: window handle event, timer control block *******************************************************************************/ static int bookSearchTimCB (MfwEvt event, MfwTim *timer) { - T_MFW_HND win = mfwParent( mfw_header() ); - T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data; - tBookStandard *data = (tBookStandard *) win_data->user; + T_MFW_HND win = mfwParent( mfw_header() ); + T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data; + tBookStandard *data = (tBookStandard *) win_data->user; - /* x0045876, 14-Aug-2006 (WR - "Current" was declared but never referenced) */ - /* tMmiPhbData *Current = &data->phbk->current; */ - TRACE_FUNCTION ("bookSearchTimCB()"); + /* x0045876, 14-Aug-2006 (WR - "Current" was declared but never referenced) */ + /* tMmiPhbData *Current = &data->phbk->current; */ + TRACE_FUNCTION ("bookSearchTimCB()"); SEND_EVENT( data->win, SEARCH_STRING, 1, 0); - winShow( data->win ); - return MFW_EVENT_CONSUMED; + winShow( data->win ); + return MFW_EVENT_CONSUMED; } /******************************************************************************* - $Function: bookSearchCreate + $Function: bookSearchCreate - $Description: Create the search window + $Description: Create the search window - $Returns: handle of window or NULL if error + $Returns: handle of window or NULL if error - $Arguments: parent, handle of parent window + $Arguments: parent, handle of parent window *******************************************************************************/ static T_MFW_HND bookSearchCreate( MfwHnd parent ) { - T_MFW_WIN *parent_win_data = ( (T_MFW_HDR *) parent )->data; - T_phbk *phbk = (T_phbk *)parent_win_data->user; - T_MFW_WIN *win_data; - tBookStandard *data; -// int i; // RAVI -// char debug[50]; // RAVI + T_MFW_WIN *parent_win_data = ( (T_MFW_HDR *) parent )->data; + T_phbk *phbk = (T_phbk *)parent_win_data->user; + T_MFW_WIN *win_data; + tBookStandard *data; +// int i; // RAVI +// char debug[50]; // RAVI - TRACE_FUNCTION ("bookSearchCreate()"); + TRACE_FUNCTION ("bookSearchCreate()"); - /* allocate memory for our control block - */ - if ( ( data = (tBookStandard *) ALLOC_MEMORY( sizeof( tBookStandard ) ) ) == NULL ) - return NULL; + /* allocate memory for our control block + */ + if ( ( data = (tBookStandard *) ALLOC_MEMORY( sizeof( tBookStandard ) ) ) == NULL ) + return NULL; - /*SPR 2123, MC allocate memory for phonebook list*/ - if (create_mmi_phonebook_names_list() == NULL) - return NULL; + /*SPR 2123, MC allocate memory for phonebook list*/ + if (create_mmi_phonebook_names_list() == NULL) + return NULL; - /* Create the window if we can - */ - if ( ( data->win = win_create( parent, 0, E_WIN_VISIBLE, (T_MFW_CB) bookSearchWindowCB ) ) == NULL ) - { - FREE_MEMORY( (void *) data, sizeof( tBookStandard ) ); - return NULL; - } + /* Create the window if we can + */ + if ( ( data->win = win_create( parent, 0, E_WIN_VISIBLE, (T_MFW_CB) bookSearchWindowCB ) ) == NULL ) + { + FREE_MEMORY( (void *) data, sizeof( tBookStandard ) ); + return NULL; + } - /* Okay, we have created the control block and the window, so - we now need to configure the dialog and data pointers - */ - data->mmi_control.dialog = (T_DIALOG_FUNC) bookSearchDialog; - data->mmi_control.data = data; - win_data = ((T_MFW_HDR *)data->win)->data; - win_data->user = (void *) data; - data->phbk = phbk; - data->parent_win = parent; + /* Okay, we have created the control block and the window, so + we now need to configure the dialog and data pointers + */ + data->mmi_control.dialog = (T_DIALOG_FUNC) bookSearchDialog; + data->mmi_control.data = data; + win_data = ((T_MFW_HDR *)data->win)->data; + win_data->user = (void *) data; + data->phbk = phbk; + data->parent_win = parent; - /* create keyboards and menus for our window - */ - data->kbd = kbdCreate( data->win, KEY_ALL, (MfwCb) bookSearchKbdCB ); - data->kbd_long = kbdCreate( data->win, KEY_ALL | KEY_LONG, (MfwCb) bookSearchKbdLongCB ); - //Jan 22, 2006 REF: OMAPS00061930 x0039928 - // Fix: Create a timer and assign to PhbSearchTim - data->tim = timCreate(data->win, 1000, (MfwCb)bookSearchTimCB); - data->menu = mnuCreate( data->win,MmiBookMenuDetailsList() , 0, 0 ); - PhbSearchTim = data->tim; - mnuLang (data->menu,0); + /* create keyboards and menus for our window + */ + data->kbd = kbdCreate( data->win, KEY_ALL, (MfwCb) bookSearchKbdCB ); + data->kbd_long = kbdCreate( data->win, KEY_ALL | KEY_LONG, (MfwCb) bookSearchKbdLongCB ); + //Jan 22, 2006 REF: OMAPS00061930 x0039928 + // Fix: Create a timer and assign to PhbSearchTim + data->tim = timCreate(data->win, 1000, (MfwCb)bookSearchTimCB); + data->menu = mnuCreate( data->win,MmiBookMenuDetailsList() , 0, 0 ); + PhbSearchTim = data->tim; + mnuLang (data->menu,0); - /* 1945 MZ Initialise the edtBuf */ - memset(data->edtBuf,'\0', STANDARD_EDITOR_SIZE ); + /* 1945 MZ Initialise the edtBuf */ + memset(data->edtBuf,'\0', STANDARD_EDITOR_SIZE ); - { + { - /* SPR#1428 - SH - New Editor changes */ + /* SPR#1428 - SH - New Editor changes */ #ifdef NEW_EDITOR /*SPR 2233, make sure editor only displays lower-case chars*/ - AUI_edit_SetAttr(&data->editor_attr, BOOKSEARCH_EDITOR, COLOUR_EDITOR_XX,EDITOR_FONT, + AUI_edit_SetAttr(&data->editor_attr, BOOKSEARCH_EDITOR, COLOUR_EDITOR_XX,EDITOR_FONT, ED_MODE_ALPHA | ED_MODE_FORMATTED, ED_CURSOR_BAR, ATB_DCS_ASCII, (UBYTE*) data->edtBuf, MAX_SEARCH_CHAR); data->editor_attr.FormatString = "*a"; data->editor = ATB_edit_Create( &data->editor_attr, 0 ); @@ -1074,25 +1055,24 @@ /*SPR2233 end*/ ATB_edit_Init(data->editor); #else /* NEW_EDITOR */ - bookSetEditAttributes(BOOKSEARCH_EDITOR, COLOUR_EDITOR_XX, 0, edtCurBar1, 0, - (char *) data->edtBuf, MAX_SEARCH_CHAR, &data->attr ); - data->edt = edtCreate( data->win, &data->attr, 0, 0 ); + bookSetEditAttributes(BOOKSEARCH_EDITOR, COLOUR_EDITOR_XX, 0, edtCurBar1, 0, + (char *) data->edtBuf, MAX_SEARCH_CHAR, &data->attr ); + data->edt = edtCreate( data->win, &data->attr, 0, 0 ); #endif /* NEW_EDITOR */ - } + } - /* allow the window and menu to be created - */ - mnuUnhide(data->menu); - winShow(data->win); + /* allow the window and menu to be created + */ + mnuUnhide(data->menu); + winShow(data->win); - /* And return the handle of the newly created window - */ + /* And return the handle of the newly created window + */ return data->win; } - /******************************************************************************* Public Methods @@ -1100,214 +1080,204 @@ *******************************************************************************/ - - /******************************************************************************* - $Function: bookSearchStart + $Function: bookSearchStart - $Description: Starts the search window + $Description: Starts the search window - $Returns: handle of newly created window, or NULL if error + $Returns: handle of newly created window, or NULL if error - $Arguments: parent, handle of parent window + $Arguments: parent, handle of parent window *******************************************************************************/ T_MFW_HND bookSearchStart( MfwHnd parent ) { - T_MFW_HND win; - T_MFW_WIN *win_data; + T_MFW_HND win; + T_MFW_WIN *win_data; tBookStandard *data; - MfwMnu *mnu; - tMmiPhbData *Current; + MfwMnu *mnu; + tMmiPhbData *Current; - /* if the phone book is still loading, we can't do anything - with it, so return a NULL, after showing an information - dialog - */ - if ( phb_get_mode() == PHB_LOADING ) - { - bookShowInformation( idle_get_window(), TxtPleaseWait ,NULL, NULL ); - return NULL; - } + /* if the phone book is still loading, we can't do anything + with it, so return a NULL, after showing an information + dialog + */ + if ( phb_get_mode() == PHB_LOADING ) + { + bookShowInformation( idle_get_window(), TxtPleaseWait ,NULL, NULL ); + return NULL; + } - /* try to create the window - */ + /* try to create the window + */ if ( ( win = bookSearchCreate( parent ) ) == NULL ) - return NULL; - - /* having created the window, we now need to initialise it to - sensible data - */ - win_data = ( (T_MFW_HDR *) win)->data; - data = (tBookStandard *) win_data->user; - Current = &data->phbk->current; + return NULL; - /* establish the status of the phone book - */ - if ( ( Current->status.book != PHB_UPN ) && ( Current->status.book != PHB_SDN ) ) - Current->status.book = bookActiveBook(READ); - bookGetCurrentStatus( &Current->status ); + /* having created the window, we now need to initialise it to + sensible data + */ + win_data = ( (T_MFW_HDR *) win)->data; + data = (tBookStandard *) win_data->user; + Current = &data->phbk->current; - /* try to establish if we have information in the phone book - */ - Current->index = 1; - Current->selectedName = 0; - bookFindName( MAX_SEARCH_NAME, Current ); + /* establish the status of the phone book + */ + if ( ( Current->status.book != PHB_UPN ) && ( Current->status.book != PHB_SDN ) ) + Current->status.book = bookActiveBook(READ); + bookGetCurrentStatus( &Current->status ); - if ( ! Current->index ) - { - bookSearchDestroy( win ); - bookShowInformation( idle_get_window(), TxtEmptyList, NULL, NULL ); - return NULL; - } + /* try to establish if we have information in the phone book + */ + Current->index = 1; + Current->selectedName = 0; + bookFindName( MAX_SEARCH_NAME, Current ); - /* clear the edit buffer prior to displaying the editor and menus - */ - + if ( ! Current->index ) + { + bookSearchDestroy( win ); + bookShowInformation( idle_get_window(), TxtEmptyList, NULL, NULL ); + return NULL; + } - memset( data->edtBuf, '\0', sizeof( data->edtBuf ) ); - /* SPR#1428 - SH - New Editor: don't need editActivate */ + /* clear the edit buffer prior to displaying the editor and menus + */ + + memset( data->edtBuf, '\0', sizeof( data->edtBuf ) ); + /* SPR#1428 - SH - New Editor: don't need editActivate */ #ifndef NEW_EDITOR - editActivate( data->edt, true ); + editActivate( data->edt, true ); #endif /* NEW_EDITOR */ - mnu = (MfwMnu *) mfwControl( data->menu ); - mnu->lCursor[mnu->level] = Current->selectedName; - winShow(data->win); + mnu = (MfwMnu *) mfwControl( data->menu ); + mnu->lCursor[mnu->level] = Current->selectedName; + winShow(data->win); - /* return the handle to the newly created window - */ + /* return the handle to the newly created window + */ return win; } - - /******************************************************************************* - $Function: bookSearchDestroy + $Function: bookSearchDestroy - $Description: Destroy the search window + $Description: Destroy the search window - $Returns: None + $Returns: None - $Arguments: Window, handle of the window to be destroyed + $Arguments: Window, handle of the window to be destroyed *******************************************************************************/ void bookSearchDestroy( MfwHnd window ) { - T_MFW_WIN *win = ((T_MFW_HDR *) window)->data; - tBookStandard *data = (tBookStandard *) win->user; + T_MFW_WIN *win = ((T_MFW_HDR *) window)->data; + tBookStandard *data = (tBookStandard *) win->user; - TRACE_FUNCTION( "bookSearchDestroy()" ); + TRACE_FUNCTION( "bookSearchDestroy()" ); - /* Only destroy if the data is valid - */ - if ( data ) - { - /* SPR#1428 - SH - New Editor changes */ + /* Only destroy if the data is valid + */ + if ( data ) + { + /* SPR#1428 - SH - New Editor changes */ #ifdef NEW_EDITOR - /* Editor now not automatically destroyed by winDelete, - * so destroy it here. */ - if (data->entry_data) - { - AUI_entry_Destroy(data->entry_data); - data->entry_data = 0; - } - if (data->editor) - { - ATB_edit_Destroy(data->editor); - data->editor = 0; - } + /* Editor now not automatically destroyed by winDelete, + * so destroy it here. */ + if (data->entry_data) + { + AUI_entry_Destroy(data->entry_data); + data->entry_data = 0; + } + if (data->editor) + { + ATB_edit_Destroy(data->editor); + data->editor = 0; + } #endif /* NEW_EDITOR */ - /* If we're the root window we destroy using it's function - */ - if ( data->phbk->root_win == window ) - { - bookPhonebookDestroy( data->phbk->win ); - return; - } + /* If we're the root window we destroy using it's function + */ + if ( data->phbk->root_win == window ) + { + bookPhonebookDestroy( data->phbk->win ); + return; + } - /* delete ourself - */ - data->phbk->search_win = 0; - winDelete( data->win ); - FREE_MEMORY( (void *) data, sizeof( tBookStandard ) ); - } - /*SPR2123, MC deallocate memory for phonebook list*/ - destroy_mmi_phonebook_names_list(MmiBookMenuDetailsList()); + /* delete ourself + */ + data->phbk->search_win = 0; + winDelete( data->win ); + FREE_MEMORY( (void *) data, sizeof( tBookStandard ) ); + } + /*SPR2123, MC deallocate memory for phonebook list*/ + destroy_mmi_phonebook_names_list(MmiBookMenuDetailsList()); } - - - - - /******************************************************************************* - $Function: bookSearchName + $Function: bookSearchName - $Description: locate a requested name in the phone book + $Description: locate a requested name in the phone book - $Returns: status of the findName routine + $Returns: status of the findName routine - $Arguments: pattern, to be searched for - number, of elements to limit the search to - current, pointer to a buffer to store the results + $Arguments: pattern, to be searched for + number, of elements to limit the search to + current, pointer to a buffer to store the results *******************************************************************************/ UBYTE bookSearchName (char *pattern,UBYTE number,tMmiPhbData *current) { - #ifdef NO_ASCIIZ - T_MFW_PHB_TEXT l_name; + #ifdef NO_ASCIIZ + T_MFW_PHB_TEXT l_name; #else - UBYTE l_name[PHB_MAX_LEN]; + UBYTE l_name[PHB_MAX_LEN]; #endif -// UBYTE len; // RAVI - int i; - UBYTE ret = (UBYTE)PHB_FAIL; +// UBYTE len; // RAVI + int i; + UBYTE ret = (UBYTE)PHB_FAIL; - TRACE_FUNCTION( "bookSearchName()" ); + TRACE_FUNCTION( "bookSearchName()" ); - /* if using UPN phone book, return status of findname - */ - if ( current->status.book == PHB_UPN ) - return ret = current->result = bookFindName( MAX_SEARCH_NAME, current ); + /* if using UPN phone book, return status of findname + */ + if ( current->status.book == PHB_UPN ) + return ret = current->result = bookFindName( MAX_SEARCH_NAME, current ); - /* otherwise we need to be a little bit more clever with this - */ + /* otherwise we need to be a little bit more clever with this + */ memset( current->entry, 0, MAX_SEARCH_CALL_LIST * sizeof( T_MFW_PHB_ENTRY ) ); - bookGetCurrentStatus( ¤t->status ); + bookGetCurrentStatus( ¤t->status ); - current->list.entry = current->entry; - current->list.num_entries = number; + current->list.entry = current->entry; + current->list.num_entries = number; - /* convert from GSM characters - */ - #ifdef NO_ASCIIZ + /* convert from GSM characters + */ + #ifdef NO_ASCIIZ - memset( l_name.data, 0, PHB_MAX_LEN ); - mfw_Gsm2SIMStr( MFW_DCS_7bits, (UBYTE *) pattern, PHB_MAX_LEN, l_name.data, &l_name.len ); - #else + memset( l_name.data, 0, PHB_MAX_LEN ); + mfw_Gsm2SIMStr( MFW_DCS_7bits, (UBYTE *) pattern, PHB_MAX_LEN, l_name.data, &l_name.len ); + #else memset( l_name, 0, PHB_MAX_LEN ); - mfw_Gsm2SIMStr( MFW_DCS_7bits, (UBYTE *) pattern, PHB_MAX_LEN, l_name, &len ); - #endif - /* perform a search to locate a match with this criteria - */ + mfw_Gsm2SIMStr( MFW_DCS_7bits, (UBYTE *) pattern, PHB_MAX_LEN, l_name, &len ); + #endif + /* perform a search to locate a match with this criteria + */ if ( strlen(pattern) != 0 ) { #ifdef WIN32 #ifndef NO_ASCIIZ - /***************************Go-lite Optimization changes Start***********************/ - //Aug 16, 2004 REF: CRR 24323 Deepa M.D - TRACE_EVENT_P1("Search str: %s", l_name.data); - /***************************Go-lite Optimization changes end***********************/ + /***************************Go-lite Optimization changes Start***********************/ + //Aug 16, 2004 REF: CRR 24323 Deepa M.D + TRACE_EVENT_P1("Search str: %s", l_name.data); + /***************************Go-lite Optimization changes end***********************/ ret = phb_find_entries( current->status.book, ¤t->index, MFW_PHB_ALPHA, number, (UBYTE *) l_name, len, ¤t->list ); #endif #else @@ -1325,54 +1295,52 @@ { /* we don't have any name information, so start at the beginning */ - current->index = 1; - current->selectedName = 0; - bookFindName( MAX_SEARCH_NAME, current ); + current->index = 1; + current->selectedName = 0; + bookFindName( MAX_SEARCH_NAME, current ); } - /* check for match - */ - if ( ( current->list.num_entries < MAX_SEARCH_NAME ) - || ( current->list.result == MFW_NO_ENTRY ) || ( ret == (UBYTE)PHB_FAIL ) ) - { - /* no, then try to find again - */ - ret = bookFindName( MAX_SEARCH_NAME, current ); - } - else - { - for ( i = 0; i < number; i++ ) + /* check for match + */ + if ( ( current->list.num_entries < MAX_SEARCH_NAME ) + || ( current->list.result == MFW_NO_ENTRY ) || ( ret == (UBYTE)PHB_FAIL ) ) + { + /* no, then try to find again + */ + ret = bookFindName( MAX_SEARCH_NAME, current ); + } + else + { + for ( i = 0; i < number; i++ ) #ifdef NO_ASCIIZ { - /* convert from Sim to GSM and then copy to output buffer - */ + /* convert from Sim to GSM and then copy to output buffer + */ /*MC SPR 1257, replacing PHB_MAX_LEN with MAX_ALPHA_LEN for name strings*/ /*MC SPR 2175, using new function to convert name string*/ - if (current->entry[i].name.dcs == MFW_DCS_8bits && current->entry[i].name.data[0] != 0x80) - { ATB_convert_String((char*)current->entry[i].name.data, MFW_DCS_8bits, current->entry[i].name.len, (char*)l_name.data, MFW_ASCII, MAX_ALPHA_LEN, FALSE); - memcpy( current->entry[i].name.data, l_name.data, MAX_ALPHA_LEN ); - current->entry[i].name.len = l_name.len; - current->entry[i].name.dcs = MFW_ASCII; - } + if (current->entry[i].name.dcs == MFW_DCS_8bits && current->entry[i].name.data[0] != 0x80) + { ATB_convert_String((char*)current->entry[i].name.data, MFW_DCS_8bits, current->entry[i].name.len, (char*)l_name.data, MFW_ASCII, MAX_ALPHA_LEN, FALSE); + memcpy( current->entry[i].name.data, l_name.data, MAX_ALPHA_LEN ); + current->entry[i].name.len = l_name.len; + current->entry[i].name.dcs = MFW_ASCII; + } } #else /* convert from GSM to Alpha characters - */ - bookGsm2Alpha( (UBYTE *) current->entry[i].name ); + */ + bookGsm2Alpha( (UBYTE *) current->entry[i].name ); #endif - } + } - /* return the status, and store it as part of current as well - */ - TRACE_EVENT_P1("BookSearchName returns: %d", ret); - return current->result = ret; + /* return the status, and store it as part of current as well + */ + TRACE_EVENT_P1("BookSearchName returns: %d", ret); + return current->result = ret; } - /******************************************************************************* End of File *******************************************************************************/ -