emailuis/emailui/src/FreestyleEmailUiSearchListVisualiser.cpp
branchRCL_3
changeset 12 4ce476e64c59
parent 11 0396474f30f5
child 13 8592a65ad3fb
equal deleted inserted replaced
11:0396474f30f5 12:4ce476e64c59
    82 #include "FreestyleEmailUiSearchListControl.h"
    82 #include "FreestyleEmailUiSearchListControl.h"
    83 #include "FreestyleEmailUiFileSystemInfo.h"
    83 #include "FreestyleEmailUiFileSystemInfo.h"
    84 #include "FreestyleEmailUiAppui.h"
    84 #include "FreestyleEmailUiAppui.h"
    85 #include "FreestyleEmailUi.hrh"
    85 #include "FreestyleEmailUi.hrh"
    86 #include "FreestyleEmailUiTextureManager.h"
    86 #include "FreestyleEmailUiTextureManager.h"
    87 #include "FreestyleEmailUiMailViewerVisualiser.h"
       
    88 #include "FreestyleEmailUiUtilities.h"
    87 #include "FreestyleEmailUiUtilities.h"
    89 #include "FreestyleEmailUiLiterals.h"
    88 #include "FreestyleEmailUiLiterals.h"
    90 #include "FreestyleEmailUiShortcutBinding.h"
    89 #include "FreestyleEmailUiShortcutBinding.h"
    91 #include "FreestyleEmailUiMsgDetailsVisualiser.h"
    90 #include "FreestyleEmailUiMsgDetailsVisualiser.h"
    92 #include "freestyleemailcenrephandler.h"
    91 #include "freestyleemailcenrephandler.h"
    95 
    94 
    96 // CONST VALUES
    95 // CONST VALUES
    97 static const TInt KMaxLengthOfSearchString = 255;
    96 static const TInt KMaxLengthOfSearchString = 255;
    98 //<cmail> s60 platform layouts
    97 //<cmail> s60 platform layouts
    99 //static const TInt KSearchIconWidth = 30;
    98 //static const TInt KSearchIconWidth = 30;
   100 const TReal KFSHeaderTextBackgroundOpacity = 0.3f;
    99 //const TReal KFSHeaderTextBackgroundOpacity = 0.3f;
   101 //</cmail>
   100 //</cmail>
   102 static const TInt KItemExpansionDelay = 400;
   101 static const TInt KItemExpansionDelay = 400;
   103 static const TInt KListScrollingDelay = 200;
   102 static const TInt KListScrollingDelay = 200;
   104 static const TInt KMaxPreviewPaneLength = 60;
   103 static const TInt KMaxPreviewPaneLength = 60;
   105 
   104 
   152     iSearchListControl = CFreestyleEmailUiSearchListControl::NewL( *iEnv, this );
   151     iSearchListControl = CFreestyleEmailUiSearchListControl::NewL( *iEnv, this );
   153     iScreenAnchorLayout = CAlfAnchorLayout::AddNewL( *iSearchListControl );
   152     iScreenAnchorLayout = CAlfAnchorLayout::AddNewL( *iSearchListControl );
   154     iScreenAnchorLayout->SetFlags(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
   153     iScreenAnchorLayout->SetFlags(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
   155     SetSearchListLayoutAnchors();
   154     SetSearchListLayoutAnchors();
   156 
   155 
   157     // Create top bar layout
   156 
   158     iSearchTopBarLayout = CAlfDeckLayout::AddNewL( *iSearchListControl, iScreenAnchorLayout );
       
   159     iBarBgVisual = CAlfImageVisual::AddNewL( *iSearchListControl, iSearchTopBarLayout );
       
   160         /*<cmail> paltform layout changes to cmail
   157         /*<cmail> paltform layout changes to cmail
   161     TAlfTimedValue barBgTextureOpacity;
   158     TAlfTimedValue barBgTextureOpacity;
   162     barBgTextureOpacity.SetValueNow( 1 );
   159     barBgTextureOpacity.SetValueNow( 1 );
   163     iBarBgVisual->SetOpacity( barBgTextureOpacity );
   160     iBarBgVisual->SetOpacity( barBgTextureOpacity );
   164     CAlfTexture* barBgTexture = &iAppUi.FsTextureManager()->TextureByIndex( EMailListBarBgIcon );
   161     CAlfTexture* barBgTexture = &iAppUi.FsTextureManager()->TextureByIndex( EMailListBarBgIcon );
   505 				{
   502 				{
   506 				// Highlighted mail is mail msg
   503 				// Highlighted mail is mail msg
   507 				aMenuPane->SetItemDimmed(EFsEmailUiCmdMailActions, EFalse);
   504 				aMenuPane->SetItemDimmed(EFsEmailUiCmdMailActions, EFalse);
   508 				aMenuPane->SetItemDimmed(EFsEmailUiCmdCalActions, ETrue);
   505 				aMenuPane->SetItemDimmed(EFsEmailUiCmdCalActions, ETrue);
   509 				}
   506 				}
   510 			aMenuPane->SetItemDimmed(EFsEmailUiCmdOpen, EFalse);
   507 
       
   508 			// showing of mail-related options is dependent on focus
       
   509 			// important for touch-only devices
       
   510 			if ( IsFocusShown() )
       
   511 				{
       
   512 				aMenuPane->SetItemDimmed(EFsEmailUiCmdOpen, EFalse);
       
   513 				}
       
   514 			else
       
   515 				{
       
   516 				aMenuPane->SetItemDimmed(EFsEmailUiCmdMore, ETrue);
       
   517 				aMenuPane->SetItemDimmed(EFsEmailUiCmdMailActions, ETrue);
       
   518 				aMenuPane->SetItemDimmed(EFsEmailUiCmdCalActions, ETrue);
       
   519 				aMenuPane->SetItemDimmed(EFsEmailUiCmdOpen, ETrue);
       
   520 				}
       
   521 
       
   522 			// remove message reader support because of problems with reading HTML mails
       
   523 			aMenuPane->SetItemDimmed(EFsEmailUiCmdReadEmail, ETrue);
   511 			}
   524 			}
   512 		}
   525 		}
   513 	else
   526 	else
   514 		{
   527 		{
   515 		if ( aResourceId == R_FSEMAILUI_SEARCHLIST_MENUPANE )
   528 		if ( aResourceId == R_FSEMAILUI_SEARCHLIST_MENUPANE )
  1112          ( aCommand == KErrCancel ||
  1125          ( aCommand == KErrCancel ||
  1113            aCommand == EFsEmailUiCmdActionsDelete ||
  1126            aCommand == EFsEmailUiCmdActionsDelete ||
  1114            aCommand == EFsEmailUiCmdMarkAsRead ||
  1127            aCommand == EFsEmailUiCmdMarkAsRead ||
  1115            aCommand == EFsEmailUiCmdMarkAsUnread ||
  1128            aCommand == EFsEmailUiCmdMarkAsUnread ||
  1116            aCommand == EFsEmailUiCmdActionsMove ||
  1129            aCommand == EFsEmailUiCmdActionsMove ||
  1117            aCommand == EFsEmailUiCmdMarkUnmarkToggle ) )
  1130            aCommand == EFsEmailUiCmdMarkingModeFromPopUp ) )
  1118         {
  1131         {
  1119         // We end up here if the user selects an option from the pop up menu
  1132         // We end up here if the user selects an option from the pop up menu
  1120         // or exits the menu by tapping outside of it's area.
  1133         // or exits the menu by tapping outside of it's area.
  1121         // Remove the focus from a list item if an item is focused.
  1134         // Remove the focus from a list item if an item is focused.
  1122         iStylusPopUpMenuVisible = EFalse;
  1135         iStylusPopUpMenuVisible = EFalse;
  1321  	}
  1334  	}
  1322 
  1335 
  1323 void CFSEmailUiSearchListVisualiser::SetSearchListLayoutAnchors()
  1336 void CFSEmailUiSearchListVisualiser::SetSearchListLayoutAnchors()
  1324 	{
  1337 	{
  1325     FUNC_LOG;
  1338     FUNC_LOG;
  1326 	// Set anchors so that list leaves space for control bar
  1339 	// Set anchors
  1327 
  1340 
  1328 	// The anchor layout mirrors itself automatically when necessary.
  1341 	// The anchor layout mirrors itself automatically when necessary.
  1329 	// There's no need to mirror anything manually here.
  1342 	// There's no need to mirror anything manually here.
  1330 
  1343 
  1331 	// BAR BACGROUND IMAGE
  1344 	// TEXT
  1332     TRect contBarRect = iAppUi.LayoutHandler()->GetControlBarRect();
  1345     TRect textRect =  iAppUi.LayoutHandler()->GetSearchListHeaderTextLayout().TextRect();
  1333     TPoint& tl( contBarRect.iTl );
  1346     TPoint tl = textRect.iTl;
  1334     iScreenAnchorLayout->SetAnchor(EAlfAnchorTopLeft, 0,
  1347     iScreenAnchorLayout->SetAnchor(EAlfAnchorTopLeft, 0,
  1335         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
  1348         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
  1336         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
  1349         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
  1337         TAlfTimedPoint( tl.iX, tl.iY ));
  1350         TAlfTimedPoint( tl.iX, tl.iY ));
  1338     TPoint& br( contBarRect.iBr );
  1351     TPoint br = textRect.iBr;
  1339     iScreenAnchorLayout->SetAnchor(EAlfAnchorBottomRight, 0,
  1352     iScreenAnchorLayout->SetAnchor(EAlfAnchorBottomRight, 0,
  1340         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
  1353         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
  1341         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
  1354         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
  1342         TAlfTimedPoint( br.iX, br.iY ));
  1355         TAlfTimedPoint( br.iX, br.iY ));
  1343 
  1356 
  1344 	// TEXT
  1357     TRect listRect = iAppUi.LayoutHandler()->GetListRect( ETrue );
  1345     TRect textRect =  iAppUi.LayoutHandler()->GetSearchListHeaderTextLayout().TextRect();
       
  1346     tl = textRect.iTl;
       
  1347     iScreenAnchorLayout->SetAnchor(EAlfAnchorTopLeft, 1,
  1358     iScreenAnchorLayout->SetAnchor(EAlfAnchorTopLeft, 1,
  1348         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
  1359         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
  1349         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
  1360         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
  1350         TAlfTimedPoint( tl.iX, tl.iY ));
  1361         TAlfTimedPoint(listRect.iTl.iX, listRect.iTl.iY));
  1351     br = textRect.iBr;
       
  1352     iScreenAnchorLayout->SetAnchor(EAlfAnchorBottomRight, 1,
  1362     iScreenAnchorLayout->SetAnchor(EAlfAnchorBottomRight, 1,
  1353         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
       
  1354         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
       
  1355         TAlfTimedPoint( br.iX, br.iY ));
       
  1356 
       
  1357     TRect listRect = iAppUi.LayoutHandler()->GetListRect( ETrue );
       
  1358     iScreenAnchorLayout->SetAnchor(EAlfAnchorTopLeft, 2,
       
  1359         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
       
  1360         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
       
  1361         TAlfTimedPoint(listRect.iTl.iX, listRect.iTl.iY));
       
  1362     iScreenAnchorLayout->SetAnchor(EAlfAnchorBottomRight, 2,
       
  1363         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
  1363         EAlfAnchorOriginLeft, EAlfAnchorOriginTop,
  1364         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
  1364         EAlfAnchorMetricAbsolute, EAlfAnchorMetricAbsolute,
  1365         TAlfTimedPoint(listRect.iBr.iX, listRect.iBr.iY));
  1365         TAlfTimedPoint(listRect.iBr.iX, listRect.iBr.iY));
  1366 	}
  1366 	}
  1367 
  1367 
  2562 	iBarTextVisual->SetTextStyle( iAppUi.LayoutHandler()->
  2562 	iBarTextVisual->SetTextStyle( iAppUi.LayoutHandler()->
  2563 	        FSTextStyleFromLayoutL( AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_t1( 0 ) ).Id() );
  2563 	        FSTextStyleFromLayoutL( AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_t1( 0 ) ).Id() );
  2564 	iBarTextVisual->SetColor( iAppUi.LayoutHandler()->
  2564 	iBarTextVisual->SetColor( iAppUi.LayoutHandler()->
  2565 							ListNormalStateTextSkinColor() );
  2565 							ListNormalStateTextSkinColor() );
  2566 
  2566 
  2567     if( iBarBgVisual->Brushes() )
       
  2568         {
       
  2569         iBarBgVisual->Brushes()->Reset();
       
  2570         }
       
  2571     iBarBgVisual->EnableBrushesL();
       
  2572     CAlfBrush* selectorBrush = iAppUi.FsTextureManager()->
       
  2573                    NewCtrlBarSelectorBrushLC();
       
  2574     selectorBrush->SetOpacity( KFSHeaderTextBackgroundOpacity );
       
  2575     iBarBgVisual->Brushes()->AppendL( selectorBrush, EAlfHasOwnership );
       
  2576     CleanupStack::Pop( selectorBrush );
       
  2577 	}
  2567 	}
  2578 //</cmail>
  2568 //</cmail>
  2579 
  2569 
  2580 
  2570 
  2581 
  2571