--- a/emailuis/emailui/src/FreestyleEmailUiAppui.cpp Wed Sep 01 12:28:57 2010 +0100
+++ b/emailuis/emailui/src/FreestyleEmailUiAppui.cpp Tue Sep 14 20:48:24 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 - 2010 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"
@@ -89,7 +89,7 @@
#include "cfsccontactactionmenu.h"
//</cmail>
#include <layoutmetadata.cdl.h> // for Layout_Meta_Data
-
+#include <aknnavilabel.h>
#include <AknPriv.hrh>
#include "freestyleemailcenrepkeys.h"
#include <centralrepository.h>
@@ -158,6 +158,7 @@
const TUint KConnectionStatusIconRotationInterval = 100;
const TUint KFakeSyncAnimStopTimerInterval = 3000; // 3 secs
const TInt KConnectionStatusIconRotationAmount = 18;
+const TInt KFullCircleInDegrees = 360;
// Length of the drive letter descriptor (e.g. "c:")
const TInt KDriveDescLength = 2;
@@ -748,7 +749,7 @@
// Destruction must be done here as other Tls data depends on it.
CFSEmailDownloadInfoMediator::Destroy();
- delete iNaviDecorator2MailViewer;
+ delete iNaviDecorator;
delete iConnectionStatusIconAnimTimer;
delete iFakeSyncAnimStopTimer;
@@ -891,6 +892,12 @@
return;
}
+ if( aViewId == MailListId )
+ {
+ // notify Eik that SplitInput was disabled when entering the list form homescreen
+ CEikAppUi::HandleResourceChangeL( KAknSplitInputDisabled );
+ }
+
// Do nothing if the externally activated view was already active
if ( iCurrentActiveView->Id() != aViewId )
{
@@ -1601,8 +1608,7 @@
{
iPendingLayoutSwitch = ETrue;
}
-
- if ( iCurrentActiveView && !iSettingsViewActive )
+ if ( iCurrentActiveView && !iSettingsViewActive && !iMRViewer )
{
iCurrentActiveView->HandleDynamicVariantSwitchL( type );
}
@@ -2586,7 +2592,7 @@
if ( iConnectionIconBitmap )
{
TSize iconSize = LayoutHandler()->statusPaneIconSize();
- AknIconUtils::SetSize( iConnectionIconBitmap, iconSize, EAspectRatioNotPreserved );
+ AknIconUtils::SetSizeAndRotation(iConnectionIconBitmap, iconSize, EAspectRatioNotPreserved, iConnectionStatusIconAngle);
}
titlePane->SetSmallPicture( iConnectionIconBitmap, iConnectionIconMask, iConnectionIconBitmap && iConnectionIconMask);
}
@@ -2696,7 +2702,7 @@
if ( iConnectionIconBitmap )
{
TSize iconSize( LayoutHandler()->statusPaneIconSize() );
- AknIconUtils::SetSize( iConnectionIconBitmap, iconSize, EAspectRatioNotPreserved );
+ AknIconUtils::SetSizeAndRotation(iConnectionIconBitmap, iconSize, EAspectRatioNotPreserved, iConnectionStatusIconAngle);
}
titlePane->SetSmallPicture( iConnectionIconBitmap, iConnectionIconMask, iConnectionIconMask && iConnectionIconBitmap );
if (startTimer)
@@ -3057,13 +3063,15 @@
iConnectionIconMask );
if ( iConnectionIconBitmap && iConnectionIconMask )
{
- AknIconUtils::SetSize(
- iConnectionIconBitmap,
- LayoutHandler()->statusPaneIconSize(),
- EAspectRatioNotPreserved );
- titlePane->SetSmallPicture(
- iConnectionIconBitmap,
- iConnectionIconMask,
+ AknIconUtils::SetSizeAndRotation(
+ iConnectionIconBitmap,
+ LayoutHandler()->statusPaneIconSize(),
+ EAspectRatioNotPreserved,
+ iConnectionStatusIconAngle );
+
+ titlePane->SetSmallPicture(
+ iConnectionIconBitmap,
+ iConnectionIconMask,
ETrue );
iConnectionStatusIconAnimTimer->Start(
KConnectionStatusIconRotationInterval );
@@ -3077,60 +3085,6 @@
}
}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-void CFreestyleEmailUiAppUi::ConstructNaviPaneL()
- {
- FUNC_LOG;
-
- CAknNavigationControlContainer* naviPaneContainer =
- static_cast<CAknNavigationControlContainer*>(
- StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-
- // Following navipane is for mailviewer view
- if ( !iNaviDecorator2MailViewer )
- {
- // Constructing a decorator with own decorated control,
- // which is (currently an empty) container.
- CFreestyleEmailUiNaviPaneControlContainer2MailViewer* c =
- CFreestyleEmailUiNaviPaneControlContainer2MailViewer::NewL();
- c->SetContainerWindowL( *naviPaneContainer );
- iNaviDecorator2MailViewer = CAknNavigationDecorator::NewL(
- naviPaneContainer,
- c,
- CAknNavigationDecorator::ENotSpecified );
-
- // In order to get navi arrows visible, they must be set visible AND not dimmed...
- iNaviDecorator2MailViewer->SetContainerWindowL( *naviPaneContainer );
- iNaviDecorator2MailViewer->MakeScrollButtonVisible( ETrue );
- iNaviDecorator2MailViewer->SetScrollButtonDimmed( CAknNavigationDecorator::ELeftButton, EFalse );
- iNaviDecorator2MailViewer->SetScrollButtonDimmed( CAknNavigationDecorator::ERightButton, EFalse );
-
- iNaviDecorator2MailViewer->SetComponentsToInheritVisibility( ETrue );
- naviPaneContainer->PushL( *iNaviDecorator2MailViewer );
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-CAknNavigationDecorator* CFreestyleEmailUiAppUi::NaviDecoratorL( const TUid aViewId )
- {
- FUNC_LOG;
- CAknNavigationDecorator* decorator( NULL );
- // Depending on who's asking, return proper navipane instance
- if ( aViewId.iUid == MailViewerId.iUid )
- {
- if ( !iNaviDecorator2MailViewer )
- {
- ConstructNaviPaneL();
- }
- decorator = iNaviDecorator2MailViewer;
- }
- return decorator;
- }
-
void CFreestyleEmailUiAppUi::TimerEventL( CFSEmailUiGenericTimer* aTriggeredTimer )
{
if ( aTriggeredTimer == iConnectionStatusIconAnimTimer )
@@ -3149,6 +3103,7 @@
TSize iconSize = LayoutHandler()->statusPaneIconSize();
iConnectionStatusIconAngle += KConnectionStatusIconRotationAmount;
+ iConnectionStatusIconAngle %= KFullCircleInDegrees;
AknIconUtils::SetSizeAndRotation(iConnectionIconBitmap, iconSize, EAspectRatioNotPreserved, iConnectionStatusIconAngle);
titlePane->DrawNow();
iConnectionStatusIconAnimTimer->Start(KConnectionStatusIconRotationInterval);
@@ -3220,7 +3175,35 @@
}
}
-
+void CFreestyleEmailUiAppUi::SetNaviPaneTextL( const TDesC& aText )
+ {
+ if (aText.Length())
+ {
+ CAknNavigationControlContainer* np =
+ static_cast<CAknNavigationControlContainer*>(
+ StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
+
+ if (!iNaviDecorator)
+ {
+ iNaviDecorator = np->CreateNavigationLabelL( KNullDesC() );
+ np->PushL( *iNaviDecorator );
+ }
+ CAknNaviLabel* naviLabel = static_cast<CAknNaviLabel*>( iNaviDecorator->DecoratedControl() );
+ if( naviLabel )
+ {
+ naviLabel->SetTextL( aText );
+ iNaviDecorator->DrawDeferred();
+ }
+ }
+ else
+ {
+ if (iNaviDecorator)
+ {
+ delete iNaviDecorator;
+ iNaviDecorator = NULL;
+ }
+ }
+ }
////////////////////////////////////////////////////////////////////////////////
//