Revision: 201001 PDK_3.0.f
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 26 Jan 2010 11:55:08 +0200
changeset 4 e9eae96aa117
parent 3 1324afda5dee
child 5 4697dfb2d7ad
child 10 da93fe14e0e3
Revision: 201001 Kit: 201004
email/pop3andsmtpmtm/servermtmutils/test/group/IMSK.doc
messagingappbase/mcesettings/inc/MceSettingsGeneralSettingsDialog.h
messagingappbase/mcesettings/src/MceSettingsGeneralSettingsDialog.cpp
messagingappbase/obexmtms/TObexMTM/User Manual.doc
messagingappbase/obexmtms/TObexMTM/obexstub/OBEX Messaging Test Stub - Description.doc
messagingappbase/smilparser/Documents/SGL.GT0121.108_Rev1.0_Generic XML Parser Design.doc
messagingappbase/smilparser/Documents/SGL.GT0149.83_Rev1.0_How to use the GMXML component and SMIL DTD.doc
messagingappbase/smilparser/Documents/SGL.GT147.063_Rev1.0_GMXML API.doc
mobilemessaging/audiomsg/data/audiomessage.rss
Binary file email/pop3andsmtpmtm/servermtmutils/test/group/IMSK.doc has changed
--- a/messagingappbase/mcesettings/inc/MceSettingsGeneralSettingsDialog.h	Fri Jan 22 09:42:17 2010 +0200
+++ b/messagingappbase/mcesettings/inc/MceSettingsGeneralSettingsDialog.h	Tue Jan 26 11:55:08 2010 +0200
@@ -134,6 +134,17 @@
 #else
         void ChangeMessageStoreL();
 #endif //RD_MULTIPLE_DRIVE
+        
+        /**
+        * Function to check if the entry is email entry or not
+        * returns ETrue if email
+        */
+        TBool IsEmailEntryL(TMsvEntry entry);
+        
+        /**
+         *  This will return true if there is any third party mailbox.
+         */
+        TBool IsThirdPartyMailBox();
 
     protected:  // Functions from base classes
 
@@ -182,12 +193,15 @@
         TFileName               iTargetPath;
         TBool                   iMemoryInUse;
         TBool                   iNewMailIndicator;
+        //Variable added to know if drive is changed 
+        TBool                   iChangeDrive;
         friend class CMceMoveProgress;
 #ifdef RD_MESSAGING_GENERAL_SETTINGS_RENOVATION
         RConeResourceLoader     iResources;
 #endif // RD_MESSAGING_GENERAL_SETTINGS_RENOVATION
         MMceSettingsAccountManager* iAccountManager;
-        TInt                     iTransferError;
+        TInt                    iTransferError;
+		TBool                   iIsThirdPartyMail;
     };
 
 #endif      // MCESETTINGSGENERALSETTINGSDIALOG_H
--- a/messagingappbase/mcesettings/src/MceSettingsGeneralSettingsDialog.cpp	Fri Jan 22 09:42:17 2010 +0200
+++ b/messagingappbase/mcesettings/src/MceSettingsGeneralSettingsDialog.cpp	Tue Jan 26 11:55:08 2010 +0200
@@ -59,7 +59,10 @@
 
 #include <bldvariant.hrh>
 #include <data_caging_path_literals.hrh>
-
+#include <msvids.h>
+#include <mtudreg.h>
+#include <miutset.h>
+#include <SendUiConsts.h>
 // CONSTANTS
 
 #define KMceApplicationUidValue         0x100058C5
@@ -78,6 +81,8 @@
 const TInt KMceListTypeTwoRow       = 0;
 const TInt KMceListTypeOneRow       = 1;
 
+#define KUidMsgTypeCmailMtmVal               0x2001F406
+
 #ifdef _DEBUG
 _LIT( KPanicText, "MceSettings" );
 const TInt KCRepositorySettingFailure = 1;
@@ -95,6 +100,9 @@
     EMceGeneralSettingsInboxListType,
     EMceGeneralSettingsMailListType
     };
