emailuis/emailui/src/FreestyleEmailUiMailListControl.cpp
changeset 0 8466d47a6819
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/emailui/src/FreestyleEmailUiMailListControl.cpp	Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implements control for the application.
+*
+*/
+
+
+
+#include "emailtrace.h"
+#include "FreestyleEmailUiMailListControl.h"
+#include "FreestyleEmailUiMailListVisualiser.h"
+
+// <cmail> Needed for pointer events. "As a touch device user I can focus an item in inbox list view."
+#include <alf/alfevent.h>
+// </cmail>
+
+
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CFreestyleEmailUiMailListControl* CFreestyleEmailUiMailListControl::NewL(CAlfEnv& aEnv, CFSEmailUiMailListVisualiser* aVisualiser)
+    {
+    FUNC_LOG;
+    CFreestyleEmailUiMailListControl* self = CFreestyleEmailUiMailListControl::NewLC(aEnv, aVisualiser);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CFreestyleEmailUiMailListControl* CFreestyleEmailUiMailListControl::NewLC(CAlfEnv& aEnv, CFSEmailUiMailListVisualiser* aVisualiser)
+    {
+    FUNC_LOG;
+    CFreestyleEmailUiMailListControl* self = new (ELeave) CFreestyleEmailUiMailListControl(aVisualiser);
+    CleanupStack::PushL(self);
+    self->ConstructL(aEnv);
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+//C++ constructor.
+// ---------------------------------------------------------------------------
+//
+CFreestyleEmailUiMailListControl::CFreestyleEmailUiMailListControl(CFSEmailUiMailListVisualiser* aVisualiser)
+    : CAlfControl(), 
+	iVisualiser(aVisualiser)
+    {
+    FUNC_LOG;
+    }
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+void CFreestyleEmailUiMailListControl::ConstructL(CAlfEnv& aEnv)
+    {
+    FUNC_LOG;
+    CAlfControl::ConstructL(aEnv);    
+    }
+
+// ---------------------------------------------------------------------------
+// Virtual destructor.
+// ---------------------------------------------------------------------------
+//
+CFreestyleEmailUiMailListControl::~CFreestyleEmailUiMailListControl()
+    {
+    FUNC_LOG;
+    }
+
+
+// <cmail> Touch
+// ---------------------------------------------------------------------------
+// Called when control is displayed or hidden
+// ---------------------------------------------------------------------------
+//
+void CFreestyleEmailUiMailListControl::NotifyControlVisibility( TBool  aIsVisible, CAlfDisplay& /*aDisplay*/ )
+    {
+    if ( iVisualiser )
+        {
+        if (aIsVisible)
+            {
+            iVisualiser->DisableMailList(EFalse);
+            }
+        else
+            {
+            iVisualiser->DisableMailList(ETrue);
+            }
+        }
+    }
+// </cmail>
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+void CFreestyleEmailUiMailListControl::TextureLoadingCompleted( CAlfTexture& /* aTexture*/,
+                                                         TInt /*aTextureId*/,
+                                                         TInt /*aErrorCode*/ )
+    {
+    FUNC_LOG;
+    
+    }
+
+
+TBool CFreestyleEmailUiMailListControl::OfferEventL( const TAlfEvent& aEvent )
+	{
+    FUNC_LOG;
+	// <cmail> "As a touch device user I can focus an item in inbox list view."
+	
+    TBool result(EFalse); 
+	if ( iVisualiser ) // Offer events to view
+		{
+        result = iVisualiser->OfferEventL( aEvent );
+		}
+	else
+	    {
+	    result = KErrGeneral; 
+	    }
+	return result;
+    
+	// </cmail>
+	}
+
+void CFreestyleEmailUiMailListControl::HandleCommandL(TInt aCommand)
+	{
+    FUNC_LOG;
+	if ( iVisualiser ) // Offer aCommand to view
+		{
+		return iVisualiser->HandleCommandL( aCommand );
+		}
+	}
+		
+