emailuis/emailui/src/FreestyleEmailUiMailListControl.cpp
changeset 0 8466d47a6819
equal deleted inserted replaced
-1:000000000000 0:8466d47a6819
       
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Implements control for the application.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #include "emailtrace.h"
       
    21 #include "FreestyleEmailUiMailListControl.h"
       
    22 #include "FreestyleEmailUiMailListVisualiser.h"
       
    23 
       
    24 // <cmail> Needed for pointer events. "As a touch device user I can focus an item in inbox list view."
       
    25 #include <alf/alfevent.h>
       
    26 // </cmail>
       
    27 
       
    28 
       
    29 
       
    30 // ---------------------------------------------------------------------------
       
    31 // Two-phased constructor.
       
    32 // ---------------------------------------------------------------------------
       
    33 //
       
    34 CFreestyleEmailUiMailListControl* CFreestyleEmailUiMailListControl::NewL(CAlfEnv& aEnv, CFSEmailUiMailListVisualiser* aVisualiser)
       
    35     {
       
    36     FUNC_LOG;
       
    37     CFreestyleEmailUiMailListControl* self = CFreestyleEmailUiMailListControl::NewLC(aEnv, aVisualiser);
       
    38     CleanupStack::Pop(self);
       
    39     return self;
       
    40     }
       
    41 
       
    42 // ---------------------------------------------------------------------------
       
    43 // Two-phased constructor.
       
    44 // ---------------------------------------------------------------------------
       
    45 //
       
    46 CFreestyleEmailUiMailListControl* CFreestyleEmailUiMailListControl::NewLC(CAlfEnv& aEnv, CFSEmailUiMailListVisualiser* aVisualiser)
       
    47     {
       
    48     FUNC_LOG;
       
    49     CFreestyleEmailUiMailListControl* self = new (ELeave) CFreestyleEmailUiMailListControl(aVisualiser);
       
    50     CleanupStack::PushL(self);
       
    51     self->ConstructL(aEnv);
       
    52     return self;
       
    53     }
       
    54 
       
    55 // ---------------------------------------------------------------------------
       
    56 //C++ constructor.
       
    57 // ---------------------------------------------------------------------------
       
    58 //
       
    59 CFreestyleEmailUiMailListControl::CFreestyleEmailUiMailListControl(CFSEmailUiMailListVisualiser* aVisualiser)
       
    60     : CAlfControl(), 
       
    61 	iVisualiser(aVisualiser)
       
    62     {
       
    63     FUNC_LOG;
       
    64     }
       
    65 
       
    66 // ---------------------------------------------------------------------------
       
    67 // Two-phased constructor.
       
    68 // ---------------------------------------------------------------------------
       
    69 //
       
    70 void CFreestyleEmailUiMailListControl::ConstructL(CAlfEnv& aEnv)
       
    71     {
       
    72     FUNC_LOG;
       
    73     CAlfControl::ConstructL(aEnv);    
       
    74     }
       
    75 
       
    76 // ---------------------------------------------------------------------------
       
    77 // Virtual destructor.
       
    78 // ---------------------------------------------------------------------------
       
    79 //
       
    80 CFreestyleEmailUiMailListControl::~CFreestyleEmailUiMailListControl()
       
    81     {
       
    82     FUNC_LOG;
       
    83     }
       
    84 
       
    85 
       
    86 // <cmail> Touch
       
    87 // ---------------------------------------------------------------------------
       
    88 // Called when control is displayed or hidden
       
    89 // ---------------------------------------------------------------------------
       
    90 //
       
    91 void CFreestyleEmailUiMailListControl::NotifyControlVisibility( TBool  aIsVisible, CAlfDisplay& /*aDisplay*/ )
       
    92     {
       
    93     if ( iVisualiser )
       
    94         {
       
    95         if (aIsVisible)
       
    96             {
       
    97             iVisualiser->DisableMailList(EFalse);
       
    98             }
       
    99         else
       
   100             {
       
   101             iVisualiser->DisableMailList(ETrue);
       
   102             }
       
   103         }
       
   104     }
       
   105 // </cmail>
       
   106 
       
   107 // ---------------------------------------------------------------------------
       
   108 // Two-phased constructor.
       
   109 // ---------------------------------------------------------------------------
       
   110 //
       
   111 void CFreestyleEmailUiMailListControl::TextureLoadingCompleted( CAlfTexture& /* aTexture*/,
       
   112                                                          TInt /*aTextureId*/,
       
   113                                                          TInt /*aErrorCode*/ )
       
   114     {
       
   115     FUNC_LOG;
       
   116     
       
   117     }
       
   118 
       
   119 
       
   120 TBool CFreestyleEmailUiMailListControl::OfferEventL( const TAlfEvent& aEvent )
       
   121 	{
       
   122     FUNC_LOG;
       
   123 	// <cmail> "As a touch device user I can focus an item in inbox list view."
       
   124 	
       
   125     TBool result(EFalse); 
       
   126 	if ( iVisualiser ) // Offer events to view
       
   127 		{
       
   128         result = iVisualiser->OfferEventL( aEvent );
       
   129 		}
       
   130 	else
       
   131 	    {
       
   132 	    result = KErrGeneral; 
       
   133 	    }
       
   134 	return result;
       
   135     
       
   136 	// </cmail>
       
   137 	}
       
   138 
       
   139 void CFreestyleEmailUiMailListControl::HandleCommandL(TInt aCommand)
       
   140 	{
       
   141     FUNC_LOG;
       
   142 	if ( iVisualiser ) // Offer aCommand to view
       
   143 		{
       
   144 		return iVisualiser->HandleCommandL( aCommand );
       
   145 		}
       
   146 	}
       
   147 		
       
   148