uifw/AvKon/src/aknlists.cpp
branchRCL_3
changeset 23 3d340a0166ff
parent 18 0aa5fbdfbc30
child 24 123e51441e0e
child 55 aecbbf00d063
--- a/uifw/AvKon/src/aknlists.cpp	Tue Apr 27 16:55:05 2010 +0300
+++ b/uifw/AvKon/src/aknlists.cpp	Tue May 11 16:27:42 2010 +0300
@@ -1612,6 +1612,12 @@
     TInt pos = -1;
 
     TBool removeicon = (!aItemIsSelected && !ItemMarkReverse()) || (aItemIsSelected && ItemMarkReverse());
+    
+    if ( Flags() & CListItemDrawer::EMarkingModeEnabled )
+        {
+        removeicon = EFalse;
+        }
+
     if ( Flags() & EDrawMarkSelection && ItemMarkPosition() != -1 && removeicon)
         {
         repl.Set( ItemMarkReplacement() );
@@ -3097,8 +3103,23 @@
                 transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
                 }
 #endif //RD_UI_TRANSITION_EFFECTS_LIST
-            gc->SetBrushColor(this->BackColor());
-            AknsDrawUtils::BackgroundBetweenRects( AknsUtils::SkinInstance(), cc, this, *gc, clientRect, this->iView->ViewRect() );
+
+            if ( this->iItemDrawer->Flags() 
+                    & CListItemDrawer::EDrawWholeBackground )
+                {
+                AknsDrawUtils::Background( 
+                    AknsUtils::SkinInstance(), cc, this, *gc, clientRect );
+                
+                this->iItemDrawer->SetFlags( CListItemDrawer::EBackgroundDrawn );
+                }
+            else
+                {
+                gc->SetBrushColor(this->BackColor());
+                AknsDrawUtils::BackgroundBetweenRects( 
+                        AknsUtils::SkinInstance(), cc, this, *gc, clientRect, 
+                        this->iView->ViewRect() );
+                }
+
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
             if ( transApi )
                 {