diff -r 76d8e96d2114 -r 9595f5d61620 emailuis/uicomponents/src/fstreevisualizerbase.cpp --- a/emailuis/uicomponents/src/fstreevisualizerbase.cpp Mon Mar 08 21:43:01 2010 +0000 +++ b/emailuis/uicomponents/src/fstreevisualizerbase.cpp Sun Mar 14 13:08:23 2010 +0000 @@ -1703,6 +1703,17 @@ } // --------------------------------------------------------------------------- +// Gets item vertical position in the list +// --------------------------------------------------------------------------- +// +TInt CFsTreeVisualizerBase::GetItemWorldPosition( const TInt aIdx ) + { + TRect rect; + iWorld.GetItemRectByIndex( aIdx, rect); + return rect.iTl.iY; + } + +// --------------------------------------------------------------------------- // Checks if the specified item is focused. // --------------------------------------------------------------------------- // @@ -2524,7 +2535,8 @@ iWorld.AppendL(itemId, itemviz->Size()); } } - iViewPort.SetPositionL(TPoint(), EFalse); + // Below line commetned out. ViewPort is now not moved to the top of mail list + //iViewPort.SetPositionL(TPoint(), EFalse); iViewPort.ClearCache(); if (!isUpdating) { @@ -5020,15 +5032,26 @@ } // --------------------------------------------------------------------------- +// Returns viewPort top-left position +// --------------------------------------------------------------------------- +// +TPoint CFsTreeVisualizerBase::ViewPortTopPosition() const +{ + FUNC_LOG; + return iViewPort.Position(); +} + +// --------------------------------------------------------------------------- // Physic updated view position // --------------------------------------------------------------------------- // void CFsTreeVisualizerBase::ViewPositionChanged(const TPoint& aNewPosition, - TBool /*aDrawNow*/, TUint /*aFlags*/) + TBool /*aDrawNow*/, TUint aFlags ) { FUNC_LOG; TInt error(KErrNone); - TRAP( error, iViewPort.SetCenterPositionL(aNewPosition, ETrue, EUpdatedByPhisic) ); + TRAP( error, iViewPort.SetCenterPositionL(aNewPosition, ETrue, + aFlags == 0 ? EUpdatedByPhisic : ENotUpdatedByPhisic ) ); ERROR_1( error, "iViewPort.SetCenterPositionL failed with error: %d", error ); }