diff -r b3431bff8c19 -r 5586b4d2ec3e phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxdata.cpp --- a/phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxdata.cpp Wed Mar 31 21:13:53 2010 +0300 +++ b/phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxdata.cpp Wed Apr 14 15:45:35 2010 +0300 @@ -50,6 +50,7 @@ #include #include #include +#include "CPbk2ContactViewListBox.h" //from PCS engine #include @@ -2007,11 +2008,18 @@ #endif // RD_UI_TRANSITION_EFFECTS_LIST } + CEikListBox* list = static_cast( iExtension->iControl ); + if ( iExtension->iCurrentRow < list->BottomItemIndex() ) + { + AknListUtils::DrawSeparator( aGc, aRect, aColors.iText, skin ); + } DrawHighLight( aGc, aRect, aHighlight, skin ); // The column draw loop column = 0; TInt subCellIndex = 0; + // Whether need to redraw the PopupCharacter + TBool redrawPopup = EFalse; if ( !iExtension ) { return; } @@ -2296,6 +2304,14 @@ } aGc.SetPenStyle(CGraphicsContext::ESolidPen); } + if ( !redrawPopup && column > 1 ) + { + // column > 1 means that this contact has more than + // one column information to show, for excample name + // and phonenumber. In this case, perhaps need to + // redraw the popupCharacter + redrawPopup = ETrue; + } } #ifdef RD_UI_TRANSITION_EFFECTS_LIST if ( transApi ) @@ -2304,6 +2320,18 @@ transApi->StopDrawing(); } #endif //RD_UI_TRANSITION_EFFECTS_LIST + + // When scroll name list quickly using scroll bar, the popup charcter + // will be overlaped by redraw of usrs' phonenumbers, to fix this, + // show the popup charcter after the refresh + if ( redrawPopup ) + { + CPbk2ContactViewListBox* contactViewListBox = static_cast( iExtension->iControl ); + if ( contactViewListBox ) + { + contactViewListBox->HandlePopupCharacter(&aGc, aRect); + } + } } @@ -2479,6 +2507,12 @@ #endif // RD_UI_TRANSITION_EFFECTS_LIST } + CEikListBox* list = static_cast( iExtension->iControl ); + if ( iExtension->iCurrentRow < list->BottomItemIndex() ) + { + AknListUtils::DrawSeparator( aGc, aRect, aColors.iText, skin ); + } + // LISTBOX LINES NEED TO BE DRAWN HERE. DrawHighLight( aGc, aRect, aHighlight, skin );