emailuis/emailui/src/FreestyleEmailUiLayoutHandler.cpp
changeset 1 12c456ceeff2
parent 0 8466d47a6819
child 13 0396474f30f5
equal deleted inserted replaced
0:8466d47a6819 1:12c456ceeff2
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 // SYSTEM INCLUDE FILES
    19 // SYSTEM INCLUDE FILES
    20 #include "emailtrace.h"
    20 #include "emailtrace.h"
    21 //#include <aknutils.h> <cmail>
       
    22 // <cmail> SF
       
    23 #include <alf/alftextstylemanager.h>
    21 #include <alf/alftextstylemanager.h>
    24 #include <AknsUtils.h>
    22 #include <AknsUtils.h>
    25 #include <AknsSkinInstance.h>
    23 #include <AknsSkinInstance.h>
    26 #include <alf/alfstatic.h>
    24 #include <alf/alfstatic.h>
    27 
    25 
    28 // <cmail> Platform layout change
       
    29 #include <aknlayoutscalable_apps.cdl.h>
    26 #include <aknlayoutscalable_apps.cdl.h>
    30 #include <aknlayoutscalable_avkon.cdl.h>
    27 #include <aknlayoutscalable_avkon.cdl.h>
    31 #include <layoutmetadata.cdl.h>
    28 #include <layoutmetadata.cdl.h>
    32 // </cmail>
       
    33 
    29 
    34 // For generic treelist layout data setting
    30 // For generic treelist layout data setting
    35 //<cmail>
       
    36 #include "fstreelist.h"
    31 #include "fstreelist.h"
    37 //</cmail>
       
    38 
    32 
    39 // INTERNAL INCLUDE FILES
    33 // INTERNAL INCLUDE FILES
    40 #include "FreestyleEmailUiLayoutHandler.h"
    34 #include "FreestyleEmailUiLayoutHandler.h"
    41 #include "FreestyleEmailUiLayoutData.h"
    35 #include "FreestyleEmailUiLayoutData.h"
    42 
    36 
    43 // <cmail> Platform layout change
    37 const TInt KPopupMargin = 8;
       
    38 
    44 template< typename T >
    39 template< typename T >
    45 TUint32 GeneralHash( const T& aValue )
    40 TUint32 GeneralHash( const T& aValue )
    46     {
    41     {
    47     return DefaultHash::Des8( TPckgC< T >( aValue ) );
    42     return DefaultHash::Des8( TPckgC< T >( aValue ) );
    48     }
    43     }
    50 template< typename T >
    45 template< typename T >
    51 TBool GeneralPtrIdentity( const T& aP1, const T& aP2 )
    46 TBool GeneralPtrIdentity( const T& aP1, const T& aP2 )
    52     {
    47     {
    53     return TPckgC< T >( aP1 ) == TPckgC< T >( aP2 );
    48     return TPckgC< T >( aP1 ) == TPckgC< T >( aP2 );
    54     }
    49     }
    55 // </cmail> Platform layout change
       
    56 
    50 
    57 // -----------------------------------------------------------------------------
    51 // -----------------------------------------------------------------------------
    58 // CFSEmailUiLayoutHandler::CFSEmailUiLayoutHandler
    52 // CFSEmailUiLayoutHandler::CFSEmailUiLayoutHandler
    59 // Base construction. May not leave.
    53 // Base construction. May not leave.
    60 // -----------------------------------------------------------------------------
    54 // -----------------------------------------------------------------------------
   104 // -----------------------------------------------------------------------------
    98 // -----------------------------------------------------------------------------
   105 //
    99 //
   106 CFSEmailUiLayoutHandler::~CFSEmailUiLayoutHandler()
   100 CFSEmailUiLayoutHandler::~CFSEmailUiLayoutHandler()
   107     {
   101     {
   108     FUNC_LOG;
   102     FUNC_LOG;
   109 // <cmail> Platform layout change
       
   110     DeleteTextStyles();
   103     DeleteTextStyles();
   111 // </cmail> Platform layout change
       
   112     // <cmail>
       
   113     if ( iNormalTextStyle != KErrNotFound )
   104     if ( iNormalTextStyle != KErrNotFound )
   114         {
   105         {
   115         CAlfStatic::Env().TextStyleManager().DeleteTextStyle( 
   106         CAlfStatic::Env().TextStyleManager().DeleteTextStyle( 
   116                 iNormalTextStyle );
   107                 iNormalTextStyle );
   117         }
   108         }
   123     if( iSmallTextStyle != KErrNotFound )
   114     if( iSmallTextStyle != KErrNotFound )
   124         {
   115         {
   125         CAlfStatic::Env().TextStyleManager().DeleteTextStyle( 
   116         CAlfStatic::Env().TextStyleManager().DeleteTextStyle( 
   126                 iSmallTextStyle );
   117                 iSmallTextStyle );
   127         }
   118         }
   128     // </cmail>
       
   129     }
   119     }
   130 
   120 
   131 // -----------------------------------------------------------------------------
   121 // -----------------------------------------------------------------------------
   132 // CFSEmailUiLayoutHandler::ScreenResolution
   122 // CFSEmailUiLayoutHandler::ScreenResolution
   133 // Function can be used to fetch currently active screen resolution
   123 // Function can be used to fetch currently active screen resolution
   145 // -----------------------------------------------------------------------------
   135 // -----------------------------------------------------------------------------
   146 //  
   136 //  
   147 TScreenOrientation CFSEmailUiLayoutHandler::ScreenOrientation() const
   137 TScreenOrientation CFSEmailUiLayoutHandler::ScreenOrientation() const
   148     {
   138     {
   149     FUNC_LOG;
   139     FUNC_LOG;
   150     /*
       
   151     TScreenOrientation orientation = EPortrait;
       
   152     switch ( iScreenResolution )
       
   153         {
       
   154         case ELowResLandscape:
       
   155         case EQvgaLandscape:
       
   156         case EDrLandscape:
       
   157         case EVgaLandscape:
       
   158         case EHvgaLandscape:
       
   159         case EWideLandscape:
       
   160             orientation = ELandscape;
       
   161             break;
       
   162         case ELowResPortrait:
       
   163         case EQvgaPortrait:
       
   164         case EDrPortrait:
       
   165         case EVgaPortrait:
       
   166         case EHvgaPortrait:
       
   167         default:
       
   168             orientation = EPortrait;
       
   169             break;
       
   170         }
       
   171         
       
   172     return orientation;*/
       
   173     return Layout_Meta_Data::IsLandscapeOrientation() ? ELandscape : EPortrait;
   140     return Layout_Meta_Data::IsLandscapeOrientation() ? ELandscape : EPortrait;
   174     }
   141     }
   175 
   142 
   176 // -----------------------------------------------------------------------------
   143 // -----------------------------------------------------------------------------
   177 // CTeamUiAppLayoutHandler::ScreenResolutionChanged
   144 // CTeamUiAppLayoutHandler::ScreenResolutionChanged
   313      if ( AknsUtils::GetCachedColor( skin, textColor,
   280      if ( AknsUtils::GetCachedColor( skin, textColor,
   314             KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 ) != KErrNone )
   281             KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 ) != KErrNone )
   315         {
   282         {
   316         textColor = KRgbBlack;
   283         textColor = KRgbBlack;
   317         }
   284         }
   318  /*
       
   319     // Should use EAknsCIFsTextColorsCG3 if background is white
       
   320      if ( AknsUtils::GetCachedColor( skin, textColor,
       
   321             KAknsIIDFsTextColors, EAknsCIFsTextColorsCG3 ) != KErrNone )
       
   322         {
       
   323         textColor = KRgbBlack;
       
   324         }
       
   325 */
       
   326     return textColor;	
   285     return textColor;	
   327 	}
   286 	}
   328 
   287 
   329 // -----------------------------------------------------------------------------
   288 // -----------------------------------------------------------------------------
   330 // CFSEmailUiLayoutHandler::GridIconSize
   289 // CFSEmailUiLayoutHandler::GridIconSize
   349 
   308 
   350     TAknLayoutRect gridIconLRect;
   309     TAknLayoutRect gridIconLRect;
   351     gridIconLRect.LayoutRect( itemRect.Rect(), AknLayoutScalable_Apps::cell_cmail_l_pane_g1( 0 ) );
   310     gridIconLRect.LayoutRect( itemRect.Rect(), AknLayoutScalable_Apps::cell_cmail_l_pane_g1( 0 ) );
   352     TSize iconSize = gridIconLRect.Rect().Size();
   311     TSize iconSize = gridIconLRect.Rect().Size();
   353     return iconSize;
   312     return iconSize;
   354 /*    
       
   355 	TInt iconSize(0);
       
   356 	switch ( iScreenResolution )
       
   357 		{
       
   358 		case EQvgaPortrait:
       
   359 			iconSize = KGridIconSizeInQvgaPort;
       
   360 	 		break;
       
   361  		case EQvgaLandscape:
       
   362 			iconSize = KGridIconSizeInQvgaLand;
       
   363 		 	break;
       
   364  		case EVgaPortrait:
       
   365  			iconSize = KGridIconSizeInVgaPort;
       
   366  			break;
       
   367 		case EVgaLandscape:
       
   368 			iconSize = KGridIconSizeInVgaLand;
       
   369 			break;
       
   370   		case EHvgaPortrait:
       
   371  			iconSize = KGridIconSizeInHvgaPort;
       
   372  			break;
       
   373 		case EHvgaLandscape:
       
   374 			iconSize = KGridIconSizeInHvgaLand;
       
   375 			break;
       
   376  		case EWideLandscape:
       
   377 			iconSize = KGridIconSizeInWideLand;
       
   378  			break;
       
   379  		case EDrPortrait:
       
   380 			iconSize = KGridIconSizeInDoubleResPort;
       
   381  			break;
       
   382  		case EDrLandscape:
       
   383 		default:
       
   384 			iconSize = KGridIconSizeInDoubleResLand;
       
   385 			break;
       
   386 		}
       
   387 	return iconSize;*/
       
   388 // </cmail>    
       
   389 	}
   313 	}
   390 
   314 
   391 	
   315 	
   392 TSize CFSEmailUiLayoutHandler::MailIconSizeInThisResolution() const
   316 TSize CFSEmailUiLayoutHandler::MailIconSizeInThisResolution() const
   393 	{
   317 	{
   394     FUNC_LOG;
   318     FUNC_LOG;
   395 // <cmail> Use layout data instead of hard-coded values
       
   396 	TAknLayoutRect rect;
   319 	TAknLayoutRect rect;
   397 	rect.LayoutRect( TRect( 0, 0, 0, 0 ),
   320 	rect.LayoutRect( TRect( 0, 0, 0, 0 ),
   398 	                AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( 0 ).LayoutLine() );
   321 	                AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( 0 ).LayoutLine() );
   399 	return rect.Rect().Size();
   322 	return rect.Rect().Size();
   400 	/*TSize mailListIconSize(0,0);
       
   401 	switch ( iScreenResolution )
       
   402 		{
       
   403 		case EQvgaPortrait:
       
   404 			mailListIconSize = KMailListIconSizeInQvgaPort;
       
   405 	 		break;
       
   406  		case EQvgaLandscape:
       
   407 			mailListIconSize = KMailListIconSizeInQvgaLand;
       
   408 		 	break;
       
   409  		case EVgaPortrait:
       
   410  			mailListIconSize = KMailListIconSizeInVgaPort;
       
   411  			break;
       
   412 		case EVgaLandscape:
       
   413 			mailListIconSize = KMailListIconSizeInVgaLand;
       
   414 			break;
       
   415   		case EHvgaPortrait:
       
   416  			mailListIconSize = KMailListIconSizeInHvgaPort;
       
   417  			break;
       
   418 		case EHvgaLandscape:
       
   419 			mailListIconSize = KMailListIconSizeInHvgaLand;
       
   420 			break;
       
   421  		case EWideLandscape:
       
   422 			mailListIconSize = KMailListIconSizeInWideLand;
       
   423  			break;
       
   424  		case EDrPortrait:
       
   425 			mailListIconSize = KMailListIconSizeInDoubleResPort;
       
   426  			break;
       
   427  		case EDrLandscape:
       
   428 		default:
       
   429 			mailListIconSize = KMailListIconSizeInDoubleResLand;
       
   430 			break;
       
   431 		}
       
   432 	TAknUiZoom zoomLevel(EAknUiZoomNormal);
       
   433     CAknEnv::Static()->GetCurrentGlobalUiZoom( zoomLevel );
       
   434  	switch ( zoomLevel )
       
   435 		{
       
   436 		// Make icon a little bit smaller in small zoom
       
   437 		case EAknUiZoomSmall:
       
   438 			{
       
   439 			mailListIconSize.iHeight-=2;
       
   440 			mailListIconSize.iWidth-=2;
       
   441 			}
       
   442 			break;
       
   443 		case EAknUiZoomLarge:
       
   444 		case EAknUiZoomNormal:
       
   445 		default:
       
   446 			{
       
   447 			}
       
   448 			break;
       
   449 		}
       
   450 	return mailListIconSize;*/
       
   451 // </cmail> Use layout data instead of hard-coded values
       
   452 	}
   323 	}
   453 
   324 
   454 
   325 
   455 // -----------------------------------------------------------------------------
   326 // -----------------------------------------------------------------------------
   456 // CFSEmailUiLayoutHandler::SetListMarqueeBehaviour
   327 // CFSEmailUiLayoutHandler::SetListMarqueeBehaviour
   481         {
   352         {
   482         TAknWindowComponentLayout g1Layout( TAknWindowComponentLayout::Compose(
   353         TAknWindowComponentLayout g1Layout( TAknWindowComponentLayout::Compose(
   483                 AknLayoutScalable_Apps::list_single_dyc_row_pane( 0 ),
   354                 AknLayoutScalable_Apps::list_single_dyc_row_pane( 0 ),
   484                 AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( 0 ) ) );
   355                 AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( 0 ) ) );
   485         TAknLayoutRect paneG1;
   356         TAknLayoutRect paneG1;
   486         paneG1.LayoutRect( DropDownMenuListRect( ELeft ), g1Layout.LayoutLine() );
   357         paneG1.LayoutRect( DropDownMenuListRect( ELeft, EFalse ), g1Layout.LayoutLine() );
   487         return paneG1.Rect().Size();        
   358         return paneG1.Rect().Size();        
   488         }
   359         }
   489     else
   360     else
   490         {
   361         {
   491         TRect mainPaneRect;
   362         TRect mainPaneRect;
   501 
   372 
   502         return itemRect.Rect().Size();
   373         return itemRect.Rect().Size();
   503         }
   374         }
   504     }      
   375     }      
   505 
   376 
   506 // <cmail>
       
   507 // -----------------------------------------------------------------------------
   377 // -----------------------------------------------------------------------------
   508 // CFSEmailUiLayoutHandler::FolderListPaneRectInThisResolution
   378 // CFSEmailUiLayoutHandler::FolderListPaneRectInThisResolution
   509 // Folder list pane rect, taken from Avkon layouts
   379 // Folder list pane rect, taken from Avkon layouts
   510 // -----------------------------------------------------------------------------
   380 // -----------------------------------------------------------------------------
   511 //
   381 //
   514     FUNC_LOG;
   384     FUNC_LOG;
   515     TAknLayoutRect itemRect;
   385     TAknLayoutRect itemRect;
   516     itemRect.LayoutRect(aParent, AknLayoutScalable_Avkon::listscroll_gen_pane(0,0,0));
   386     itemRect.LayoutRect(aParent, AknLayoutScalable_Avkon::listscroll_gen_pane(0,0,0));
   517     return itemRect.Rect();
   387     return itemRect.Rect();
   518     }
   388     }
   519 // </cmail>
       
   520 
   389 
   521 // -----------------------------------------------------------------------------
   390 // -----------------------------------------------------------------------------
   522 // CFSEmailUiLayoutHandler::FolderListIndentation
   391 // CFSEmailUiLayoutHandler::FolderListIndentation
   523 // Folder list pane indentation in pixels, taken from Avkon layouts
   392 // Folder list pane indentation in pixels, taken from Avkon layouts
   524 // -----------------------------------------------------------------------------
   393 // -----------------------------------------------------------------------------
   545      	AknLayoutScalable_Avkon::list_single_large_graphic_pane( 0, 0 ,0 ) );
   414      	AknLayoutScalable_Avkon::list_single_large_graphic_pane( 0, 0 ,0 ) );
   546 
   415 
   547     return itemRect.Rect().Size();
   416     return itemRect.Rect().Size();
   548 	}
   417 	}
   549 
   418 
   550 // <cmail>
       
   551 // -----------------------------------------------------------------------------
   419 // -----------------------------------------------------------------------------
   552 // CFSEmailUiLayoutHandler::DropDownMenuListRect
   420 // CFSEmailUiLayoutHandler::DropDownMenuListRect
   553 // Selector ring image visual size
   421 // Selector ring image visual size
   554 // -----------------------------------------------------------------------------
   422 // -----------------------------------------------------------------------------
   555 //
   423 //
   556 TRect CFSEmailUiLayoutHandler::DropDownMenuListRect(
   424 TRect CFSEmailUiLayoutHandler::DropDownMenuListRect(
   557         const TDropDownMenuSide aSide ) const
   425         const TDropDownMenuSide aSide, TBool aStretch ) const
   558     {
   426     {
   559     FUNC_LOG;
   427     FUNC_LOG;
   560     TRect mainPaneRect;
   428     TRect mainPaneRect;
   561     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
   429     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
   562             mainPaneRect );
   430             mainPaneRect );
   563     mainPaneRect.Move( 0, -mainPaneRect.iTl.iY );
   431     mainPaneRect.Move( 0, -mainPaneRect.iTl.iY );
   564     TInt variety( aSide == ELeft ? 0 : 1 );
   432     TInt variety( aSide == ELeft ? 0 : 1 );
   565     if ( Layout_Meta_Data::IsLandscapeOrientation() )
   433     TBool landscape = Layout_Meta_Data::IsLandscapeOrientation();
       
   434     if ( landscape )
   566         {
   435         {
   567         // landscape orientation variety is portrait + 2
   436         // landscape orientation variety is portrait + 2
   568         variety += 2;
   437         variety += 2;
   569         }
   438         }
   570     
   439     
   574                 AknLayoutScalable_Apps::popup_sp_fs_action_menu_pane_cp01( variety ) 
   443                 AknLayoutScalable_Apps::popup_sp_fs_action_menu_pane_cp01( variety ) 
   575                 ) );
   444                 ) );
   576     
   445     
   577     TAknLayoutRect menuPane;
   446     TAknLayoutRect menuPane;
   578     menuPane.LayoutRect( mainPaneRect, ddMenuPane.LayoutLine() );
   447     menuPane.LayoutRect( mainPaneRect, ddMenuPane.LayoutLine() );
   579     return menuPane.Rect();
   448     TRect rect = menuPane.Rect();
   580     
   449     if ( aStretch )
   581     }
   450         {
   582 // </cmail>
   451         rect.iBr.iY = mainPaneRect.iBr.iY;
       
   452         
       
   453         if( !landscape ) // landscape layout occupy the right side of the display
       
   454             {
       
   455             rect.iBr.iY -= ControlBarHeight();
       
   456             }
       
   457         }
       
   458     
       
   459     // Calculate the placement next to the button (below or left side)
       
   460     TRect buttonRect;
       
   461     TRect cbr = GetControlBarRect();
       
   462     if( aSide == ELeft )
       
   463         {
       
   464         buttonRect = GetControlBarFolderListButtonRect();
       
   465         }
       
   466     else
       
   467         {
       
   468         buttonRect = GetControlBarSortButtonRect();
       
   469         }
       
   470     buttonRect.Move( cbr.iTl ); // relative to control bar
       
   471     
       
   472     if( landscape )
       
   473         {
       
   474         TSize menuSize = rect.Size();
       
   475 
       
   476         // position left from the button
       
   477         rect.SetRect( TPoint( buttonRect.iTl.iX - menuSize.iWidth, 
       
   478                 buttonRect.Center().iY - menuSize.iHeight / 2 ), menuSize );
       
   479         }
       
   480     else
       
   481         {
       
   482         // position below the button
       
   483         rect.Move( 0, buttonRect.iBr.iY - rect.iTl.iY );
       
   484         }
       
   485     
       
   486     // keep the popup menu inside the screen area
       
   487     if( landscape )
       
   488         {
       
   489         if( rect.iTl.iX < KPopupMargin )
       
   490             {
       
   491             rect.Move( KPopupMargin - rect.iTl.iX , 0 );
       
   492             }
       
   493         if( rect.iBr.iY > mainPaneRect.iBr.iY - KPopupMargin )
       
   494             {
       
   495             rect.Move( 0, mainPaneRect.iBr.iY - rect.iBr.iY - KPopupMargin );
       
   496             }
       
   497         }
       
   498     if( rect.iTl.iY < KPopupMargin )
       
   499         {
       
   500         rect.iTl.iY = KPopupMargin;
       
   501         }
       
   502     return rect;
       
   503     }
   583 
   504 
   584 // -----------------------------------------------------------------------------
   505 // -----------------------------------------------------------------------------
   585 // CFSEmailUiLayoutHandler::SelectorVisualSizeInThisResolution
   506 // CFSEmailUiLayoutHandler::SelectorVisualSizeInThisResolution
   586 // Selector ring image visual size
   507 // Selector ring image visual size
   587 // -----------------------------------------------------------------------------
   508 // -----------------------------------------------------------------------------
   635     FUNC_LOG;
   556     FUNC_LOG;
   636 	//<cmail>
   557 	//<cmail>
   637     TRect mainPaneRect;
   558     TRect mainPaneRect;
   638     TAknLayoutRect listItem;
   559     TAknLayoutRect listItem;
   639     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
   560     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
   640     listItem.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::list_single_dyc_row_pane( 0 ) );
   561     listItem.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::list_single_fs_dyc_pane( 0 ) );
   641     return listItem.Rect().Height();
   562     return listItem.Rect().Height();
   642     //</cmail>
   563     //</cmail>
   643 	}
   564 	}
   644 	
   565 	
   645 	
   566 	
   649 // -----------------------------------------------------------------------------
   570 // -----------------------------------------------------------------------------
   650 //
   571 //
   651 TInt CFSEmailUiLayoutHandler::OneLineListItemHeight() const
   572 TInt CFSEmailUiLayoutHandler::OneLineListItemHeight() const
   652 	{
   573 	{
   653     FUNC_LOG;
   574     FUNC_LOG;
   654 	//<cmail>
       
   655     TRect mainPaneRect;
   575     TRect mainPaneRect;
   656     TAknLayoutRect listItem;
   576     TAknLayoutRect listItem;
   657     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
   577     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
   658     listItem.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::list_single_dyc_row_pane( 0 ) );
   578     listItem.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::list_single_fs_dyc_pane( 0 ) );
   659     return listItem.Rect().Height();
   579     return listItem.Rect().Height();
   660     //</cmail>
   580 	}
   661 	}
   581 
       
   582 TInt CFSEmailUiLayoutHandler::TwoLineListItemHeight() const
       
   583     {
       
   584     TRect mainPaneRect;
       
   585     TAknLayoutRect listItem;
       
   586     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
       
   587     listItem.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::list_single_fs_dyc_pane( 1 ) );
       
   588     return listItem.Rect().Height();
       
   589     }
   662 
   590 
   663 //<cmail>
   591 //<cmail>
   664 // -----------------------------------------------------------------------------
   592 // -----------------------------------------------------------------------------
   665 // CFSEmailUiLayoutHandler::FolderListOneLineItemHeight
   593 // CFSEmailUiLayoutHandler::FolderListOneLineItemHeight
   666 // List item height for folder list
   594 // List item height for folder list
   691 // -----------------------------------------------------------------------------
   619 // -----------------------------------------------------------------------------
   692 //
   620 //
   693 TInt CFSEmailUiLayoutHandler::ControlBarHeight() const
   621 TInt CFSEmailUiLayoutHandler::ControlBarHeight() const
   694 	{
   622 	{
   695     FUNC_LOG;
   623     FUNC_LOG;
   696 	//<cmail>
       
   697 	TRect mainPaneRect;
   624 	TRect mainPaneRect;
   698     TAknLayoutRect ctrlBarRect;
   625     TAknLayoutRect ctrlBarRect;
   699     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
   626     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
   700     ctrlBarRect.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane( 0 ) );
   627     ctrlBarRect.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane( 0 ) );
   701     return ctrlBarRect.Rect().Height();
   628     return ctrlBarRect.Rect().Height();
   702 	//</cmail>
   629 	}
   703 	}
       
   704 
       
   705 // -----------------------------------------------------------------------------
       
   706 // CFSEmailUiLayoutHandler::ControlBarHeight
       
   707 // Control bar text height in twips
       
   708 // -----------------------------------------------------------------------------
       
   709 //
       
   710 /*
       
   711 TInt CFSEmailUiLayoutHandler::ControlBarTextHeight() const
       
   712 	{
       
   713     TRect mainPaneRect;
       
   714     TAknLayoutText ctrlBarText;
       
   715     TInt orientation( Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0 );
       
   716     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
       
   717     ctrlBarText.LayoutText( mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_t1( orientation ) );
       
   718     return ctrlBarText.Font()->FontSpecInTwips().iHeight;
       
   719 	}
       
   720 */
       
   721 //</cmail>  Platform layout change
       
   722 
   630 
   723 // <cmail> changes to avoid unnecessary creating new text styles objects.
   631 // <cmail> changes to avoid unnecessary creating new text styles objects.
   724 CAlfTextStyle* CFSEmailUiLayoutHandler::FSTextStyleFromIdL( TFSEmailFont aFontId )
   632 CAlfTextStyle* CFSEmailUiLayoutHandler::FSTextStyleFromIdL( TFSEmailFont aFontId )
   725     {
   633     {
   726     FUNC_LOG;
   634     FUNC_LOG;
  1513     layoutRect.LayoutRect( ListCmailPaneRect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane( 0 ) );
  1421     layoutRect.LayoutRect( ListCmailPaneRect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane( 0 ) );
  1514     layoutRect.LayoutRect( layoutRect.Rect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane_g2( 0 ) );
  1422     layoutRect.LayoutRect( layoutRect.Rect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane_g2( 0 ) );
  1515     return layoutRect.Rect().Size();
  1423     return layoutRect.Rect().Size();
  1516     // </cmail> Platform layout changes
  1424     // </cmail> Platform layout changes
  1517     }
  1425     }
       
  1426 
  1518 // -----------------------------------------------------------------------------
  1427 // -----------------------------------------------------------------------------
  1519 // CFSEmailUiLayoutHandler::ViewerActionMenuIconMargin
  1428 // CFSEmailUiLayoutHandler::ViewerActionMenuIconMargin
  1520 // -----------------------------------------------------------------------------
  1429 // -----------------------------------------------------------------------------
  1521 TInt CFSEmailUiLayoutHandler::ViewerActionMenuIconMargin() const
  1430 TInt CFSEmailUiLayoutHandler::ViewerActionMenuIconMargin() const
  1522     {
  1431     {
  1523 	FUNC_LOG;
  1432 	FUNC_LOG;
  1524     // <cmail> Platform layout changes
       
  1525     /*
       
  1526     return KViewerActionMenuIconMargin;
       
  1527     */
       
  1528 	if (AknLayoutUtils::LayoutMirrored())
  1433 	if (AknLayoutUtils::LayoutMirrored())
  1529 	    {
  1434 	    {
  1530 	    TAknLayoutRect layoutRect;
  1435 	    TAknLayoutRect layoutRect;
  1531         layoutRect.LayoutRect( ListCmailPaneRect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane( 0 ) );
  1436         layoutRect.LayoutRect( ListCmailPaneRect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane( 0 ) );
  1532         TInt x( layoutRect.Rect().iTl.iX );
  1437         TInt x( layoutRect.Rect().iTl.iX );
  1539         layoutRect.LayoutRect( ListCmailPaneRect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane( 0 ) );
  1444         layoutRect.LayoutRect( ListCmailPaneRect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane( 0 ) );
  1540         TInt x( layoutRect.Rect().iBr.iX );
  1445         TInt x( layoutRect.Rect().iBr.iX );
  1541         layoutRect.LayoutRect( layoutRect.Rect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane_g2( 0 ) );
  1446         layoutRect.LayoutRect( layoutRect.Rect(), AknLayoutScalable_Apps::list_single_cmail_header_detail_pane_g2( 0 ) );
  1542         return Abs( x - layoutRect.Rect().iBr.iX );
  1447         return Abs( x - layoutRect.Rect().iBr.iX );
  1543 	    }
  1448 	    }
  1544     // </cmail> Platform layout changes
  1449     }
  1545     }
  1450 
  1546 // -----------------------------------------------------------------------------
  1451 // -----------------------------------------------------------------------------
  1547 // CFSEmailUiLayoutHandler::ViewerSelectorOpacity
  1452 // CFSEmailUiLayoutHandler::ViewerSelectorOpacity
  1548 // -----------------------------------------------------------------------------
  1453 // -----------------------------------------------------------------------------
  1549 TReal CFSEmailUiLayoutHandler::ViewerSelectorOpacity() const
  1454 TReal CFSEmailUiLayoutHandler::ViewerSelectorOpacity() const
  1550     {
  1455     {
  1551     FUNC_LOG;
  1456     FUNC_LOG;
  1552     return KViewerSelectorOpacity;
  1457     return KViewerSelectorOpacity;
  1553     }
  1458     }
       
  1459 
  1554 // -----------------------------------------------------------------------------
  1460 // -----------------------------------------------------------------------------
  1555 // CFSEmailUiLayoutHandler::ViewerRightMarginInPixels
  1461 // CFSEmailUiLayoutHandler::ViewerRightMarginInPixels
  1556 // -----------------------------------------------------------------------------
  1462 // -----------------------------------------------------------------------------
  1557 TInt CFSEmailUiLayoutHandler::ViewerRightMarginInPixels() const
  1463 TInt CFSEmailUiLayoutHandler::ViewerRightMarginInPixels() const
  1558 	{
  1464 	{
  1559 	FUNC_LOG;
  1465 	FUNC_LOG;
  1560     // <cmail> Platform layout changes
       
  1561     /*
       
  1562     if ( AknLayoutUtils::LayoutMirrored() )
       
  1563         {
       
  1564         return KViewerLeftMarginWidthInPixels;
       
  1565         }
       
  1566     else
       
  1567         {
       
  1568         return KViewerRightMarginWidthInPixels;
       
  1569         }
       
  1570     */
       
  1571     const TRect cmailPaneRect( ListCmailPaneRect() );
  1466     const TRect cmailPaneRect( ListCmailPaneRect() );
  1572     TAknLayoutRect layoutRect;
  1467     TAknLayoutRect layoutRect;
  1573     layoutRect.LayoutRect( cmailPaneRect, AknLayoutScalable_Apps::list_single_cmail_header_caption_pane() );
  1468     layoutRect.LayoutRect( cmailPaneRect, AknLayoutScalable_Apps::list_single_cmail_header_caption_pane() );
  1574     TAknLayoutText captionTextRect;
  1469     TAknLayoutText captionTextRect;
  1575     captionTextRect.LayoutText( layoutRect.Rect(), AknLayoutScalable_Apps::list_single_cmail_header_caption_pane_t1() );
  1470     captionTextRect.LayoutText( layoutRect.Rect(), AknLayoutScalable_Apps::list_single_cmail_header_caption_pane_t1() );
  1576     return Abs( cmailPaneRect.iBr.iX - captionTextRect.TextRect().iBr.iX );
  1471     return Abs( cmailPaneRect.iBr.iX - captionTextRect.TextRect().iBr.iX );
  1577     // </cmail> Platform layout changes
       
  1578     }
  1472     }
  1579 
  1473 
  1580 // -----------------------------------------------------------------------------
  1474 // -----------------------------------------------------------------------------
  1581 // CFSEmailUiLayoutHandler::ViewerLeftMarginInPixels
  1475 // CFSEmailUiLayoutHandler::ViewerLeftMarginInPixels
  1582 // -----------------------------------------------------------------------------
  1476 // -----------------------------------------------------------------------------
  1583 TInt CFSEmailUiLayoutHandler::ViewerLeftMarginInPixels() const
  1477 TInt CFSEmailUiLayoutHandler::ViewerLeftMarginInPixels() const
  1584 	{
  1478 	{
  1585 	FUNC_LOG;
  1479 	FUNC_LOG;
  1586     // <cmail> Platform layout changes
       
  1587     /*
       
  1588     if ( AknLayoutUtils::LayoutMirrored() )
       
  1589         {
       
  1590         return KViewerRightMarginWidthInPixels;
       
  1591         }
       
  1592     else
       
  1593         {
       
  1594         return KViewerLeftMarginWidthInPixels;
       
  1595         }
       
  1596     */
       
  1597     const TRect cmailPaneRect( ListCmailPaneRect() );
  1480     const TRect cmailPaneRect( ListCmailPaneRect() );
  1598     TAknLayoutRect layoutRect;
  1481     TAknLayoutRect layoutRect;
  1599     layoutRect.LayoutRect( cmailPaneRect, AknLayoutScalable_Apps::list_single_cmail_header_caption_pane() );
  1482     layoutRect.LayoutRect( cmailPaneRect, AknLayoutScalable_Apps::list_single_cmail_header_caption_pane() );
  1600     TAknLayoutText captionTextRect;
  1483     TAknLayoutText captionTextRect;
  1601     captionTextRect.LayoutText( layoutRect.Rect(), AknLayoutScalable_Apps::list_single_cmail_header_caption_pane_t1() );
  1484     captionTextRect.LayoutText( layoutRect.Rect(), AknLayoutScalable_Apps::list_single_cmail_header_caption_pane_t1() );
  1602     return Abs( cmailPaneRect.iTl.iX - captionTextRect.TextRect().iTl.iX );
  1485     return Abs( cmailPaneRect.iTl.iX - captionTextRect.TextRect().iTl.iX );
  1603     // </cmail> Platform layout changes
       
  1604     }
  1486     }
  1605 
  1487 
  1606 // -----------------------------------------------------------------------------
  1488 // -----------------------------------------------------------------------------
  1607 // CFSEmailUiLayoutHandler::ViewerWaterMarkSizeInThisResolution
  1489 // CFSEmailUiLayoutHandler::ViewerWaterMarkSizeInThisResolution
  1608 // -----------------------------------------------------------------------------
  1490 // -----------------------------------------------------------------------------
  1628 		    sizeWithCurrentResolution = KViewerDefaultWaterMarkSizeInViewer;
  1510 		    sizeWithCurrentResolution = KViewerDefaultWaterMarkSizeInViewer;
  1629 		    break;
  1511 		    break;
  1630 		}
  1512 		}
  1631 	return sizeWithCurrentResolution;
  1513 	return sizeWithCurrentResolution;
  1632 	}
  1514 	}
       
  1515 
  1633 // -----------------------------------------------------------------------------
  1516 // -----------------------------------------------------------------------------
  1634 // CFSEmailUiLayoutHandler::ViewerWaterMarkPositionFromBottomRightCornerInThisResolution
  1517 // CFSEmailUiLayoutHandler::ViewerWaterMarkPositionFromBottomRightCornerInThisResolution
  1635 // -----------------------------------------------------------------------------
  1518 // -----------------------------------------------------------------------------
  1636 TPoint CFSEmailUiLayoutHandler::ViewerWaterMarkPlaceFromBottomRightCornerInThisResolution() const
  1519 TPoint CFSEmailUiLayoutHandler::ViewerWaterMarkPlaceFromBottomRightCornerInThisResolution() const
  1637 	{
  1520 	{
  1655 		    placeFromBottomRightCorner = KViewerWaterMarkPositionFromBottomRightCorner;
  1538 		    placeFromBottomRightCorner = KViewerWaterMarkPositionFromBottomRightCorner;
  1656 		    break;
  1539 		    break;
  1657 		}
  1540 		}
  1658 	return placeFromBottomRightCorner;
  1541 	return placeFromBottomRightCorner;
  1659 	}
  1542 	}
       
  1543 
  1660 // -----------------------------------------------------------------------------
  1544 // -----------------------------------------------------------------------------
  1661 // CFSEmailUiLayoutHandler::ComposerFieldBorderColor
  1545 // CFSEmailUiLayoutHandler::ComposerFieldBorderColor
  1662 // -----------------------------------------------------------------------------
  1546 // -----------------------------------------------------------------------------
  1663 TRgb CFSEmailUiLayoutHandler::ComposerFieldBorderColor() const
  1547 TRgb CFSEmailUiLayoutHandler::ComposerFieldBorderColor() const
  1664     {
  1548     {
  1671 TRgb CFSEmailUiLayoutHandler::ComposerFieldBackgroundColor() const
  1555 TRgb CFSEmailUiLayoutHandler::ComposerFieldBackgroundColor() const
  1672     {
  1556     {
  1673     FUNC_LOG;
  1557     FUNC_LOG;
  1674     return GetSkinColor( KAknsIIDFsOtherColors, EAknsCIFsOtherColorsCG12, KRgbWhite );
  1558     return GetSkinColor( KAknsIIDFsOtherColors, EAknsCIFsOtherColorsCG12, KRgbWhite );
  1675     }
  1559     }
       
  1560 
  1676 // -----------------------------------------------------------------------------
  1561 // -----------------------------------------------------------------------------
  1677 // CFSEmailUiLayoutHandler::ComposerHeaderFieldTextColor
  1562 // CFSEmailUiLayoutHandler::ComposerHeaderFieldTextColor
  1678 // -----------------------------------------------------------------------------
  1563 // -----------------------------------------------------------------------------
  1679 TRgb CFSEmailUiLayoutHandler::ComposerHeaderFieldTextColor() const
  1564 TRgb CFSEmailUiLayoutHandler::ComposerHeaderFieldTextColor() const
  1680         {
  1565         {
  1681     FUNC_LOG;
  1566     FUNC_LOG;
  1682     return GetSkinColor( KAknsIIDFsTextColors, EAknsCIFsTextColorsCG4, KRgbBlack );
  1567     return GetSkinColor( KAknsIIDFsTextColors, EAknsCIFsTextColorsCG4, KRgbBlack );
  1683         }
  1568         }
       
  1569 
  1684 // -----------------------------------------------------------------------------
  1570 // -----------------------------------------------------------------------------
  1685 // CFSEmailUiLayoutHandler::ComposerBodyFieldTextColor
  1571 // CFSEmailUiLayoutHandler::ComposerBodyFieldTextColor
  1686 // -----------------------------------------------------------------------------
  1572 // -----------------------------------------------------------------------------
  1687 TRgb CFSEmailUiLayoutHandler::ComposerBodyFieldTextColor() const
  1573 TRgb CFSEmailUiLayoutHandler::ComposerBodyFieldTextColor() const
  1688     {
  1574     {
  1689     FUNC_LOG;
  1575     FUNC_LOG;
  1690     return GetSkinColor( KAknsIIDFsTextColors, EAknsCIFsTextColorsCG3, KRgbBlack );
  1576     return GetSkinColor( KAknsIIDFsTextColors, EAknsCIFsTextColorsCG3, KRgbBlack );
  1691     }
  1577     }
       
  1578 
  1692 // -----------------------------------------------------------------------------
  1579 // -----------------------------------------------------------------------------
  1693 // CFSEmailUiLayoutHandler::ComposerDimmedTextColor
  1580 // CFSEmailUiLayoutHandler::ComposerDimmedTextColor
  1694 // -----------------------------------------------------------------------------
  1581 // -----------------------------------------------------------------------------
  1695 TRgb CFSEmailUiLayoutHandler::ComposerDimmedTextColor() const
  1582 TRgb CFSEmailUiLayoutHandler::ComposerDimmedTextColor() const
  1696     {
  1583     {
  1697     FUNC_LOG;
  1584     FUNC_LOG;
  1698     return GetSkinColor( KAknsIIDFsTextColors, EAknsCIFsTextColorsCG18, KRgbGray );
  1585     return GetSkinColor( KAknsIIDFsTextColors, EAknsCIFsTextColorsCG18, KRgbGray );
  1699     }
  1586     }
       
  1587 
  1700 // -----------------------------------------------------------------------------
  1588 // -----------------------------------------------------------------------------
  1701 // CFSEmailUiLayoutHandler::MaxPcsMatches
  1589 // CFSEmailUiLayoutHandler::MaxPcsMatches
  1702 // -----------------------------------------------------------------------------
  1590 // -----------------------------------------------------------------------------
  1703 TInt CFSEmailUiLayoutHandler::MaxPcsMatches() const
  1591 TInt CFSEmailUiLayoutHandler::MaxPcsMatches() const
  1704     {
  1592     {
  1705     FUNC_LOG;
  1593     FUNC_LOG;
  1706     return KMaxPcsMatches;
  1594     return KMaxPcsMatches;
  1707     }
  1595     }
       
  1596 
  1708 // -----------------------------------------------------------------------------
  1597 // -----------------------------------------------------------------------------
  1709 // CFSEmailUiLayoutHandler::PcsPopupHighlightColor
  1598 // CFSEmailUiLayoutHandler::PcsPopupHighlightColor
  1710 // -----------------------------------------------------------------------------
  1599 // -----------------------------------------------------------------------------
  1711 TRgb CFSEmailUiLayoutHandler::PcsPopupHighlightColor() const
  1600 TRgb CFSEmailUiLayoutHandler::PcsPopupHighlightColor() const
  1712     {
  1601     {
  1713     FUNC_LOG;
  1602     FUNC_LOG;
  1714     return KPcsPopupHighlightColor;
  1603     return KPcsPopupHighlightColor;
  1715     }
  1604     }
       
  1605 
  1716 // -----------------------------------------------------------------------------
  1606 // -----------------------------------------------------------------------------
  1717 // CFSEmailUiLayoutHandler::PcsPopupDimmedFontColor
  1607 // CFSEmailUiLayoutHandler::PcsPopupDimmedFontColor
  1718 // -----------------------------------------------------------------------------
  1608 // -----------------------------------------------------------------------------
  1719 TRgb CFSEmailUiLayoutHandler::PcsPopupDimmedFontColor() const
  1609 TRgb CFSEmailUiLayoutHandler::PcsPopupDimmedFontColor() const
  1720     {
  1610     {
  1721     FUNC_LOG;
  1611     FUNC_LOG;
  1722     return KPcsPopupDimmedFontColor;
  1612     return KPcsPopupDimmedFontColor;
  1723     }
  1613     }
       
  1614 
  1724 // -----------------------------------------------------------------------------
  1615 // -----------------------------------------------------------------------------
  1725 // CFSEmailUiLayoutHandler::ListTextureNodeExpandedSize
  1616 // CFSEmailUiLayoutHandler::ListTextureNodeExpandedSize
  1726 // -----------------------------------------------------------------------------
  1617 // -----------------------------------------------------------------------------
  1727 TInt CFSEmailUiLayoutHandler::ListTextureNodeExpandedSize() const
  1618 TInt CFSEmailUiLayoutHandler::ListTextureNodeExpandedSize() const
  1728     {
  1619     {
  1729     FUNC_LOG;
  1620     FUNC_LOG;
  1730     //<cmail>
       
  1731     TRect mainPaneRect;
  1621     TRect mainPaneRect;
  1732     TAknLayoutRect listItem;
  1622     TAknLayoutRect listItem;
  1733     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
  1623     AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
  1734     listItem.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( 0 ) );
  1624     listItem.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( 0 ) );
  1735     return listItem.Rect().Height();
  1625     return listItem.Rect().Height();
  1736     //return KListTextureNodeExpandedSize;
       
  1737     //</cmail>
       
  1738     }
  1626     }
  1739 
  1627 
  1740 // -----------------------------------------------------------------------------
  1628 // -----------------------------------------------------------------------------
  1741 // CFSEmailUiLayoutHandler::SearchLookingGlassIconSize
  1629 // CFSEmailUiLayoutHandler::SearchLookingGlassIconSize
  1742 // -----------------------------------------------------------------------------
  1630 // -----------------------------------------------------------------------------
  1763 // CFSEmailUiLayoutHandler::ListControlBarMailboxDefaultIconSize
  1651 // CFSEmailUiLayoutHandler::ListControlBarMailboxDefaultIconSize
  1764 // -----------------------------------------------------------------------------
  1652 // -----------------------------------------------------------------------------
  1765 TInt CFSEmailUiLayoutHandler::ListControlBarMailboxDefaultIconSize() const
  1653 TInt CFSEmailUiLayoutHandler::ListControlBarMailboxDefaultIconSize() const
  1766     {
  1654     {
  1767     FUNC_LOG;
  1655     FUNC_LOG;
  1768     // <cmail> Platform layout change
  1656     return GetControlBarMailboxIconRect().Size().iWidth;
  1769     //return KListControlBarMailboxDefaultIconSize;
  1657     }
  1770     return GetControlBarMailboxIconSize().iWidth;
  1658 
  1771     // </cmail> Platform layout change
       
  1772     }
       
  1773 // -----------------------------------------------------------------------------
  1659 // -----------------------------------------------------------------------------
  1774 // CFSEmailUiLayoutHandler::EMailListBarBgIconSize
  1660 // CFSEmailUiLayoutHandler::EMailListBarBgIconSize
  1775 // -----------------------------------------------------------------------------
  1661 // -----------------------------------------------------------------------------
  1776 TInt CFSEmailUiLayoutHandler::EMailListBarBgIconSize() const
  1662 TInt CFSEmailUiLayoutHandler::EMailListBarBgIconSize() const
  1777     {
  1663     {
  1778     FUNC_LOG;
  1664     FUNC_LOG;
  1779     // <cmail> Platform layout change
       
  1780     return GetControlBarRect().Size().iHeight;
  1665     return GetControlBarRect().Size().iHeight;
  1781     //return KEMailListBarBgIconSize;
  1666     }
  1782     // </cmail>
  1667 
  1783     }
       
  1784 // -----------------------------------------------------------------------------
  1668 // -----------------------------------------------------------------------------
  1785 // CFSEmailUiLayoutHandler::ListTextureMailboxDefaultIconSize
  1669 // CFSEmailUiLayoutHandler::ListTextureMailboxDefaultIconSize
  1786 // -----------------------------------------------------------------------------
  1670 // -----------------------------------------------------------------------------
  1787 TInt CFSEmailUiLayoutHandler::ListTextureMailboxDefaultIconSize() const
  1671 TInt CFSEmailUiLayoutHandler::ListTextureMailboxDefaultIconSize() const
  1788     {
  1672     {
  1789     FUNC_LOG;
  1673     FUNC_LOG;
  1790     return KListTextureMailboxDefaultIconSize;
  1674     return KListTextureMailboxDefaultIconSize;
  1791     }
  1675     }
       
  1676 
  1792 // -----------------------------------------------------------------------------
  1677 // -----------------------------------------------------------------------------
  1793 // CFSEmailUiLayoutHandler::EListTextureSelectorSize
  1678 // CFSEmailUiLayoutHandler::EListTextureSelectorSize
  1794 // -----------------------------------------------------------------------------
  1679 // -----------------------------------------------------------------------------
  1795 TInt CFSEmailUiLayoutHandler::EListTextureSelectorSize() const
  1680 TInt CFSEmailUiLayoutHandler::EListTextureSelectorSize() const
  1796     {
  1681     {
  1797     FUNC_LOG;
  1682     FUNC_LOG;
  1798     // <cmail> Platform layout change
       
  1799     return OneLineListItemHeight();
  1683     return OneLineListItemHeight();
  1800     //return KEListTextureSelectorSize;
  1684     }
  1801     // </cmail>
  1685 
  1802     }
       
  1803 // -----------------------------------------------------------------------------
  1686 // -----------------------------------------------------------------------------
  1804 // CFSEmailUiLayoutHandler::ListControlMenuIconSize
  1687 // CFSEmailUiLayoutHandler::ListControlMenuIconSize
  1805 // -----------------------------------------------------------------------------
  1688 // -----------------------------------------------------------------------------
  1806 TInt CFSEmailUiLayoutHandler::ListControlMenuIconSize() const
  1689 TInt CFSEmailUiLayoutHandler::ListControlMenuIconSize() const
  1807     {
  1690     {
  1808     FUNC_LOG;
  1691     FUNC_LOG;
  1809     // <cmail> Platform layout change
       
  1810     TRect mainPaneRect;
  1692     TRect mainPaneRect;
  1811     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  1693     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  1812     mainPaneRect.Move(-mainPaneRect.iTl);
  1694     mainPaneRect.Move(-mainPaneRect.iTl);
  1813     TAknLayoutRect controlBarRect;
  1695     TAknLayoutRect controlBarRect;
  1814     controlBarRect.LayoutRect(mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane(0));
  1696     controlBarRect.LayoutRect(mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane(0));
  1815     TAknLayoutRect iconRect;
  1697     TAknLayoutRect iconRect;
  1816     iconRect.LayoutRect(controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g1(0));
  1698     iconRect.LayoutRect(controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g1(0));
  1817     return iconRect.Rect().Height();
  1699     return iconRect.Rect().Height();
  1818     //return KListControlMenuIconSize;
  1700     }
  1819     // </cmail>
  1701 
  1820     }
       
  1821 // -----------------------------------------------------------------------------
  1702 // -----------------------------------------------------------------------------
  1822 // CFSEmailUiLayoutHandler::AttachmentIconSize
  1703 // CFSEmailUiLayoutHandler::AttachmentIconSize
  1823 // -----------------------------------------------------------------------------
  1704 // -----------------------------------------------------------------------------
  1824 // <cmail>
       
  1825 TSize CFSEmailUiLayoutHandler::AttachmentIconSize() const
  1705 TSize CFSEmailUiLayoutHandler::AttachmentIconSize() const
  1826     {
  1706     {
  1827     FUNC_LOG;
  1707     FUNC_LOG;
  1828     TAknLayoutRect rect;
  1708     TAknLayoutRect rect;
  1829     rect.LayoutRect( TRect(0,0,0,0),
  1709     rect.LayoutRect( TRect(0,0,0,0),
  1830                     AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( 0 ).LayoutLine() );
  1710                     AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( 0 ).LayoutLine() );
  1831     return rect.Rect().Size();
  1711     return rect.Rect().Size();
  1832     //return KAttachmentIconSize;
  1712     }
  1833 // </cmail>    
  1713 
  1834     }
       
  1835 // -----------------------------------------------------------------------------
  1714 // -----------------------------------------------------------------------------
  1836 // CFSEmailUiLayoutHandler::ViewerHighlightTextureSize
  1715 // CFSEmailUiLayoutHandler::ViewerHighlightTextureSize
  1837 // -----------------------------------------------------------------------------
  1716 // -----------------------------------------------------------------------------
  1838 TInt CFSEmailUiLayoutHandler::ViewerHighlightTextureSize() const
  1717 TInt CFSEmailUiLayoutHandler::ViewerHighlightTextureSize() const
  1839     {
  1718     {
  1840     FUNC_LOG;
  1719     FUNC_LOG;
  1841     return KViewerHighlightTextureSize;
  1720     return KViewerHighlightTextureSize;
  1842     }
  1721     }
       
  1722 
  1843 // -----------------------------------------------------------------------------
  1723 // -----------------------------------------------------------------------------
  1844 // CFSEmailUiLayoutHandler::ControlBarArrowTextureXSize
  1724 // CFSEmailUiLayoutHandler::ControlBarArrowTextureXSize
  1845 // -----------------------------------------------------------------------------
  1725 // -----------------------------------------------------------------------------
  1846 TInt CFSEmailUiLayoutHandler::ControlBarArrowTextureXSize() const
  1726 TInt CFSEmailUiLayoutHandler::ControlBarArrowTextureXSize() const
  1847     {
  1727     {
  1848     FUNC_LOG;
  1728     FUNC_LOG;
  1849     return KControlBarArrowTextureXSize;
  1729     return KControlBarArrowTextureXSize;
  1850     }
  1730     }
       
  1731 
  1851 // -----------------------------------------------------------------------------
  1732 // -----------------------------------------------------------------------------
  1852 // CFSEmailUiLayoutHandler::ControlBarArrowTextureYSize
  1733 // CFSEmailUiLayoutHandler::ControlBarArrowTextureYSize
  1853 // -----------------------------------------------------------------------------
  1734 // -----------------------------------------------------------------------------
  1854 TInt CFSEmailUiLayoutHandler::ControlBarArrowTextureYSize() const
  1735 TInt CFSEmailUiLayoutHandler::ControlBarArrowTextureYSize() const
  1855     {
  1736     {
  1856     FUNC_LOG;
  1737     FUNC_LOG;
  1857     return KControlBarArrowTextureYSize;
  1738     return KControlBarArrowTextureYSize;
  1858     }
  1739     }
       
  1740 
  1859 // -----------------------------------------------------------------------------
  1741 // -----------------------------------------------------------------------------
  1860 // CFSEmailUiLayoutHandler::GetSkinColor
  1742 // CFSEmailUiLayoutHandler::GetSkinColor
  1861 // -----------------------------------------------------------------------------
  1743 // -----------------------------------------------------------------------------
  1862 TRgb CFSEmailUiLayoutHandler::GetSkinColor( const TAknsItemID& aId, 
  1744 TRgb CFSEmailUiLayoutHandler::GetSkinColor( const TAknsItemID& aId, 
  1863         TInt aIndex, const TRgb& aFallbackColor ) const
  1745         TInt aIndex, const TRgb& aFallbackColor ) const
  1876         color = aFallbackColor;
  1758         color = aFallbackColor;
  1877         }
  1759         }
  1878     
  1760     
  1879     return color;    
  1761     return color;    
  1880     }
  1762     }
  1881 
       
  1882 // <cmail> Use layout data instead of hardcoded values
       
  1883 
  1763 
  1884 // -----------------------------------------------------------------------------
  1764 // -----------------------------------------------------------------------------
  1885 // CFSEmailUiLayoutHandler::GetControlBarMailboxIconRect
  1765 // CFSEmailUiLayoutHandler::GetControlBarMailboxIconRect
  1886 // -----------------------------------------------------------------------------
  1766 // -----------------------------------------------------------------------------
  1887 TRect CFSEmailUiLayoutHandler::GetControlBarMailboxIconRect() const
  1767 TRect CFSEmailUiLayoutHandler::GetControlBarMailboxIconRect() const
  1899         }
  1779         }
  1900     else
  1780     else
  1901         {
  1781         {
  1902         iconRect.LayoutRect(controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g1(0));
  1782         iconRect.LayoutRect(controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g1(0));
  1903         }
  1783         }
       
  1784     
  1904     return iconRect.Rect();
  1785     return iconRect.Rect();
  1905     }
  1786     }
  1906 
  1787 
  1907 // -----------------------------------------------------------------------------
  1788 // -----------------------------------------------------------------------------
  1908 // CFSEmailUiLayoutHandler::GetControlBarMailboxIconPos
  1789 TRect CFSEmailUiLayoutHandler::GetControlBarNewEmailButtonRect() const
  1909 // -----------------------------------------------------------------------------
  1790     {
  1910 TPoint CFSEmailUiLayoutHandler::GetControlBarMailboxIconPos() const
  1791     FUNC_LOG;
  1911     {
  1792     TAknLayoutRect iconRect;
  1912     FUNC_LOG;
  1793     TRect cbr = GetControlBarRect();
  1913     return GetControlBarMailboxIconRect().iTl;
  1794     if( Layout_Meta_Data::IsLandscapeOrientation() )
  1914     }
  1795         {
  1915 
  1796         iconRect.LayoutRect( cbr, 
  1916 // -----------------------------------------------------------------------------
  1797                      AknLayoutScalable_Apps::cmail_ddmenu_btn02_pane(3) );
  1917 // CFSEmailUiLayoutHandler::GetControlBarMailboxIconSize
  1798         }
  1918 // -----------------------------------------------------------------------------
  1799     else
  1919 TSize CFSEmailUiLayoutHandler::GetControlBarMailboxIconSize() const
  1800         {
  1920     {
  1801         if ( AknLayoutUtils::LayoutMirrored() )
  1921     FUNC_LOG;
  1802             {
  1922     return GetControlBarMailboxIconRect().Size();
  1803             iconRect.LayoutRect( cbr, 
       
  1804                              AknLayoutScalable_Apps::cmail_ddmenu_btn03_pane(2) );
       
  1805             }
       
  1806         else
       
  1807             {
       
  1808             iconRect.LayoutRect( cbr, 
       
  1809                              AknLayoutScalable_Apps::cmail_ddmenu_btn01_pane(2) );
       
  1810             }
       
  1811         }
       
  1812     
       
  1813     TRect rect = iconRect.Rect();
       
  1814     rect.Move( -cbr.iTl );
       
  1815     return rect;
  1923     }
  1816     }
  1924 
  1817 
  1925 // -----------------------------------------------------------------------------
  1818 // -----------------------------------------------------------------------------
  1926 // CFSEmailUiLayoutHandler::GetControlBarFolderListButtonRect
  1819 // CFSEmailUiLayoutHandler::GetControlBarFolderListButtonRect
  1927 // -----------------------------------------------------------------------------
  1820 // -----------------------------------------------------------------------------
  1928 TRect CFSEmailUiLayoutHandler::GetControlBarFolderListButtonRect() const
  1821 TRect CFSEmailUiLayoutHandler::GetControlBarFolderListButtonRect() const
  1929     {
  1822     {
  1930     FUNC_LOG;
  1823     FUNC_LOG;
  1931     TRect mainPaneRect;
  1824 
  1932     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
       
  1933     mainPaneRect.Move(-mainPaneRect.iTl);
       
  1934     TAknLayoutRect controlBarRect;
       
  1935     controlBarRect.LayoutRect(mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane(0));
       
  1936     TAknLayoutRect folderListButtonRect;
  1825     TAknLayoutRect folderListButtonRect;
  1937     if ( AknLayoutUtils::LayoutMirrored() )
  1826     TRect cbr = GetControlBarRect();
  1938         {
  1827     if( Layout_Meta_Data::IsLandscapeOrientation() )
  1939         folderListButtonRect.LayoutRect(controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_button_pane_cp01(0));        
  1828         {
       
  1829         folderListButtonRect.LayoutRect( cbr, 
       
  1830                          AknLayoutScalable_Apps::cmail_ddmenu_btn02_pane_cp1(3) );
  1940         }
  1831         }
  1941     else
  1832     else
  1942         {
  1833         {
  1943         folderListButtonRect.LayoutRect(controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_ddmenu_pane(0));
  1834         folderListButtonRect.LayoutRect( cbr, 
  1944         }
  1835                              AknLayoutScalable_Apps::cmail_ddmenu_btn02_pane(2) );
  1945     return folderListButtonRect.Rect();
  1836         }
  1946     }
  1837     
  1947 
  1838     TRect rect = folderListButtonRect.Rect();
  1948 // -----------------------------------------------------------------------------
  1839     rect.Move( -cbr.iTl );
  1949 // CFSEmailUiLayoutHandler::GetControlBarFolderListButtonPos
  1840     return rect;
  1950 // -----------------------------------------------------------------------------
       
  1951 TPoint CFSEmailUiLayoutHandler::GetControlBarFolderListButtonPos() const
       
  1952     {
       
  1953     FUNC_LOG;
       
  1954     return GetControlBarFolderListButtonRect().iTl;
       
  1955     }
       
  1956 
       
  1957 // -----------------------------------------------------------------------------
       
  1958 // CFSEmailUiLayoutHandler::GetControlBarFolderListButtonSize
       
  1959 // -----------------------------------------------------------------------------
       
  1960 TSize CFSEmailUiLayoutHandler::GetControlBarFolderListButtonSize() const
       
  1961     {
       
  1962     FUNC_LOG;
       
  1963     return GetControlBarFolderListButtonRect().Size();
       
  1964     }
  1841     }
  1965 
  1842 
  1966 // -----------------------------------------------------------------------------
  1843 // -----------------------------------------------------------------------------
  1967 // CFSEmailUiLayoutHandler::GetControlBarSortButtonRect
  1844 // CFSEmailUiLayoutHandler::GetControlBarSortButtonRect
  1968 // -----------------------------------------------------------------------------
  1845 // -----------------------------------------------------------------------------
  1969 TRect CFSEmailUiLayoutHandler::GetControlBarSortButtonRect() const
  1846 TRect CFSEmailUiLayoutHandler::GetControlBarSortButtonRect() const
  1970     {
  1847     {
  1971     FUNC_LOG;
  1848     FUNC_LOG;
  1972     TRect mainPaneRect;
  1849 
  1973     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
       
  1974     mainPaneRect.Move(-mainPaneRect.iTl);
       
  1975     TAknLayoutRect controlBarRect;
       
  1976     controlBarRect.LayoutRect(mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane(0));
       
  1977     TAknLayoutRect sortButtonRect;
  1850     TAknLayoutRect sortButtonRect;
  1978     if ( AknLayoutUtils::LayoutMirrored() )
  1851     TRect cbr = GetControlBarRect();
  1979         {
  1852     if( Layout_Meta_Data::IsLandscapeOrientation() )
  1980         sortButtonRect.LayoutRect(controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_ddmenu_pane(0));        
  1853         {
       
  1854         sortButtonRect.LayoutRect( cbr, 
       
  1855                      AknLayoutScalable_Apps::cmail_ddmenu_btn02_pane_cp2(3) );
  1981         }
  1856         }
  1982     else
  1857     else
  1983         {
  1858         {
  1984         sortButtonRect.LayoutRect(controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_button_pane_cp01(0));
  1859         if ( AknLayoutUtils::LayoutMirrored() )
  1985         }    
  1860             {
  1986     return sortButtonRect.Rect();
  1861             sortButtonRect.LayoutRect( cbr, 
  1987     }
  1862                              AknLayoutScalable_Apps::cmail_ddmenu_btn01_pane(2) );
  1988 
  1863             }
  1989 // -----------------------------------------------------------------------------
  1864         else
  1990 // CFSEmailUiLayoutHandler::GetControlBarSortButtonPos
  1865             {
  1991 // -----------------------------------------------------------------------------
  1866             sortButtonRect.LayoutRect( cbr, 
  1992 TPoint CFSEmailUiLayoutHandler::GetControlBarSortButtonPos() const
  1867                              AknLayoutScalable_Apps::cmail_ddmenu_btn03_pane(2) );
  1993     {
  1868             }
  1994     FUNC_LOG;
  1869         }
  1995     return GetControlBarSortButtonRect().iTl;
  1870     
  1996     }
  1871     TRect r = sortButtonRect.Rect();
  1997 
  1872     r.Move( -cbr.iTl );
  1998 // -----------------------------------------------------------------------------
  1873     return r;
  1999 // CFSEmailUiLayoutHandler::GetControlBarSortButtonSize
       
  2000 // -----------------------------------------------------------------------------
       
  2001 TSize CFSEmailUiLayoutHandler::GetControlBarSortButtonSize() const
       
  2002     {
       
  2003     FUNC_LOG;
       
  2004     return GetControlBarSortButtonRect().Size();
       
  2005     }
  1874     }
  2006 
  1875 
  2007 // -----------------------------------------------------------------------------
  1876 // -----------------------------------------------------------------------------
  2008 // CFSEmailUiLayoutHandler::GetControlBarConnectionIconRect
  1877 // CFSEmailUiLayoutHandler::GetControlBarConnectionIconRect
  2009 // -----------------------------------------------------------------------------
  1878 // -----------------------------------------------------------------------------
  2014     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  1883     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  2015     mainPaneRect.Move(-mainPaneRect.iTl);
  1884     mainPaneRect.Move(-mainPaneRect.iTl);
  2016     TAknLayoutRect controlBarRect;
  1885     TAknLayoutRect controlBarRect;
  2017     controlBarRect.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane(0 ) );
  1886     controlBarRect.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane(0 ) );
  2018     TAknLayoutRect iconRect;
  1887     TAknLayoutRect iconRect;
  2019     // <cmail>
  1888     
  2020     if ( AknLayoutUtils::LayoutMirrored() )
  1889     if ( AknLayoutUtils::LayoutMirrored() )
  2021         {        
  1890         {        
  2022         iconRect.LayoutRect( controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g1( 0 ) );
  1891         iconRect.LayoutRect( controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g1( 0 ) );
  2023         }
  1892         }
  2024     else
  1893     else
  2025         {
  1894         {
  2026         iconRect.LayoutRect( controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g2( 0 ) );
  1895         iconRect.LayoutRect( controlBarRect.Rect(), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g2( 0 ) );
  2027         }
  1896         }
  2028     // </cmail>
  1897     
  2029     return iconRect.Rect();
  1898     return iconRect.Rect();
  2030     }
  1899     }
  2031 
  1900 
  2032 // -----------------------------------------------------------------------------
  1901 // -----------------------------------------------------------------------------
  2033 // CFSEmailUiLayoutHandler::GetControlBarConnectionIconPos
       
  2034 // -----------------------------------------------------------------------------
       
  2035 TPoint CFSEmailUiLayoutHandler::GetControlBarConnectionIconPos() const
       
  2036     {
       
  2037     FUNC_LOG;
       
  2038     return GetControlBarConnectionIconRect().iTl;
       
  2039     }
       
  2040 
       
  2041 // -----------------------------------------------------------------------------
       
  2042 // CFSEmailUiLayoutHandler::GetControlBarConnectionIconSize
       
  2043 // -----------------------------------------------------------------------------
       
  2044 TSize CFSEmailUiLayoutHandler::GetControlBarConnectionIconSize() const
       
  2045     {
       
  2046     FUNC_LOG;
       
  2047     return GetControlBarConnectionIconRect().Size();
       
  2048     }
       
  2049 
       
  2050 // -----------------------------------------------------------------------------
       
  2051 // CFSEmailUiLayoutHandler::GetControlBarRect
  1902 // CFSEmailUiLayoutHandler::GetControlBarRect
  2052 // -----------------------------------------------------------------------------
  1903 // -----------------------------------------------------------------------------
  2053 TRect CFSEmailUiLayoutHandler::GetControlBarRect() const
  1904 TRect CFSEmailUiLayoutHandler::GetControlBarRect() const
  2054     {
  1905     {
  2055     FUNC_LOG;
  1906     FUNC_LOG;
  2056     //TInt var = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0; //<cmail>
  1907     TInt var = Layout_Meta_Data::IsLandscapeOrientation() ? 3 : 2;
       
  1908     
  2057     TRect mainPaneRect;
  1909     TRect mainPaneRect;
  2058     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  1910     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  2059     mainPaneRect.Move(-mainPaneRect.iTl);
  1911     mainPaneRect.Move(-mainPaneRect.iTl);
       
  1912     
       
  1913     TRect emailRect = mainPaneRect;
       
  1914     TAknLayoutRect emailPaneRect;
       
  1915     emailPaneRect.LayoutRect(mainPaneRect, 
       
  1916                     AknLayoutScalable_Apps::main_sp_fs_email_pane());
       
  1917     emailRect = emailPaneRect.Rect();
       
  1918    
  2060     TAknLayoutRect controlBarRect;
  1919     TAknLayoutRect controlBarRect;
  2061     controlBarRect.LayoutRect(mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane(0)); //<cmail>
  1920     controlBarRect.LayoutRect( emailRect, 
  2062     return controlBarRect.Rect();
  1921                     AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane(var));
  2063     }
  1922     TRect rect = controlBarRect.Rect();
  2064 
  1923     
  2065 // -----------------------------------------------------------------------------
  1924     return rect;
  2066 // CFSEmailUiLayoutHandler::GetControlBarRect
  1925     }
  2067 // -----------------------------------------------------------------------------
  1926 
  2068 TRect CFSEmailUiLayoutHandler::GetListRect() const
  1927 // -----------------------------------------------------------------------------
  2069     {
  1928 // CFSEmailUiLayoutHandler::GetListRect
  2070     FUNC_LOG;
  1929 // -----------------------------------------------------------------------------
       
  1930 TRect CFSEmailUiLayoutHandler::GetListRect( TBool aControlsOnTop ) const
       
  1931     {
       
  1932     FUNC_LOG;
       
  1933     TBool landscape = Layout_Meta_Data::IsLandscapeOrientation();
       
  1934     TInt var = Layout_Meta_Data::IsLandscapeOrientation() ? 3 : 2;
       
  1935     
  2071     TRect mainPaneRect;
  1936     TRect mainPaneRect;
  2072     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  1937     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  2073     mainPaneRect.Move(-mainPaneRect.iTl);
  1938     mainPaneRect.Move(-mainPaneRect.iTl);
       
  1939     
  2074     TAknLayoutRect listRect;
  1940     TAknLayoutRect listRect;
  2075     listRect.LayoutRect( mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_listscroll_pane_te_cp01( 0 ) );
  1941     listRect.LayoutRect( mainPaneRect, 
  2076     return listRect.Rect();
  1942                         AknLayoutScalable_Apps::main_sp_fs_listscroll_pane_te_cp01( var ));
       
  1943     TRect rect = listRect.Rect();
       
  1944 
       
  1945     // if control bar is required, reserve space on top of the listbox  
       
  1946     if( aControlsOnTop && landscape )
       
  1947         {
       
  1948         TAknLayoutRect listRect2;
       
  1949         listRect2.LayoutRect( mainPaneRect, 
       
  1950                         AknLayoutScalable_Apps::main_sp_fs_listscroll_pane_te_cp01( 0 ));
       
  1951         rect.Intersection(listRect2.Rect());
       
  1952         }
       
  1953     
       
  1954     return rect;
  2077     }
  1955     }
  2078 
  1956 
  2079 // -----------------------------------------------------------------------------
  1957 // -----------------------------------------------------------------------------
  2080 // CFSEmailUiLayoutHandler::GetSearchListHeaderTextLayout
  1958 // CFSEmailUiLayoutHandler::GetSearchListHeaderTextLayout
  2081 // -----------------------------------------------------------------------------
  1959 // -----------------------------------------------------------------------------
  2082 TAknLayoutText CFSEmailUiLayoutHandler::GetSearchListHeaderTextLayout() const
  1960 TAknLayoutText CFSEmailUiLayoutHandler::GetSearchListHeaderTextLayout() const
  2083     {
  1961     {
  2084     FUNC_LOG;
  1962     FUNC_LOG;
  2085     //TInt var = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
       
  2086     TRect mainPaneRect;
  1963     TRect mainPaneRect;
  2087     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  1964     AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
  2088     mainPaneRect.Move(-mainPaneRect.iTl);
  1965     mainPaneRect.Move(-mainPaneRect.iTl);
  2089     TAknLayoutRect headerRect;
  1966     TAknLayoutRect headerRect;
  2090     headerRect.LayoutRect(mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane());
  1967     headerRect.LayoutRect(mainPaneRect, AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane());
  2157     layoutRect.LayoutRect( layoutRect.Rect(), AknLayoutScalable_Apps::listscroll_cmail_pane() );
  2034     layoutRect.LayoutRect( layoutRect.Rect(), AknLayoutScalable_Apps::listscroll_cmail_pane() );
  2158     layoutRect.LayoutRect( layoutRect.Rect(), AknLayoutScalable_Apps::list_cmail_pane() );
  2035     layoutRect.LayoutRect( layoutRect.Rect(), AknLayoutScalable_Apps::list_cmail_pane() );
  2159     return layoutRect.Rect();
  2036     return layoutRect.Rect();
  2160     }
  2037     }
  2161 
  2038 
  2162 // </cmail> Platform layout change
       
  2163 
       
  2164 // <cmail> new methods
       
  2165 
       
  2166 // -----------------------------------------------------------------------------
  2039 // -----------------------------------------------------------------------------
  2167 // CFSEmailUiLayoutHandler::TitleCaptionPadding
  2040 // CFSEmailUiLayoutHandler::TitleCaptionPadding
  2168 // 
  2041 // 
  2169 // Returns padding value for title caption visual
  2042 // Returns padding value for title caption visual
  2170 // -----------------------------------------------------------------------------
  2043 // -----------------------------------------------------------------------------
  2242     const TRect menuListPaneRect( menuListPane.Rect() );
  2115     const TRect menuListPaneRect( menuListPane.Rect() );
  2243            
  2116            
  2244     return Abs( menuListPaneRect.iTl.iY - menuPaneRect.iTl.iY );
  2117     return Abs( menuListPaneRect.iTl.iY - menuPaneRect.iTl.iY );
  2245     }
  2118     }
  2246 
  2119 
  2247 // </cmail> 
       
  2248 
       
  2249 // End of file
  2120 // End of file
  2250 
  2121