+// These constants are added to handle 	"show e-mails in groups", when R_MCE_GENERAL_SETTINGS_ITEMS is used for MCESETTINGS.
+const TInt MceGeneralSettingsInboxListType = 2;
+const TInt MceGeneralSettingsMailListType = 3;
 #ifdef RD_MULTIPLE_DRIVE
 const TInt KSpaceDelimiter=' ';
 #endif //RD_MULTIPLE_DRIVE
@@ -131,11 +139,14 @@
 #ifdef RD_MESSAGING_GENERAL_SETTINGS_RENOVATION
     CMceSettingsTitlePaneHandlerDialog(),
     iSession( aSession ), iObserver( aObserver ),
-    iResources( *CCoeEnv::Static() ), iAccountManager( aManager )
+    iResources( *CCoeEnv::Static() ), iAccountManager( aManager ),
 #else
     CMceSettingsTitlePaneHandlerDialog(),
-    iSession( aSession ), iObserver(aObserver ), iAccountManager( aManager )
+    iSession( aSession ), iObserver(aObserver ), iAccountManager( aManager ),
 #endif
+    iChangeDrive(EFalse),
+	iIsThirdPartyMail( EFalse )
+	
     {
     }
 
@@ -150,6 +161,7 @@
     iResources.OpenL( fileName );
 #endif
     CMceSettingsTitlePaneHandlerDialog::ConstructL( aResource );
+	iIsThirdPartyMail = IsThirdPartyMailBox();
     }
 
 // ----------------------------------------------------
@@ -192,13 +204,33 @@
             setValue = ( *iMceSettingsArray )[EMceGeneralSettingsSentItemsCount].iCurrentNumber;
 #endif
 
-            ret = repository->Set( KMuiuInboxMessageListType,
-                ( *iMceSettingsArray )[EMceGeneralSettingsInboxListType].iCurrentNumber );
+            if ( iMemoryInUse )
+                {
+                ret = repository->Set( KMuiuInboxMessageListType,
+                  ( *iMceSettingsArray )[EMceGeneralSettingsInboxListType].iCurrentNumber );
+                }
+            else
+                {
+                ret = repository->Set( KMuiuInboxMessageListType,
+                  ( *iMceSettingsArray )[MceGeneralSettingsInboxListType].iCurrentNumber );
+                }
             __ASSERT_DEBUG( !ret, User::Panic(KPanicText,KCRepositorySettingFailure) );            
 
-            ret = repository->Set( KMuiuMailMessageListType,
-                ( *iMceSettingsArray )[EMceGeneralSettingsMailListType].iCurrentNumber );
-            __ASSERT_DEBUG( !ret, User::Panic(KPanicText,KCRepositorySettingFailure) );            
+            if ( iIsThirdPartyMail )
+                {
+                if ( iMemoryInUse )
+                    {
+                    ret = repository->Set( KMuiuMailMessageListType,
+                      ( *iMceSettingsArray )[EMceGeneralSettingsMailListType].iCurrentNumber );
+                    }
+                else
+                    {
+                    ret = repository->Set( KMuiuMailMessageListType,
+                      ( *iMceSettingsArray )[MceGeneralSettingsMailListType].iCurrentNumber );
+                    }
+                __ASSERT_DEBUG( !ret, User::Panic(KPanicText,KCRepositorySettingFailure) );
+                }
+            
             }
         CleanupStack::Pop( repository );
         delete repository;
@@ -369,16 +401,46 @@
             {
             i = KMceListTypeTwoRow;
             }
-        ( *iMceSettingsArray )[EMceGeneralSettingsInboxListType].iCurrentNumber =
-                i ? KMceListTypeOneRow : KMceListTypeTwoRow;
-
-        // Get one/two row list type selection
-        if ( repository->Get( KMuiuMailMessageListType, i ) != KErrNone )
+        if ( iMemoryInUse )
+            {
+            ( *iMceSettingsArray )[EMceGeneralSettingsInboxListType].iCurrentNumber =
+                   i ? KMceListTypeOneRow : KMceListTypeTwoRow;
+            }
+        else
+            {
+            ( *iMceSettingsArray )[MceGeneralSettingsInboxListType].iCurrentNumber =
+                   i ? KMceListTypeOneRow : KMceListTypeTwoRow;
+            }
+        
+        if ( iIsThirdPartyMail )
             {
-            i = KMceListTypeOneRow;
+             // Get one/two row list type selection
+             if ( repository->Get( KMuiuMailMessageListType, i ) != KErrNone )
+                 {
+                 i = KMceListTypeOneRow;
+                 }
+             if ( iMemoryInUse )
+                 {
+                 ( *iMceSettingsArray )[EMceGeneralSettingsMailListType].iCurrentNumber =
+                         i ? KMceListTypeOneRow : KMceListTypeTwoRow;
+                 }
+             else
+                 {
+                 ( *iMceSettingsArray )[MceGeneralSettingsMailListType].iCurrentNumber =
+                        i ? KMceListTypeOneRow : KMceListTypeTwoRow;
+                 }
             }
