diff -r e6a39382bb9c -r c8fb4cf7b3ae textinput/peninputcommonctrls/src/peninputselectionlist/peninputscrollablelist.cpp --- a/textinput/peninputcommonctrls/src/peninputselectionlist/peninputscrollablelist.cpp Tue Apr 27 16:59:43 2010 +0300 +++ b/textinput/peninputcommonctrls/src/peninputselectionlist/peninputscrollablelist.cpp Tue May 11 16:31:42 2010 +0300 @@ -545,21 +545,17 @@ CalcPageInfo(); iContentRect = TRect(TPoint(), TSize(2*iHorizontalMargin + iItemSize.iWidth, (iOnePageItemCnt + 1)*iVerticalMargin + iOnePageItemCnt*iItemSize.iHeight)); - TRect ctrlRect = iContentRect; - - iItemRects.Reset(); - for (TInt i = 0; i < iOnePageItemCnt; i++) - { - iItemRects.Append(TRect(TPoint(iContentRect.iTl.iX + iHorizontalMargin, - iContentRect.iTl.iY + (i+1)* iVerticalMargin + - i * iItemSize.iHeight) , - iItemSize)); - } if (iNaviBtnShown) { - iScrollRect = TRect(TPoint(iContentRect.Width(), 0), - TSize(2*iHorizontalMargin + iNaviSize.iWidth, iContentRect.Height())); + TInt nWidthPager = 2 * iHorizontalMargin + iNaviSize.iWidth; + TInt nXposPager = iContentRect.Width(); + if (iAlign == CGraphicsContext::ERight) + { + iContentRect.Move(nWidthPager, 0); + nXposPager = 0; + } + iScrollRect = TRect(TPoint(nXposPager, 0), TSize(nWidthPager, iContentRect.Height())); iPageUpRect = TRect(TPoint(iScrollRect.iTl.iX + iHorizontalMargin, iScrollRect.iTl.iY + iVerticalMargin), iNaviSize); @@ -579,10 +575,24 @@ iPageInfoRect = TRect(TPoint(iScrollRect.iTl.iX, iScrollRect.iTl.iY + iScrollRect.Height()/2 - iNaviSize.iHeight/2), iNaviSize); - - ctrlRect.BoundingRect(iScrollRect); } - + else + { + iScrollRect = TRect(0, 0, 0, 0); + } + + iItemRects.Reset(); + for (TInt i = 0; i < iOnePageItemCnt; i++) + { + iItemRects.Append(TRect(TPoint(iContentRect.iTl.iX + iHorizontalMargin, + iContentRect.iTl.iY + (i + 1)* iVerticalMargin + + i * iItemSize.iHeight) , + iItemSize)); + } + + TRect ctrlRect = iContentRect; + if (!iScrollRect.IsEmpty()) + ctrlRect.BoundingRect(iScrollRect); SetRect(ctrlRect); UpdateNaviButtonStates(); }