diff -r aecbbf00d063 -r d48ab3b357f1 uifw/AvKon/aknhlist/src/akntreelist.cpp --- 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. // ---------------------------------------------------------------------------