uifw/AvKon/aknhlist/src/akntreelistview.cpp
branchRCL_3
changeset 64 85902f042028
parent 56 d48ab3b357f1
child 72 a5e7a4f63858
--- a/uifw/AvKon/aknhlist/src/akntreelistview.cpp	Tue Sep 14 21:48:24 2010 +0300
+++ b/uifw/AvKon/aknhlist/src/akntreelistview.cpp	Wed Sep 15 12:29:17 2010 +0300
@@ -30,6 +30,7 @@
 #include <avkon.mbg>
 #include <gulicon.h>
 #include <aknmarkingmodeobserver.h>
+#include <aknmarkingmode.h>
 #include "akntreelistview.h"
 #include "akntree.h"
 #include "akntreelist.h"
@@ -2971,6 +2972,8 @@
         const TInt itemCount = iItems.Count();
         for ( TInt ii = 0; ii < itemCount; ++ii )
             {
+            TBool itemIsMarkable = ( iItems[ii].Item() &&
+                    iItems[ii].Item()->IsMarkable() );
             TRect drawRect( iItems[ii].Rect() );
 
             if ( iFlags.IsSet( EFlagMarkingMode ) )
@@ -3087,7 +3090,7 @@
 
                 if ( iFlags.IsSet( EFlagMarkingMode ) && iMarkingIconArray
                         && iMarkingIconArray->Count() == 
-                                KMarkingModeIconArraySize )
+                                KMarkingModeIconArraySize && itemIsMarkable )
                     {
                     // Rect for the marking icon
                     TRect iconRect = RectFromLayout( drawRect,
@@ -3604,6 +3607,18 @@
     return ( count > 0 );
     }
 
+// ---------------------------------------------------------------------------
+// CAknTreeListView::SetMarkingMode
+// ---------------------------------------------------------------------------
+//
+void CAknTreeListView::SetMarkingMode( TBool aEnable )
+    {
+    if ( ( iFlags.IsSet( EFlagMarkingMode ) != aEnable ) && iItemActionMenu )
+        {
+        iItemActionMenu->MarkingMode().SetCollectionMultipleMarkingState(
+            aEnable );
+        }
+    }
 
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
 // ---------------------------------------------------------------------------