emailuis/emailui/src/FreestyleEmailUiMailListVisualiser.cpp
branchRCL_3
changeset 26 67369d1b217f
parent 24 b5fbb9b25d57
child 29 6b8f3b30d0ec
--- a/emailuis/emailui/src/FreestyleEmailUiMailListVisualiser.cpp	Tue May 11 15:57:15 2010 +0300
+++ b/emailuis/emailui/src/FreestyleEmailUiMailListVisualiser.cpp	Tue May 25 12:23:16 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009 - 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"
@@ -90,6 +90,7 @@
 #include "FSEmail.pan"
 
 #include "ipsplgcommon.h"
+#include "cemailsettingsextension.h"
 
 // CONST VALUES
 const TInt KControlBarTransitionTime = 250;
@@ -684,7 +685,10 @@
             }
         }
     SetListAndCtrlBarFocusL();
-    iAppUi.StartMonitoringL();
+    if(!CheckAutoSyncSettingL())
+        {
+        iAppUi.StartMonitoringL();
+        }
     TIMESTAMP( "Locally stored messages fetched for message list" );
     }
 
@@ -1610,7 +1614,8 @@
     else
         {
         iMailList->ShowListL();
-        if (forwardNavigation)
+        TBool manualSync = CheckAutoSyncSettingL();
+        if (forwardNavigation && !manualSync)
             {
             iAppUi.StartMonitoringL();
             }
@@ -1698,7 +1703,6 @@
   	    iMailTreeListVisualizer->NotifyControlVisibilityChange( EFalse );
   	    }
 	iThisViewActive = EFalse;
-	FadeOut(ETrue);  // hide CAlfVisuals on deactivation
 	}
 
 // ---------------------------------------------------------------------------
@@ -3021,6 +3025,13 @@
             }
         else
             {
+            iAppUi.FsTextureManager()->ClearTextureByIndex( EListControlBarMailboxDefaultIcon );
+            iFolderListButton->SetIconL( iAppUi.FsTextureManager()->TextureByIndex( EListControlBarMailboxDefaultIcon ) );
+            iAppUi.FsTextureManager()->ClearTextureByIndex( EListTextureCreateNewMessageIcon );
+            iNewEmailButton->SetIconL( iAppUi.FsTextureManager()->TextureByIndex( EListTextureCreateNewMessageIcon ) );
+            iAppUi.FsTextureManager()->ClearTextureByIndex( GetSortButtonTextureIndex() );
+            iSortButton->SetIconL( iAppUi.FsTextureManager()->TextureByIndex( GetSortButtonTextureIndex() ) );
+           
             iMailTreeListVisualizer->HideList();
             // screen layout changed
             iCurrentClientRect = iAppUi.ClientRect();
@@ -4282,6 +4293,7 @@
             if ( aDestinationFolderId.IsNullId() )
                 {
                 // Activate folder selection view and handle moving after callback gets destination
+                RemoveMarkingModeTitleTextL();    
                 iMoveToFolderOngoing = ETrue;
                 TFolderListActivationData folderListData;
                 folderListData.iCallback = this;
@@ -5617,7 +5629,14 @@
 
 	TInt var = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
 	TAknLayoutText textLayout;
-	textLayout.LayoutText(TRect(0,0,0,0), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_ddmenu_pane_t1(var));
+	if ( Layout_Meta_Data::IsLandscapeOrientation() )
+		{
+	    textLayout.LayoutText(TRect(0,0,0,0), AknLayoutScalable_Apps::cmail_ddmenu_btn02_pane_t2(0));
+		}
+	else
+		{
+	    textLayout.LayoutText(TRect(0,0,0,0), AknLayoutScalable_Apps::main_sp_fs_ctrlbar_ddmenu_pane_t1(var));
+		}
 	iNewEmailButton->SetTextFontL( textLayout.Font()->FontSpecInTwips() );
  	iFolderListButton->SetTextFontL( textLayout.Font()->FontSpecInTwips() );
  	iSortButton->SetTextFontL( textLayout.Font()->FontSpecInTwips() );
@@ -5655,10 +5674,23 @@
 		}
 	CleanupStack::PopAndDestroy( buttonText );
 
-	// Set icon
+	iSortButton->SetIconL(
+			iAppUi.FsTextureManager()->TextureByIndex( GetSortButtonTextureIndex() ),
+			ECBElemIconA );
+
+	}
+    
+// ---------------------------------------------------------------------------
+//
+//
+// ---------------------------------------------------------------------------
+//
+TFSEmailUiTextures CFSEmailUiMailListVisualiser::GetSortButtonTextureIndex()
+    {
+    FUNC_LOG;
+    
     TFSEmailUiTextures textureIndex( ETextureFirst );
-
-	switch ( iCurrentSortCriteria.iField )
+    switch ( iCurrentSortCriteria.iField )
 		{
 		case EFSMailSortBySubject:
 			{
@@ -5711,11 +5743,8 @@
 						   ESortListDateAscTexture;
 			}
 			break;
-		}
-
-	iSortButton->SetIconL(
-			iAppUi.FsTextureManager()->TextureByIndex( textureIndex ),
-			ECBElemIconA );
+  		}
+    return textureIndex;
 	}
 
 // ---------------------------------------------------------------------------
@@ -6727,6 +6756,10 @@
 		switch ( aResponse )
 			{
 			case EFSEmailUiCtrlBarResponseCancel:
+			    if ( iMarkingMode )
+			        {
+                    DisplayMarkingModeTitleTextL();
+			        }
 			    iMarkingModeWaitingToExit = EFalse;
 			    SetMskL();
 				return;
@@ -7223,7 +7256,8 @@
 		}
 
 	// Set the position for the popup
-	iStylusPopUpMenu->SetPosition( aPoint );
+	TPoint point(aPoint.iX, aPoint.iY + 45);
+	iStylusPopUpMenu->SetPosition( point, CAknStylusPopUpMenu::EPositionTypeRightBottom );
 
 	// Display the popup and set the flag to indicate that the menu was
 	// launched.
@@ -7636,7 +7670,8 @@
 		{
 		CleanupStack::PushL( mailBoxIcon );
         //<cmail>
-		TSize defaultIconSize(iAppUi.LayoutHandler()->GetControlBarMailboxIconRect().Size());
+		TInt iconSize( iAppUi.LayoutHandler()->GetControlBarMailboxIconRect().Width() );
+		TSize defaultIconSize ( iconSize, iconSize );
         //</cmail>
     	AknIconUtils::SetSize(mailBoxIcon->Bitmap(), defaultIconSize);
 	    AknIconUtils::SetSize(mailBoxIcon->Mask(), defaultIconSize);
@@ -8055,6 +8090,25 @@
         }
     }
 
+TBool CFSEmailUiMailListVisualiser::CheckAutoSyncSettingL()
+    {
+    CEmailExtension* ext=NULL;
+    TBool manualSync = EFalse;
+    CFSMailBox* box = iAppUi.GetActiveMailbox();
+    if (box)
+        {
+        ext = box->ExtensionL( KEmailSettingExtensionUid );
+        if (ext)
+            {
+            CEmailSettingsExtension* extension = reinterpret_cast<CEmailSettingsExtension*>( ext );
+            extension->SetMailBoxId(box->GetId());
+            manualSync = extension->IsSetL(EmailSyncInterval);
+            box->ReleaseExtension(extension);
+            }
+        }
+    return manualSync;
+    }
+
 //////////////////////////////////////////////////////////////////
 // Class implementation CMailListUpdater
 ///////////////////////////////////////////////////////////////////