uifw/AvKon/aknhlist/src/akntreelist.cpp
branchRCL_3
changeset 10 9f56a4e1b8ab
parent 0 2f259fa3e83a
child 15 08e69e956a8c
--- a/uifw/AvKon/aknhlist/src/akntreelist.cpp	Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntreelist.cpp	Mon Mar 15 12:41:34 2010 +0200
@@ -391,6 +391,29 @@
         {
         Window().Invalidate( View().Rect() );
         }
+    
+    // Update the marking of upper level node
+    CAknTreeItem* item = Tree().Item( aItem );
+    if ( item && item->Parent() && item->Parent()->IsNode() )
+        {
+        CAknTreeNode* node = item->Parent()->Node();
+        TBool wasMarked = node->IsMarked();
+        if ( node && node->IsMarkable() )
+            {
+            if ( node->AllChildrenMarked() )
+                {
+                node->SetMarked( ETrue );
+                }            
+            else
+                {
+                node->SetMarked( EFalse );
+                }
+            }
+        if ( wasMarked != node->IsMarked() )
+            {
+            Window().Invalidate( View().Rect() );
+            }
+        }
     }