--- a/uifw/AvKon/aknhlist/src/akntreelist.cpp Tue Aug 31 15:28:30 2010 +0300
+++ b/uifw/AvKon/aknhlist/src/akntreelist.cpp Wed Sep 01 12:16:19 2010 +0100
@@ -80,6 +80,11 @@
View().EnableMarking( aFlags & KAknTreeListMarkable );
}
+ if ( diff & KAknTreeListSmiley && !AknLayoutUtils::LayoutMirrored() )
+ {
+ Tree().InitSmiley();
+ }
+
iFlags = aFlags;
}
@@ -391,6 +396,34 @@
{
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();
+ if (node)
+ {
+ TBool wasMarked = node->IsMarked();
+
+ if (node->IsMarkable())
+ {
+ if (node->AllChildrenMarked())
+ {
+ node->SetMarked(ETrue);
+ }
+ else
+ {
+ node->SetMarked(EFalse);
+ }
+ }
+
+ if (wasMarked != node->IsMarked())
+ {
+ Window().Invalidate(View().Rect());
+ }
+ }
+ }
}
@@ -631,6 +664,17 @@
// ---------------------------------------------------------------------------
+// CAknTreeList::SetMarkingModeObserver
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CAknTreeList::SetMarkingModeObserver(
+ MAknMarkingModeObserver* aObserver )
+ {
+ iMarkingModeObserver = aObserver;
+ }
+
+
+// ---------------------------------------------------------------------------
// Handles key events by mediating them to the view.
// ---------------------------------------------------------------------------
//
@@ -891,6 +935,16 @@
// ---------------------------------------------------------------------------
+// Marking mode observer
+// ---------------------------------------------------------------------------
+//
+MAknMarkingModeObserver* CAknTreeList::MarkingModeObserver()
+ {
+ return iMarkingModeObserver;
+ }
+
+
+// ---------------------------------------------------------------------------
// Does nothing, the draw request is mediated to the view through component
// control structure.
// ---------------------------------------------------------------------------