-        ( *iMceSettingsArray )[EMceGeneralSettingsMailListType].iCurrentNumber =
-                i ? KMceListTypeOneRow : KMceListTypeTwoRow;
+        else
+            {
+            if ( iMemoryInUse )
+                {
+                iMceSettingsArray->Delete(EMceGeneralSettingsMailListType);
+                }
+            else
+                {
+                iMceSettingsArray->Delete(MceGeneralSettingsMailListType);
+                }
+            }
         }
 
     if ( iMemoryInUse )
@@ -650,6 +712,11 @@
         // User does not want to close open messages
         return;
         }
+    
+    if(iChangeDrive)
+        {
+        return;
+        }
 
     RFs& fs=iEikonEnv->FsSession();
     
@@ -739,7 +806,7 @@
                 {
                 return;
                 }
-
+            CAknInputBlock* comAbs=CAknInputBlock::NewLC();  
             // change message store
             CMuiuOperationWait* waiter=CMuiuOperationWait::NewLC();
 
@@ -747,6 +814,7 @@
                     CMsvProgressReporterOperation::NewL( *iSession, waiter->iStatus );
             CleanupStack::PushL( reportOp );
 
+            reportOp->SetProgressVisibilityDelay(EFalse);
             HBufC* text = StringLoader::LoadLC( R_MCE_SETTINGS_SWITCHING_MESSAGE_STORE, 
                        iEikonEnv );  
             reportOp->SetTitleL( *text ); 
@@ -754,14 +822,15 @@
             reportOp->SetCanCancelL( EFalse);
 
             CleanupStack::PopAndDestroy( text );
-            
+            iChangeDrive = ETrue;
             CMsvOperation* changeOp=iSession->ChangeDriveL( selectedDrive, reportOp->RequestStatus() );
             reportOp->SetOperationL( changeOp );
 
             waiter->Start();
-    
+            iChangeDrive = EFalse;
             CleanupStack::PopAndDestroy( reportOp );
             CleanupStack::PopAndDestroy( waiter );
+            CleanupStack::PopAndDestroy( comAbs );
                   
             //memory has been changed
             UpdateMemorySelectionL();           
@@ -828,13 +897,14 @@
                     {
                     User::Leave( KErrDiskFull );
                     }
-
+                CAknInputBlock* comAbs=CAknInputBlock::NewLC(); 
                 CMuiuOperationWait* waiter=CMuiuOperationWait::NewLC(); 
 
                 CMsvProgressReporterOperation* reportOp =
                             CMsvProgressReporterOperation::NewL( *iSession, waiter->iStatus );
                 CleanupStack::PushL( reportOp );
 
+                reportOp->SetProgressVisibilityDelay(EFalse);
                 HBufC* text = StringLoader::LoadLC( R_MCE_SETTINGS_SWITCHING_MESSAGE_STORE, 
                                                                         iEikonEnv );  
                 reportOp->SetTitleL( *text ); 
@@ -842,15 +912,16 @@
                 reportOp->SetCanCancelL( EFalse);
 
                 CleanupStack::PopAndDestroy( text );
-            
+                iChangeDrive = ETrue;
                 CMsvOperation* changeOp=iSession->ChangeDriveL( selectedDrive, 
                                                                                                 reportOp->RequestStatus() );
                 reportOp->SetOperationL( changeOp );
 
                 waiter->Start();
-    
+                iChangeDrive = EFalse;
                 CleanupStack::PopAndDestroy( reportOp ); 
                 CleanupStack::PopAndDestroy( waiter );
