--- a/email/imap4mtm/group/messaging_email_imap.history.xml Mon Mar 15 12:40:06 2010 +0200
+++ b/email/imap4mtm/group/messaging_email_imap.history.xml Wed Mar 31 21:25:02 2010 +0300
@@ -3,10 +3,18 @@
<purpose>
Message Type Module (MTM) plugin to Messaging Framework supporting send/receive/edit of IMAP4 email messages.
</purpose>
-
-<defect number="DEF144494" title="when finish the mailbox configure, connet manually, after sync commpleted, Unable to perform operations pops up" revision="078">
- MarkOnOrOfflineL() moved down.
-</defect>
+
+ <defect number="DEF144650" title="Gmail freezes when cancelling connection " revision="080">
+ added CMsgActive::DoCancel() in CImapUpsResponseWaiter::DoCancel()
+ </defect>
+
+ <defect number="DEF144494" title="when finish the mailbox configure, connet manually, after sync commpleted, Unable to perform operations pops up " revision="079">
+ Moved MarkOnOrOfflineL() API down
+ </defect>
+
+ <defect number="PDEF143414" title="TRUE - IMAP4 not fully supporting standard email " revision="078">
+ Parsing the server response without [ ].
+ </defect>
<defect number="DEF142209" title="[System Build] components go influenced by sytem marco in MSF00202 tb101sf" revision="077">
Included missing header file.
--- a/email/imap4mtm/imapservermtm/src/cimapupsresponsewaiter.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/email/imap4mtm/imapservermtm/src/cimapupsresponsewaiter.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -138,4 +138,5 @@
{
iUpsSubsession.CancelPrompt();
iImapProtocolController.CancelAndCleanup();
+ CMsgActive::DoCancel();
}
--- a/email/imap4mtm/imapsyncmanager/src/cimapfolder.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/email/imap4mtm/imapsyncmanager/src/cimapfolder.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -688,7 +688,7 @@
// * If the remote message is no longer there:
// (1) Then the local message is orphaned (always).
// * If the remote message is still there and it is not one of the N most recent:
- // (2) If the local message has body parts do nothing.
+ // (2) If the local message has body parts do nothing. - This Check has been removed as per new CMail UI.
// (3) If the local message does not have body parts, then it is orphaned
// unless is is a message we have selected for download.
// * If the remote message is still there and it is one of the N most recent:
@@ -734,16 +734,12 @@
SetEntryL((*iFolderIndex)[localloop].iMsvId);
TMsvEmailEntry message(iServerEntry.Entry());
// Does message have any downloaded parts?
- if(!message.Complete() &&
- !message.BodyTextComplete())
- {
- // The local message does not have any body parts and
- // is not selected for download, so it is orphaned.
- // See case (3) above.
- __LOG_FORMAT((iSavedSession->LogId(), "ImapFolder: Local message (%d) is only header and not selected for download, deleting", (*iFolderIndex)[localloop].iMsvId));
- removeThis = ETrue;
- iOrphanedMessages++;
- }
+ // The local message does not have any body parts and
+ // is not selected for download, so it is orphaned.
+ // See case (3) above.
+ __LOG_FORMAT((iSavedSession->LogId(), "ImapFolder: Local message (%d) is only header and not selected for download, deleting", (*iFolderIndex)[localloop].iMsvId));
+ removeThis = ETrue;
+ iOrphanedMessages++;
}
break;
}
--- a/email/pop3andsmtpmtm/clientmtms/inc/MIUTMSG.H Mon Mar 15 12:40:06 2010 +0200
+++ b/email/pop3andsmtpmtm/clientmtms/inc/MIUTMSG.H Wed Mar 31 21:25:02 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2003-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"
--- a/email/pop3andsmtpmtm/clientmtms/src/MIUTMSG.CPP Mon Mar 15 12:40:06 2010 +0200
+++ b/email/pop3andsmtpmtm/clientmtms/src/MIUTMSG.CPP Wed Mar 31 21:25:02 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1998-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"
--- a/email/pop3andsmtpmtm/group/messaging_email.history.xml Mon Mar 15 12:40:06 2010 +0200
+++ b/email/pop3andsmtpmtm/group/messaging_email.history.xml Wed Mar 31 21:25:02 2010 +0300
@@ -3,7 +3,17 @@
<purpose>
Message Type Module (MTM) plugin to Messaging Framework supporting send/receive/edit of POP3 email messages.
</purpose>
-
+
+ Modified IMAP/POP server MTM API to delete the old messages for new CMail UI.
+ </defect>
+
+ Modified APIs to include embedded images.
+ </defect>
+
+ <defect number="DEF144968" title="Mail connection is disconnected with mVPN in MCL follow up" revision="157">
+ Handling cancel in CAPA command
+ </defect>
+
<defect number="PDEF137958" title="Denial of Service vulnerability in mail retrieval" revision="156">
Restricting the field size of the header to 5000, to avoid DOS condition.
</defect>
--- a/email/pop3andsmtpmtm/popservermtm/src/POPS.CPP Mon Mar 15 12:40:06 2010 +0200
+++ b/email/pop3andsmtpmtm/popservermtm/src/POPS.CPP Wed Mar 31 21:25:02 2010 +0300
@@ -208,7 +208,17 @@
iSocket->Disconnect();
iSocketConnected=EFalse;
}
- iSocket->Cancel(); // clear a pending socket call
+
+ if(iState == EPopCapabilities || iState == EWaitingForReply)
+ {
+ if(iPopCapabilities)
+ {
+ iPopCapabilities->Cancel();
+ }
+ }
+
+ iSocket->Cancel(); // clear a pending socket call
+
CMsgActive::DoCancel();
}
--- a/email/pop3andsmtpmtm/popservermtm/src/POPSRFSH.CPP Mon Mar 15 12:40:06 2010 +0200
+++ b/email/pop3andsmtpmtm/popservermtm/src/POPSRFSH.CPP Wed Mar 31 21:25:02 2010 +0300
@@ -1536,10 +1536,6 @@
// Don't delete email if body exists or if it is an email that is being opened immediately after
// the inbox refreshing (See defect PEN-5ESAWM)
{
- if (aEntry.BodyTextComplete())
- {
- return EFalse;
- }
// iMessagesToKeep may be Null
if (iMessagesToKeep && iMessagesToKeep->Find(aEntry.Id()) != KErrNotFound)
{
--- a/messagingappbase/mce/inc/MceMessageListItemArray.h Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/mce/inc/MceMessageListItemArray.h Wed Mar 31 21:25:02 2010 +0300
@@ -498,6 +498,14 @@
//FS Email stuff
TInt CreateEntryIndexL() const;
TInt GetEntryIndex( TInt aIndex ) const;
+
+ /**
+ * Check the MTM technology type for Mail Technology
+ * @param aMtm: Mtm Uid
+ * @return : ETrue if Mtm Technology is Mail
+ * otherwsie EFalse
+ */
+ TBool IsMailMtmTechnology(TUid aMtm ) const ;
private: // Data
CMsvSessionPtr iSession;
--- a/messagingappbase/mce/inc/MceOneRowMessageListContainer.h Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/mce/inc/MceOneRowMessageListContainer.h Wed Mar 31 21:25:02 2010 +0300
@@ -38,7 +38,7 @@
class CAknsBasicBackgroundControlContext;
class CPtiEngine;
class CAknTreeList;
-
+class CMtmUiDataRegistry;
// CLASS DECLARATION
@@ -548,6 +548,14 @@
*/
void HandleOperationCompletedL();
+ /**
+ * Check the MTM technology type for Mail Technology
+ * @param aMtm: Mtm Uid
+ * @return : ETrue if Mtm Technology is Mail
+ * otherwsie EFalse
+ */
+ TBool IsMailMtmTechnology( TUid aMtm )const;
+
private:
CAknSingleColumnStyleTreeList* iTreeListBox;
@@ -579,6 +587,7 @@
* KFeatureIdFfEmailFramework is enabled
*/
TBool iEmailFramework;
+ CMtmUiDataRegistry* iUiRegistry;
};
#endif
--- a/messagingappbase/mce/src/MceMainViewListItemArray.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/mce/src/MceMainViewListItemArray.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -1053,13 +1053,14 @@
_LIT(KDirAndMceExtraItemsResFileName,"mceextraitems.rsc");
TFileName fileName;
+ fileName.Insert( 0,KDC_APP_RESOURCE_DIR );
+ fileName.Append( KDirAndMceExtraItemsResFileName );
TFindFile finder( iCoeEnv->FsSession() );
//Search Y->A then Z:
- TInt err = finder.FindByDir( KDirAndMceExtraItemsResFileName, KDC_APP_RESOURCE_DIR );
+ BaflUtils::NearestLanguageFile(iCoeEnv->FsSession(),fileName);
+ TInt err = finder.FindByDir(fileName , KDC_APP_RESOURCE_DIR );
if(err == KErrNone)
- {
- fileName = finder.File();
- BaflUtils::NearestLanguageFile(iCoeEnv->FsSession(),fileName);
+ {
RConeResourceLoader resources( *iCoeEnv );
TInt err = KErrNone;
--- a/messagingappbase/mce/src/MceMessageListItemArray.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/mce/src/MceMessageListItemArray.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -99,6 +99,8 @@
//cmail update
#define KUidMsgTypeFsMtmVal 0x2001F406
+const TUid KMailTechnologyTypeUid = { 0x10001671 };
+
// ================= MEMBER FUNCTIONS =======================
// C++ default constructor can NOT contain any code that
@@ -416,8 +418,9 @@
aBuffer.Append( KColumnListSeparator );
- if ( aEntry.iMtm != KSenduiMtmMmsUid &&
- aEntry.Attachment() )
+
+ if ( aEntry.Attachment()&& aEntry.iMtm != KSenduiMtmMmsUid
+ && IsMailMtmTechnology(aEntry.iMtm))
{
aBuffer.AppendNum( (TInt) EMceBitmapIndexAttachment );
aBuffer.Append( KColumnListSeparator );
@@ -1596,5 +1599,19 @@
return tmpindex;
}
-
+// ----------------------------------------------------
+// CMceMessageListItemArray::IsMailMtmTechnology
+// ----------------------------------------------------
+TBool CMceMessageListItemArray::IsMailMtmTechnology(TUid aMtm )const
+ {
+ TBool isMailMtm = EFalse;
+ if ( aMtm.iUid != 0 && aMtm != KUidMsvLocalServiceMtm &&
+ iUiRegistry->IsPresent( aMtm) )
+ {
+ // get MTM technology type
+ TUid technologyType = iUiRegistry->TechnologyTypeUid( aMtm);
+ isMailMtm = ( KMailTechnologyTypeUid == technologyType );
+ }
+ return isMailMtm;
+ }
// End of File
--- a/messagingappbase/mce/src/MceMessageListView.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/mce/src/MceMessageListView.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -228,15 +228,7 @@
// Reset the sort order
iFolderItemArray->Reset();
}
- if ( iMsgListContainer &&
- iCurrentListType != GetFolderListBoxType())
- {
- ListboxTypeChangedL();
- }
- else
- {
- CreateListboxL();
- }
+
if ( iMsgListContainer )
{
iMsgListContainer->SetSortTypeL( iSortOrder, iOrdering );
@@ -245,7 +237,6 @@
TMsvId id = 0;
TBool editorLaunched = EFalse;
TBool launchingFromOutside = EFalse;
- TInt msgMtmUid = 0;
TMsvId service = KMsvLocalServiceIndexEntryId;
TMsvEntry entry;
@@ -273,18 +264,19 @@
{
// Set the folder based on the given ID
iFolderId = aCustomMessageId.iUid;
- // this is performance optimization, start to launch viewer before container creation
- if ( !iMsgListContainer && entry.Id() == KMsvGlobalInBoxIndexEntryId )
- {
- if ( LaunchViewerWhenOneUnreadL( msgMtmUid ) > KErrNotFound )
- {
- editorLaunched = ETrue;
- }
- }
+
}
iMceUi->SetDontExitOnNextOperationComplete();
}
-
+ if ( iMsgListContainer &&
+ iCurrentListType != GetFolderListBoxType())
+ {
+ ListboxTypeChangedL();
+ }
+ else
+ {
+ CreateListboxL();
+ }
if ( iMsgListContainer && aPrevViewId == TDRVIEWID )
@@ -1222,7 +1214,7 @@
switch ( currentEntry.iType.iUid )
{
case KUidMsvMessageEntryValue:
- if ( currentEntry.Parent() != KMsvGlobalOutBoxIndexEntryId )
+ if (( currentEntry.Parent() != KMsvGlobalOutBoxIndexEntryId) && (iFolderId != KMsvGlobalOutBoxIndexEntryId))
{
EditEntryL();
}
--- a/messagingappbase/mce/src/MceOneRowMessageListContainer.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/mce/src/MceOneRowMessageListContainer.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -59,7 +59,7 @@
#include <muiumsvuiserviceutilitiesinternal.h>
#include <mce.rsg>
-
+#include <mtudreg.h>
// CONSTANTS
const TInt KMceListContainerGranuality = 4;
@@ -79,7 +79,7 @@
//cmail update
#define KUidMsgTypeCmailMtmVal 0x2001F406
-
+const TUid KMailTechnologyTypeUid = { 0x10001671 };
// ================= MEMBER FUNCTIONS =======================
// ----------------------------------------------------
@@ -106,6 +106,7 @@
delete iBgContext;
delete iSelectedEntries;
delete iTreeListBox;
+ delete iUiRegistry;
}
@@ -207,6 +208,7 @@
TLocale locale;
iStartOfWeek = locale.StartOfWeek();
iDialerEvent = EFalse ;
+ iUiRegistry = CMtmUiDataRegistry::NewL(*aSession);
}
@@ -570,7 +572,9 @@
EFalse );
TBool attachmentIcon = EFalse;
- if ( entry.Attachment() && entry.iMtm != KSenduiMtmMmsUid )
+
+ if ( entry.Attachment() && entry.iMtm != KSenduiMtmMmsUid
+ && IsMailMtmTechnology(entry.iMtm ))
{
iTreeListBox->SetIcon(
itemId,
@@ -2075,7 +2079,9 @@
foundIcon,
EFalse );
TBool attachmentIcon = EFalse;
- if ( entry.Attachment() && entry.iMtm != KSenduiMtmMmsUid )
+
+ if ( entry.Attachment() && entry.iMtm != KSenduiMtmMmsUid
+ && IsMailMtmTechnology(entry.iMtm ))
{
iTreeListBox->SetIcon(
treeItemId,
@@ -2534,4 +2540,19 @@
}
}
+// ----------------------------------------------------
+// CMceOneRowMessageListContainer::IsMailMtmTechnology
+// ----------------------------------------------------
+TBool CMceOneRowMessageListContainer::IsMailMtmTechnology( TUid aMtm )const
+ {
+ TBool isMailMtm = EFalse;
+ if ( aMtm.iUid != 0 && aMtm != KUidMsvLocalServiceMtm &&
+ iUiRegistry->IsPresent( aMtm) )
+ {
+ // get MTM technology type
+ TUid technologyType = iUiRegistry->TechnologyTypeUid( aMtm);
+ isMailMtm = ( KMailTechnologyTypeUid == technologyType );
+ }
+ return isMailMtm;
+ }
// End of File
--- a/messagingappbase/mceextraitems/group/bld.inf Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/mceextraitems/group/bld.inf Wed Mar 31 21:25:02 2010 +0300
@@ -35,6 +35,8 @@
../rom/mceextraitems.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(mceextraitems.iby)
../rom/mceextraitems_resource.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(mceextraitems_resource.iby)
+../rom/mceextraitems.iby CORE_APP_LAYER_IBY_EXPORT_PATH(mceextraitems.iby)
+../rom/mceextraitems_resource.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(mceextraitems_resource.iby)
../loc/mceextraitems.loc APP_LAYER_LOC_EXPORT_PATH(mceextraitems.loc)
PRJ_EXTENSIONS
--- a/messagingappbase/msgavkon/msgindicatorplugin/group/ABLD.BAT Mon Mar 15 12:40:06 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of the License "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: ABLD.BATrem
-
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\s60\app\messaging\messaginguis\msgavkon\msgindicatorplugin\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/messagingappbase/msgeditor/appuisrc/MsgEditorShutter.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/msgeditor/appuisrc/MsgEditorShutter.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -152,6 +152,16 @@
openEditors--;
iOpenAppProperty.Set( openEditors );
}
+
+ TInt standAloneEditorCnt = 0; // since only one stand alone editor can be launched
+ iOpenAppStandAloneProperty.Get(KPSUidMsgEditor, KMuiuStandAloneOpenMsgEditors, standAloneEditorCnt);
+
+ if(standAloneEditorCnt > 0)
+ {
+ standAloneEditorCnt--;
+ iOpenAppStandAloneProperty.Set(KPSUidMsgEditor, KMuiuStandAloneOpenMsgEditors, standAloneEditorCnt);
+ }
+
iOpenAppProperty.Close();
iOpenAppStandAloneProperty.Close();
}
@@ -185,9 +195,7 @@
if((launchtype & EMsgLaunchEditorStandAlone ) && StandAloneEditorCnt > 1 )
{
- StandAloneEditorCnt = 1;
- err = iOpenAppStandAloneProperty.Set(KPSUidMsgEditor, KMuiuStandAloneOpenMsgEditors, StandAloneEditorCnt);
- // Run appshutter
+ // Run appshutter
CAknEnv::RunAppShutter();
}
else if ( openEditors )
--- a/messagingappbase/msgeditor/viewsrc/MsgAddressControlEditor.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/msgeditor/viewsrc/MsgAddressControlEditor.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -224,9 +224,18 @@
if( numOfEntries > 0 && numOfEntries != aEntryNumber && !setcursorpos)
{
TInt txtlen = TextLength();
- TInt curpos = CursorPos();
- entryStart = iRichText->CharPosOfParagraph( entryLength, aEntryNumber );
- curpos+= --entryLength;
+ TInt curpos = CursorPos();
+ if ( aEntryNumber )
+ {
+ entryStart = iRichText->CharPosOfParagraph( entryLength, aEntryNumber - 1 );
+ curpos = entryStart + --entryLength ;
+ }
+ else
+ {
+ entryStart = iRichText->CharPosOfParagraph( entryLength, aEntryNumber );
+ curpos+= --entryLength;
+ }
+
if ( TextView() )
{
if(curpos < txtlen)
--- a/messagingappbase/ncnlist/src/CNcnNotifApiObserver.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/ncnlist/src/CNcnNotifApiObserver.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -38,7 +38,9 @@
#include <NcnListInternalCRKeys.h>
#include <muiumsvuiserviceutilitiesinternal.h> // Messaging utilites
#include <messaginginternalcrkeys.h>
+#include <MIUTSET.H>
+const TUid KUidMsgTypeCmailMtmVal = {0x2001F406};
// ================= LOCAL CONSTANTS =======================
namespace
@@ -1045,42 +1047,45 @@
const TUid& aMtmType,
const TUid& aTechnologyType)
{
- TNcnMailBoxStatus mailbox( aMsvId );
+ if((aMtmType != KUidMsgTypeCmailMtmVal) && (aMtmType != KUidMsgTypeIMAP4) && (aMtmType != KUidMsgTypeSMTP) && (aMtmType != KUidMsgTypePOP3))
+ {
+ TNcnMailBoxStatus mailbox( aMsvId );
- // if mail box is not already in status array
- if ( iMailBoxStatusArray.Find( mailbox,
- TNcnMailBoxStatus::Match ) == KErrNotFound )
- {
- // set mailbox fields
- mailbox.iMTMType = aMtmType;
- mailbox.iMailBoxTechnologyType = aTechnologyType;
+ // if mail box is not already in status array
+ if ( iMailBoxStatusArray.Find( mailbox,
+ TNcnMailBoxStatus::Match ) == KErrNotFound )
+ {
+ // set mailbox fields
+ mailbox.iMTMType = aMtmType;
+ mailbox.iMailBoxTechnologyType = aTechnologyType;
- // set the mailboxes 'highest' values
- FindHighest_MsvId_ImapId_LatestTime(mailbox.iMailBox,
- mailbox.iHighestEMailMsvId ,
- mailbox.iHighestIMAPId,
- mailbox.iLatestMessageArrival);
+ // set the mailboxes 'highest' values
+ FindHighest_MsvId_ImapId_LatestTime(mailbox.iMailBox,
+ mailbox.iHighestEMailMsvId ,
+ mailbox.iHighestIMAPId,
+ mailbox.iLatestMessageArrival);
- // set the rest of the values
- mailbox.iUnreadCheckpointMsvId = mailbox.iHighestEMailMsvId;
- mailbox.iPublishedCheckpointMsvId = mailbox.iHighestEMailMsvId;
- mailbox.iPublishedCheckpointIMAPId = mailbox.iHighestIMAPId;
- mailbox.iPublishedCheckpointTimeStamp = mailbox.iLatestMessageArrival;
- mailbox.iPublishedNewEmailCount = 0;
- mailbox.iShowIcon = ETrue;
- //In case the mailbox is IMAP/POP/SyncMl update the notifcation
- //parameters. 3rd party box's will give these in API
- if( mailbox.iMTMType.iUid == KSenduiMtmImap4UidValue ||
- mailbox.iMTMType.iUid == KSenduiMtmPop3UidValue ||
- mailbox.iMTMType.iUid == KSenduiMtmSyncMLEmailUidValue )
- {
- //This should work, but just in case it does not
- //use default parameters
- TRAP_IGNORE(UpdateS60MailBoxNotificationAttributesL(mailbox));
- }
+ // set the rest of the values
+ mailbox.iUnreadCheckpointMsvId = mailbox.iHighestEMailMsvId;
+ mailbox.iPublishedCheckpointMsvId = mailbox.iHighestEMailMsvId;
+ mailbox.iPublishedCheckpointIMAPId = mailbox.iHighestIMAPId;
+ mailbox.iPublishedCheckpointTimeStamp = mailbox.iLatestMessageArrival;
+ mailbox.iPublishedNewEmailCount = 0;
+ mailbox.iShowIcon = ETrue;
+ //In case the mailbox is IMAP/POP/SyncMl update the notifcation
+ //parameters. 3rd party box's will give these in API
+ if( mailbox.iMTMType.iUid == KSenduiMtmImap4UidValue ||
+ mailbox.iMTMType.iUid == KSenduiMtmPop3UidValue ||
+ mailbox.iMTMType.iUid == KSenduiMtmSyncMLEmailUidValue )
+ {
+ //This should work, but just in case it does not
+ //use default parameters
+ TRAP_IGNORE(UpdateS60MailBoxNotificationAttributesL(mailbox));
+ }
- // and finally append mailbox status
- iMailBoxStatusArray.AppendL( mailbox );
+ // and finally append mailbox status
+ iMailBoxStatusArray.AppendL( mailbox );
+ }
}
}
--- a/messagingappbase/ncnlist/src/NcnOutboxObserver.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/ncnlist/src/NcnOutboxObserver.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -33,7 +33,9 @@
#include "NcnModelBase.h"
#include "CNcnMsvSessionHandler.h"
#include "CNcnMobileSignalStrengthHandler.h"
+#include <MIUTSET.H>
+const TUid KUidMsgTypeCmailMtmVal = {0x2001F406};
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------
@@ -117,6 +119,30 @@
// Check messagecount in outbox
TInt msgCount = iOutboxFolder->Count();
+ CMsvEntrySelection *smtpselection = NULL ;
+ CMsvEntrySelection *pop3selection = NULL;
+ CMsvEntrySelection *imapselection = NULL ;
+ CMsvEntrySelection *cmailselection = NULL ;
+
+ smtpselection = iOutboxFolder ->ChildrenWithMtmL( KUidMsgTypeSMTP );
+ CleanupStack::PushL( smtpselection );
+ TInt smtpCount= smtpselection ->Count();
+
+ pop3selection = iOutboxFolder ->ChildrenWithMtmL( KUidMsgTypePOP3 );
+ CleanupStack::PushL( pop3selection );
+ TInt pop3Count= pop3selection ->Count();
+
+ imapselection = iOutboxFolder ->ChildrenWithMtmL( KUidMsgTypeIMAP4 );
+ CleanupStack::PushL( imapselection );
+ TInt imapCount= imapselection ->Count();
+
+ cmailselection = iOutboxFolder ->ChildrenWithMtmL( KUidMsgTypeCmailMtmVal);
+ CleanupStack::PushL( cmailselection );
+ TInt cmailCount= cmailselection ->Count();
+
+ CleanupStack::Pop( 4 );
+ // Check messagecount in outbox
+ msgCount = msgCount - (smtpCount+pop3Count+ imapCount+cmailCount);
// Set msg count to the CR key
NCN_RDEBUG_INT( _L("CNcnOutboxObserver::CheckOutboxAndNotifyL SetCRInt(KNcnMessageCountInOutbox) %d" ), msgCount );
User::LeaveIfError( iModel->SetCRInt(
--- a/messagingappbase/sendui/genericmtmplugin/src/genericmtmplugin.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/messagingappbase/sendui/genericmtmplugin/src/genericmtmplugin.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -80,6 +80,7 @@
const TUint KSeconds = 1000000;
const TUid KMailTechnologyTypeUid = { 0x10001671 };
+const TUid KUidMsgTypeCmailMtmVal = { 0x2001f406 }; //CMail mtmuid
// ======== LOCAL FUNCTIONS ========
@@ -324,7 +325,8 @@
if ( success && ( aMtmUid == KSenduiMtmSmtpUid ||
aMtmUid == KSenduiMtmMmsUid ||
- aMtmUid == KSenduiMtmUniMessageUid ))
+ aMtmUid == KSenduiMtmUniMessageUid ||
+ aMtmUid == KUidMsgTypeCmailMtmVal ))
{
HBufC* subject = aMessageData->Subject().AllocLC();
cleanupItems++;
--- a/mobilemessaging/audiomsg/src/audiomessageappui.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/mobilemessaging/audiomsg/src/audiomessageappui.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -276,7 +276,7 @@
iCoeEnv->RootWin().EnableFocusChangeEvents(); // ignore error
- iScreenClearer = CAknLocalScreenClearer::NewLC( EFalse );
+ iScreenClearer = CAknLocalScreenClearer::NewLC( ETrue );
CleanupStack::Pop( iScreenClearer );
AMSLOGGER_WRITE( "CAudioMessageAppUi::ConstructL ends" );
}
--- a/mobilemessaging/smsmtm/clientmtm/inc/SMSCLNT.H Mon Mar 15 12:40:06 2010 +0200
+++ b/mobilemessaging/smsmtm/clientmtm/inc/SMSCLNT.H Wed Mar 31 21:25:02 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1999-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"
--- a/mobilemessaging/smsmtm/clientmtm/src/SMSCLNT.CPP Mon Mar 15 12:40:06 2010 +0200
+++ b/mobilemessaging/smsmtm/clientmtm/src/SMSCLNT.CPP Wed Mar 31 21:25:02 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1999-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"
@@ -238,8 +238,18 @@
{
User::Leave(err);
}
-
- iServiceId = 0;
+ TMsvEntry entry;
+ entry.iMtm = KUidMsgTypeSMS;
+ entry.iType = KUidMsvServiceEntry;
+ entry.SetReadOnly(EFalse);
+ entry.SetVisible(EFalse);
+ entry.iDate.UniversalTime();
+ entry.iDetails.Set(_L("Default SMS Message"));
+
+ CMsvEntry* root = Session().GetEntryL(KMsvRootIndexEntryId);
+ root->CreateL(entry);
+ iServiceId = entry.Id();
+ delete root;
}
//Initialise iRealAddressOpen and iRealAddressClose from the SMS resouce file
@@ -1539,7 +1549,6 @@
/**
Creates a new outgoing SMS message entry as a child of the current context.
-
Used by CSendAs::CreateMessageL to create an outgoing SMS message.
@param
--- a/mobilemessaging/smsmtm/group/messaging_sms.history.xml Mon Mar 15 12:40:06 2010 +0200
+++ b/mobilemessaging/smsmtm/group/messaging_sms.history.xml Wed Mar 31 21:25:02 2010 +0300
@@ -4,6 +4,14 @@
Message Type Module (MTM) plugin to Messaging Framework, supporting sending/receiving/editing of SMS messages.
</purpose>
+<defect number="DEF144773" title="[System Build] Program closed on Auto smoke test in tb92sf_1065" revision="040">
+ Logical error in last code submission in smsclnt.cpp in void CMsvServer::ConstructL(). Updated those changes accordingly.
+ </defect>
+
+ <defect number="DEF144509 " title="Bell Mobility Canada -GSM/WCDMA -OTC-SMS-MO-to invalid destination is retried" revision="039">
+ Checking for the error codes to avoid sending messages to invlaid numbers.
+ </defect>
+
<defect number="DEF142607 " title="smcm.dll contains ABSENT symbols" revision="038">
declared classes as non sharable classes
</defect>
--- a/mobilemessaging/smsmtm/servermtm/src/SMSSERV.CPP Mon Mar 15 12:40:06 2010 +0200
+++ b/mobilemessaging/smsmtm/servermtm/src/SMSSERV.CPP Wed Mar 31 21:25:02 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1999-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"
@@ -19,6 +19,7 @@
#include "SMSSPAN.H"
#include "SMSSOUTB.H"
+#include <c32comm.h>
#include <msventry.h>
#include <smss.rsg>
#include <smscmds.h>
--- a/mobilemessaging/smsmtm/servermtm/src/SMSSOUTB.CPP Mon Mar 15 12:40:06 2010 +0200
+++ b/mobilemessaging/smsmtm/servermtm/src/SMSSOUTB.CPP Wed Mar 31 21:25:02 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1999-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"
@@ -23,6 +23,7 @@
#include <logsmspdudata.h>
#include <smsulog.h>
#include <logwraplimits.h>
+#include <exterror.h>
#include "SMSSendSession.h"
#include "SMSSPAN.H"
@@ -210,7 +211,15 @@
{
if (iCurrentMessage)
{
- ReScheduleFailedMessageL();
+ if( (iProgress.iError == KErrGsmSMSShortMessageTransferRejected) || (iProgress.iError == KErrGsmSMSInvalidMandatoryInformation) || (iProgress.iError == KErrGsmSMSUnidentifiedSubscriber) ||
+ (iProgress.iError == KErrGsmSMSUnknownSubscriber) || (iProgress.iError == KErrGsmSMSNetworkOutOfOrder) )
+ {
+ DoComplete(iProgress.iError);
+ }
+ else
+ {
+ ReScheduleFailedMessageL();
+ }
}
else
{
--- a/mobilemessaging/smsui/viewersrc/MsgSmsViewerAppUi.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/mobilemessaging/smsui/viewersrc/MsgSmsViewerAppUi.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -246,7 +246,7 @@
EMbmMuiuQgn_prop_mce_sms_title_mask );
- iScreenClearer = CAknLocalScreenClearer::NewLC( EFalse );
+ iScreenClearer = CAknLocalScreenClearer::NewLC( ETrue );
CleanupStack::Pop( iScreenClearer );
iTypeMsg = CSmsPDU::ESmsDeliver; //for successful launch save the PDU Type.
--- a/mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp Mon Mar 15 12:40:06 2010 +0200
+++ b/mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp Wed Mar 31 21:25:02 2010 +0300
@@ -2846,6 +2846,16 @@
}
TUniState currentState = Document()->UniState();
+ if(currentState == EUniMms)
+ {
+ TInt PrevSlidecount = iSmilModel->SlideCount();
+ iSmilModel->RemoveEmptySlides();
+ if( PrevSlidecount != iSmilModel->SlideCount() )
+ {
+ Document()->SetBodyModified( ETrue );
+ CheckBodyForMessageTypeL();
+ }
+ }
TBool modified( EFalse );
if ( !VerifyAddressesL( modified ) )
@@ -7455,6 +7465,11 @@
}
CleanupStack::PopAndDestroy( queryText );
+ if(!ObjectsAvailable() && Document()->CurrentSlide())
+ {
+ DoRemoveSlideL();
+ Document()->SetBodyModified( ETrue );
+ }
CheckBodyForMessageTypeL();
MsgLengthToNavipaneL();
}
@@ -7477,8 +7492,12 @@
Document()->SetBodyModified( ETrue );
UpdateSmilTextAttaL();
- }
-
+ }
+ if((Document()->UniState() == EUniMms) &&(!ObjectsAvailable() && Document()->CurrentSlide()))
+ {
+ DoRemoveSlideL();
+ Document()->SetBodyModified( ETrue );
+ }
CheckBodyForMessageTypeL();
MsgLengthToNavipaneL();
SetOrRemoveMaxSizeInEdwin();