--- a/uifw/EikStd/coctlsrc/EIKSCRLB.CPP Wed Jun 09 09:58:37 2010 +0300
+++ b/uifw/EikStd/coctlsrc/EIKSCRLB.CPP Mon Jun 21 15:57:43 2010 +0300
@@ -1320,25 +1320,31 @@
if ( extension->iShowPopup && extension->iPopupController )
{
TPoint infoPoint = PositionRelativeToScreen();
-
+
if ( iOrientation == EVertical )
{
if ( AknLayoutUtils::LayoutMirrored() )
+ {
+ TRect mainPaneRect( 0, 0, 0, 0 );
+ AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
+ mainPaneRect );
+ TInt mainPaneWidth = mainPaneRect.Width();
+ infoPoint.iX += ( mainPaneWidth - infoPoint.iX + Rect().Width() ) / 2 ;
+ infoPoint.iY += aPointerEvent.iPosition.iY;
+ extension->iPopupController->SetPositionAndAlignment (
+ infoPoint, EHRightVCenter );
+ }
+ else
{
- infoPoint.iX += Rect().Width();
+ infoPoint.iX = infoPoint.iX / 2;
infoPoint.iY += aPointerEvent.iPosition.iY;
extension->iPopupController->SetPositionAndAlignment (
infoPoint, EHLeftVCenter );
}
- else
- {
- infoPoint.iY += aPointerEvent.iPosition.iY;
- extension->iPopupController->SetPositionAndAlignment (
- infoPoint, EHRightVCenter );
- }
}
else if ( iOrientation == EHorizontal )
{
+ //infoPoint.iY = infoPoint.iY / 2;
infoPoint.iX += aPointerEvent.iPosition.iX;
extension->iPopupController->SetPositionAndAlignment(
infoPoint, EHCenterVBottom );