+                CleanupStack::PopAndDestroy( comAbs );
                 UpdateMemorySelectionL();
                 }                
             }
@@ -1010,4 +1081,60 @@
         }
     }
 #endif //RD_MULTIPLE_DRIVE
+
+// ---------------------------------------------------------
+// CMceGeneralSettingsDialog::IsThirdPartyMailBox()
+// 
+// ---------------------------------------------------------
+//
+TBool CMceGeneralSettingsDialog::IsThirdPartyMailBox()
+    {
+    CMsvEntry* entry = iSession->GetEntryL( KMsvRootIndexEntryId );
+    CleanupStack::PushL( entry );
+    TInt cnt = entry->Count();
+    TBool isThirdPartyMail = EFalse;
+    for ( TInt i=0; i < cnt ; i++)
+        {
+        if ( (*entry)[i].iType.iUid == KUidMsvServiceEntryValue &&
+             (*entry)[i].Id() != KMsvLocalServiceIndexEntryIdValue &&
+             ( !( (*entry)[i].iMtm.iUid == KUidMsgTypeCmailMtmVal ||
+                  (*entry)[i].iMtm == KSenduiMtmImap4Uid          || 
+                  (*entry)[i].iMtm == KSenduiMtmPop3Uid           ||
+                  (*entry)[i].iMtm == KSenduiMtmSmtpUid   ))   &&
+             IsEmailEntryL((*entry)[i]))
+           {
+           isThirdPartyMail = ETrue;
+           break;
+           }
+        }
+    CleanupStack::PopAndDestroy( entry );
+    return isThirdPartyMail;
+    }
+
+// ---------------------------------------------------------
+// CMceGeneralSettingsDialog::IsEmailEntryL
+// 
+// ---------------------------------------------------------
+//
+TBool CMceGeneralSettingsDialog::IsEmailEntryL(TMsvEntry tentry)
+    {
+    TBool IsEmail = EFalse;
+
+    CMtmUiDataRegistry* uiRegistry =
+                         CMtmUiDataRegistry::NewL( *iSession );
+    CleanupStack::PushL(uiRegistry);
+    if ( uiRegistry->IsPresent( tentry.iMtm ) &&
+         uiRegistry->IsPresent( KUidMsgTypePOP3 ) )
+         {
+          TUid mailMTMTechType =
+                  uiRegistry->TechnologyTypeUid( KUidMsgTypePOP3 );
+          if( uiRegistry->TechnologyTypeUid( tentry.iMtm ) == mailMTMTechType )
+                {
+                IsEmail = ETrue;
+                }
+         }
+    CleanupStack::PopAndDestroy( uiRegistry );
+        
+    return IsEmail;
+    }
 //  End of File
Binary file messagingappbase/obexmtms/TObexMTM/User Manual.doc has changed
Binary file messagingappbase/obexmtms/TObexMTM/obexstub/OBEX Messaging Test Stub - Description.doc has changed
Binary file messagingappbase/smilparser/Documents/SGL.GT0121.108_Rev1.0_Generic XML Parser Design.doc has changed
Binary file messagingappbase/smilparser/Documents/SGL.GT0149.83_Rev1.0_How to use the GMXML component and SMIL DTD.doc has changed
Binary file messagingappbase/smilparser/Documents/SGL.GT147.063_Rev1.0_GMXML API.doc has changed
--- a/mobilemessaging/audiomsg/data/audiomessage.rss	Fri Jan 22 09:42:17 2010 +0200
+++ b/mobilemessaging/audiomsg/data/audiomessage.rss	Tue Jan 26 11:55:08 2010 +0200
@@ -405,7 +405,7 @@
 RESOURCE AVKON_BUTTON_STATE_EXTENSION r_amsviewer_delete_button_state_extension 
     { 
     bmbSkinIdMajor= EAknsMajorGeneric; 
-    bmbSkinIdMinor= EAknsMinorGenericQgnIndiTbMsgDelete; 
+    bmbSkinIdMinor= EAknsMinorGenericQgnIndiMgTbDelete; 
     } 
 
 RESOURCE AVKON_BUTTON_STATE_EXTENSION r_amsviewer_send_button_state_extension