Revision: 201007 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 12 Mar 2010 15:42:19 +0200
branchRCL_3
changeset 12 caea42e26caa
parent 9 1d7827e39b52
child 13 a9c7e5670d17
Revision: 201007 Kit: 201008
messagingappbase/mce/group/mce.mmp
messagingappbase/mce/group/mce.rss
messagingappbase/mce/inc/MceCommands.hrh
messagingappbase/mce/inc/MceMainViewEmptyListContainer.h
messagingappbase/mce/inc/MceMainViewListView.h
messagingappbase/mce/loc/mce.loc
messagingappbase/mce/src/MceMainViewEmptyListContainer.cpp
messagingappbase/mce/src/MceMainViewListItemArray.cpp
messagingappbase/mce/src/MceMainViewListView.cpp
messagingappbase/mce/src/MceMessageListContainer.cpp
messagingappbase/mce/src/MceMessageListItemArray.cpp
messagingappbase/mce/src/MceOneRowMessageListContainer.cpp
messagingappbase/mce/src/MceUtils.cpp
messagingappbase/mce/src/mceiaupdateutils.cpp
messagingappbase/mce/src/mceui.cpp
messagingappbase/mceextraitems/loc/mceextraitems.loc
messagingappbase/mcesettings/group/MceSettings.mmp
messagingappbase/mcesettings/inc/MceSettingsGeneralSettingsDialog.h
messagingappbase/mcesettings/src/MceSettingsEmailSel.cpp
messagingappbase/mcesettings/src/MceSettingsGeneralSettingsDialog.cpp
messagingappbase/mcesettings/src/MceSettingsMultipleServicesDialog.cpp
messagingappbase/mcesettings/src/MceSettingsUtils.cpp
messagingappbase/msgavkon/conf/messaging.confml
messagingappbase/msgavkon/conf/messaging_101F87EF.crml
messagingappbase/msgavkon/muiu_domain/launcher/src/MuiuMsgEditorService.cpp
messagingappbase/msgavkon/muiu_internal/inc/MessagingInternalCRKeys.h
messagingappbase/msgeditor/appuisrc/MsgCheckNames.cpp
messagingappbase/msgeditor/appuisrc/MsgNaviPaneControl.cpp
messagingappbase/msgeditor/appuisrc/MsgViewAttachmentsDialog.cpp
messagingappbase/ncnlist/src/CNcnNotifier.cpp
messagingappbase/ncnlist/src/NcnMsvSessionObserver.cpp
messagingappbase/obexmtms/Rom/obex.hby
messagingappbase/sendui/genericmtmplugin/src/genericmtmplugin.cpp
messagingappbase/smartmessaging/help/inc/smart.hlp.hrh
mmsengine/mmscodec/inc/mmsdecode.h
mmsengine/mmscodec/src/mmsdecode.cpp
mmsengine/mmscodec/src/mmsencode.cpp
mobilemessaging/audiomsg/inc/audiomessageappui.h
mobilemessaging/audiomsg/src/audiomessageappui.cpp
mobilemessaging/mmsui/viewersrc/UniMmsViewerAppUi.cpp
mobilemessaging/smsui/group/bld.inf
mobilemessaging/smsui/viewersrc/MsgSmsViewerAppUi.cpp
mobilemessaging/smum/src/SMSI.CPP
mobilemessaging/smum/src/smsdetailsplugin.cpp
mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp
--- a/messagingappbase/mce/group/mce.mmp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/group/mce.mmp	Fri Mar 12 15:42:19 2010 +0200
@@ -21,6 +21,9 @@
 #include <data_caging_paths.hrh>
 #include <platform_paths.hrh>
 
+MACRO             RD_HIDE_MEMORY_IN_USE
+#define           RD_HIDE_MEMORY_IN_USE
+
 TARGET          mce.exe
 EPOCSTACKSIZE   0x6000
 EPOCHEAPSIZE    0x1000 0x2000000
--- a/messagingappbase/mce/group/mce.rss	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/group/mce.rss	Fri Mar 12 15:42:19 2010 +0200
@@ -41,7 +41,6 @@
 
 #include <appinfo.rh>
 #include <messaging.loc>
-
 #include <AiwCommon.rh>
 
 #include <aknsconstants.hrh>
@@ -224,14 +223,18 @@
             command = EMceCmdZoomMenu;
             txt = qtn_options_text_size;
             cascade = r_mce_local_zoom_value;
+            },            
+        MENU_ITEM   
+            { 
+            command = EMceDefaultView;    
+            txt = qtn_cv_opt_def_view; 
+            cascade = r_mce_default_view_submenu;  
             },
         MENU_ITEM
             {
             command = EMceCmdSettings;
             txt = qtn_mce_settings;
             },
-
-
         MENU_ITEM
             {
             command = EAknCmdHelp;
@@ -1152,5 +1155,63 @@
     { 
     buf = qtn_mce_rm_mark_unread; 
     }
-    
+
+//----------------------------------------------------
+//    Ok/ Empty confirmation dialog
+//----------------------------------------------------
+//
+RESOURCE DIALOG r_mce_ok_empty_confirmation
+    {
+    flags = EGeneralQueryFlags;
+    buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
+    items=
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control = AVKON_CONFIRMATION_QUERY
+                { 
+                layout = EConfirmationLayout;
+                label = "";
+                animation = R_QGN_NOTE_INFO_ANIM;
+                };
+            }
+        };
+    }
+
+// ---------------------------------------------------------
+//   
+//    R_MCE_DEFAULT_VIEW_SUBMENU 
+//    Cascading  menu items
+// ---------------------------------------------------------
+//
+
+RESOURCE MENU_PANE r_mce_default_view_submenu
+    {
+    items = 
+        {       
+        MENU_ITEM   
+            { 
+            command = EMceDefaultConversationsView;    
+            txt = qtn_cv_opt_sub_conv;  
+            flags = EEikMenuItemRadioStart; 
+            }
+        ,
+        MENU_ITEM   
+            { 
+            command = EMceDefaultInboxView;            
+            txt = qtn_cv_opt_sub_inbox;    
+            flags = EEikMenuItemRadioEnd; 
+            }       
+        };
+    }
+
+// ---------------------------------------------------------
+//   Mce Default view notifications
+// ---------------------------------------------------------
+//
+RESOURCE TBUF r_defaultview_inbox_selected            {  buf = qtn_cv_info_inbox_used;    }
+RESOURCE TBUF r_defaultview_conversation_selected     {  buf = qtn_cv_info_conv_used;    }
+   
 // End of File
--- a/messagingappbase/mce/inc/MceCommands.hrh	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/inc/MceCommands.hrh	Fri Mar 12 15:42:19 2010 +0200
@@ -53,6 +53,11 @@
     EMceCmdSettings,
     EMceCmdCall,
 
+    // Message viewing style commands
+    EMceDefaultView,
+    EMceDefaultConversationsView,
+    EMceDefaultInboxView,
+
     EMceCIdChoiceList,
     EMceIdDuplicateFolderNote,
     EMceCmdSettingsChoiceMenuOpen,
--- a/messagingappbase/mce/inc/MceMainViewEmptyListContainer.h	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/inc/MceMainViewEmptyListContainer.h	Fri Mar 12 15:42:19 2010 +0200
@@ -24,8 +24,8 @@
 
 //  INCLUDES
 #include <coecntrl.h>
-
 // CLASS DECLARATION
+class CAknsBasicBackgroundControlContext;
 
 /**
 *  Displayed in mce launch before message server is ready.
@@ -62,6 +62,15 @@
         virtual TKeyResponse OfferKeyEventL(
             const TKeyEvent& aKeyEvent,
             TEventCode aType );
+        
+        /**
+        * From CCoeControl
+        */
+        TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
+        /**
+        * Called when the size has changed.
+        */        
+        void SizeChanged();
 
     private:
 
@@ -69,6 +78,11 @@
         * By default Symbian OS constructor is private.
         */
         void ConstructL(const TRect& aRect);
+        
+        /**
+        * Own: Background Skin
+        */
+        CAknsBasicBackgroundControlContext* iBgContext;
 
     };
 
--- a/messagingappbase/mce/inc/MceMainViewListView.h	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/inc/MceMainViewListView.h	Fri Mar 12 15:42:19 2010 +0200
@@ -57,6 +57,13 @@
     public MEikListBoxObserver,
     public MMsvSessionObserver
     {
+    public:
+        
+        enum TMceDefaultView
+            {
+            EMceInboxview = 0,                   
+            EMceConversationview
+            };
 
     public:  // Constructors and destructor
 
@@ -240,6 +247,22 @@
 		*/
         CAiwGenericParamList* AiwSyncParamListLC(TInt aId, const TDesC& aText);
 
+        /**
+         * Show a confirmation note to the user after successful 
+         * setting of the default view
+         */
+        void ShowConfirmationNoteL( TInt aResourceID );
+       
+        /**
+         *  Set the default view settings    
+         */
+        TBool SetMceDefaultViewL(TBool aVal);
+
+        /**
+         *  Get the current default view settings    
+         */
+        TInt GetMceDefaultViewL();
+
     private:    // Data
         CMceMainViewListContainer*      iMsgListContainer;
 
--- a/messagingappbase/mce/loc/mce.loc	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/loc/mce.loc	Fri Mar 12 15:42:19 2010 +0200
@@ -734,4 +734,38 @@
 #define qtn_mce_doc_temp_folder_1row  "Templates"
 
 
+//d: Command in options list in Conversation List view. 
+//d: to set the default view to be launched when a new message is arrived
+//l: list_single_pane_t1_cp2
+//r: 9.2
+#define qtn_cv_opt_def_view                             "Message Viewing Style"
+
+
+//d: Command in option menu  "Default View" submenu.
+//d: open the Conversations application from new message notifications.
+//l: list_single_popup_submenu_pane_t1/opt1 
+//r: 9.2
+#define qtn_cv_opt_sub_conv                             "Conversations"
+
+
+//d: Command in option menu  "Default View" submenu.
+//d: open the Inbox from new message notifications.
+//l: list_single_popup_submenu_pane_t1/opt1
+//r: 9.2
+#define qtn_cv_opt_sub_inbox                            "Inbox"
+
+
+//d: Information note.
+//d: Note shown when user sets Inbox as default view.
+//l: popup_note_window
+//r: 9.2
+#define qtn_cv_info_inbox_used                          "New message notification will open Inbox"
+
+
+//d: Information note.
+//d: Note shown when user sets Conversation as default view.
+//l: popup_note_window
+//r: 9.2
+#define qtn_cv_info_conv_used                           "New message notification will open Conversations"
+
 // End of File
--- a/messagingappbase/mce/src/MceMainViewEmptyListContainer.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/MceMainViewEmptyListContainer.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -19,8 +19,10 @@
 
 
 // INCLUDE FILES
-#include    <eikenv.h>
+#include <eikenv.h>
 #include <aknenv.h>
+#include <AknsDrawUtils.h>
+#include <AknsBasicBackgroundControlContext.h>
 #include    "MceMainViewEmptyListContainer.h"
 
 
@@ -36,6 +38,8 @@
 // Symbian OS default constructor can leave.
 void CMceMainViewEmptyListContainer::ConstructL( const TRect& aRect )
     {
+    iBgContext = CAknsBasicBackgroundControlContext::NewL(
+                KAknsIIDQsnBgAreaMainMessage, aRect, ETrue);
     CreateWindowL();
     SetRect( aRect );
     ActivateL();
@@ -56,6 +60,7 @@
 // Destructor
 CMceMainViewEmptyListContainer::~CMceMainViewEmptyListContainer()
     {
+    delete iBgContext;
     }
 
 
@@ -68,7 +73,30 @@
     {
     return EKeyWasConsumed;
     }
-
+// ---------------------------------------------------------
+// CMceMainViewEmptyListContainer::MopSupplyObject
+// ---------------------------------------------------------
+//
+TTypeUid::Ptr CMceMainViewEmptyListContainer::MopSupplyObject(TTypeUid aId)
+    {
+    if (aId.iUid == MAknsControlContext::ETypeId)
+        {
+        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
+        }
+    return CCoeControl::MopSupplyObject(aId);
+    }
+// ---------------------------------------------------------
+// CMceMainViewEmptyListContainer::SizeChanged
+// ---------------------------------------------------------
+//
+void CMceMainViewEmptyListContainer::SizeChanged()
+    {
+    if ( iBgContext )
+        {
+        iBgContext->SetRect( Rect() );
+        iBgContext->SetParentPos( PositionRelativeToScreen() );
+       }
+    }
 // ---------------------------------------------------------
 // CMceMainViewEmptyListContainer::Draw
 // ---------------------------------------------------------
@@ -76,10 +104,19 @@
 void CMceMainViewEmptyListContainer::Draw(const TRect& /*aRect*/ ) const
     {
     CWindowGc& gc = SystemGc();
-    gc.SetPenColor( AKN_LAF_COLOR ( 0 ) ); // background
-    gc.SetPenStyle( CGraphicsContext::ESolidPen );
-    gc.SetPenSize( TSize(0,0) ); // no border needed here
-    gc.DrawRect( Rect() );
+    TRect aRect = Rect();
+    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
+
+    if( !AknsDrawUtils::Background( skin, cc, this, gc, aRect ) )
+        {
+        // Same as CCoeControl draw for blank controls
+        CGraphicsContext& gcBlank = SystemGc();
+        gcBlank.SetPenStyle( CGraphicsContext::ENullPen );
+        gcBlank.SetBrushStyle( CGraphicsContext::ESolidBrush );
+        gcBlank.DrawRect( aRect );
+      }
+
     }
 
 //  End of File
--- a/messagingappbase/mce/src/MceMainViewListItemArray.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/MceMainViewListItemArray.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -1184,6 +1184,7 @@
     TInt emailcount=0;
     TInt itemcount;
     CMsvEntry* entry = iSession->GetEntryL( serviceId );
+    CleanupStack::PushL( entry );
     itemcount=entry->Count();
       
     //Find email messages 
@@ -1244,7 +1245,7 @@
         CleanupStack::PopAndDestroy( pop3selection );
         }
     CleanupStack::PopAndDestroy( smtpselection );
-
+    CleanupStack::PopAndDestroy( entry );
     return visiblecount; 
     }
 //  End of File
--- a/messagingappbase/mce/src/MceMainViewListView.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/MceMainViewListView.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -111,9 +111,9 @@
     iBitmapResolver( aBitmapResolver ),
     iSelectedIndex( KErrNotFound ),
     iTopItemIndex( 0 ),
-    iSelectionFolderId( KMsvNullIndexEntryId ),
-		iSelectableEmail(EFalse), 
+    iSelectionFolderId( KMsvNullIndexEntryId ), 
 		iEmailClientIntegration(EFalse),
+		iSelectableEmail(EFalse),
 		iEmailFramework(EFalse)
     {
     iSessionHolder.AddClient();
@@ -232,6 +232,8 @@
             iEmptyListContainer = CMceMainViewEmptyListContainer::NewL( ClientRect() );
             AppUi()->AddToStackL(*this,iEmptyListContainer);
             MCELOGGER_WRITE_TIMESTAMP("Main view: Empty container activated at ");
+            CEikStatusPane* sp = StatusPane();
+            sp->DrawNow();
             }
         if ( aCustomMessageId.iUid == KMceShowMail )
             {
@@ -489,6 +491,19 @@
             break;
         case EAknCmdHideInBackground:
             break;
+        case EMceDefaultConversationsView:
+            if ( SetMceDefaultViewL(EMceConversationview) )
+                {
+                ShowConfirmationNoteL(R_DEFAULTVIEW_CONVERSATION_SELECTED);  
+                }
+             break;
+             
+        case EMceDefaultInboxView:     
+            if ( SetMceDefaultViewL(EMceInboxview) )
+                {
+                ShowConfirmationNoteL(R_DEFAULTVIEW_INBOX_SELECTED);
+                }
+             break;
         case EMceCmdSettings:
 		    {
 		    if (( iEmailClientIntegration )&&(!iEmailFramework))
@@ -778,7 +793,22 @@
     			}
     		}
     	}
-        
+    if ( aResourceId == R_MCE_DEFAULT_VIEW_SUBMENU )
+       {
+       TInt defaultview = KErrGeneral;
+       defaultview = GetMceDefaultViewL();
+       if(defaultview == EMceInboxview )
+           {
+           aMenuPane->SetItemButtonState( EMceDefaultInboxView,
+                    EEikMenuItemSymbolOn );
+           }
+       if(defaultview == EMceConversationview )
+           {
+           aMenuPane->SetItemButtonState( EMceDefaultConversationsView,
+                    EEikMenuItemSymbolOn );
+           }
+       }
+  
     iMceUi->DynInitMenuPaneL( aResourceId, aMenuPane );
     }
 
@@ -1104,4 +1134,62 @@
         }
     }
 
+// ---------------------------------------------------------
+// CConversationListView::ShowInformationNoteL
+// Shows a note to the user if the default view selection was successful
+// ---------------------------------------------------------
+//
+void CMceMainViewListView::ShowConfirmationNoteL(TInt aResourceID)
+    {
+    HBufC* prompt = NULL;           
+    prompt = StringLoader::LoadLC( aResourceID, iCoeEnv );             
+    CAknQueryDialog* dlg = CAknQueryDialog::NewL();
+    dlg->ExecuteLD( R_MCE_OK_EMPTY_CONFIRMATION, prompt->Des() );          
+    CleanupStack::PopAndDestroy( prompt );   
+    }
+
+// ---------------------------------------------------------
+// CMceMainViewListView::SetMceDefaultViewL
+// Sets the central repository for the default view activation when 
+// a new message arrives
+// ---------------------------------------------------------
+//
+TBool CMceMainViewListView::SetMceDefaultViewL(TBool aVal)
+    {
+    CRepository* repository = NULL;
+    TRAPD( ret, repository = CRepository::NewL(KCRUidMuiuSettings) );
+    if ( ret == KErrNone )
+       {
+       CleanupStack::PushL( repository );
+       repository->Set(KMuiuMceDefaultView,aVal);
+       CleanupStack::PopAndDestroy( repository );
+       return ETrue;
+       }
+    else
+        {
+        return EFalse;
+        }
+    }
+// ---------------------------------------------------------
+// CMceMainViewListView::GetMceDefaultViewL
+// Get the central repository value of the current default view 
+// ---------------------------------------------------------
+//
+TInt CMceMainViewListView::GetMceDefaultViewL()
+    {
+    CRepository* repository = NULL;
+    TInt keyvalue;
+    TRAPD( ret, repository = CRepository::NewL(KCRUidMuiuSettings) );
+    if ( ret == KErrNone )
+       {
+       CleanupStack::PushL( repository );
+       repository->Get(KMuiuMceDefaultView,keyvalue);
+       CleanupStack::PopAndDestroy( repository );
+       return keyvalue;
+       }
+    else
+       {
+       return KErrNotFound;
+       }
+    }
 //  End of File
--- a/messagingappbase/mce/src/MceMessageListContainer.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/MceMessageListContainer.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -1384,7 +1384,6 @@
 	                    }
                     if(aEvent==MMsvSessionObserver::EMsvEntriesCreated)
                         {
-                               TInt selectedIndex =0;
                                iAnchorItemIndex=0;
                                iAnchorItemId = iListItems->ItemId( iAnchorItemIndex );
                         }
--- a/messagingappbase/mce/src/MceMessageListItemArray.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/MceMessageListItemArray.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -115,8 +115,8 @@
     iListType( aListType ),
     iBitmapResolver( aBitmapResolver ),
     iEmailClientIntegration(EFalse),
-    iEmailFramework(EFalse),
-    iIntegratedEmailAppExcist(EFalse)
+    iIntegratedEmailAppExcist(EFalse),
+    iEmailFramework(EFalse)
     {
     iDescriptionLength = iBitmapResolver.DescriptionLength();
     }
@@ -238,7 +238,7 @@
     TInt count = iFolderEntry->Count();
     if ( (iEmailClientIntegration && iIntegratedEmailAppExcist) || iEmailFramework ) 
         {
-        TRAPD( err, count = CreateEntryIndexL() );
+        TRAP_IGNORE( count = CreateEntryIndexL() );
         }
     for( TInt loop = 0; loop < count && foundItem == KErrNotFound ; loop++)
         {
@@ -325,7 +325,7 @@
                 iFolderId == KMsvGlobalInBoxIndexEntryId || iFolderId == KMsvGlobalOutBoxIndexEntryId)
             {
 
-            TRAPD( err, retval = CreateEntryIndexL() );
+            TRAP_IGNORE( retval = CreateEntryIndexL() );
             }
         }   
     return ( retval );
--- a/messagingappbase/mce/src/MceOneRowMessageListContainer.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/MceOneRowMessageListContainer.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -2528,7 +2528,6 @@
 
        if(iLastOperationType == EMessageListOperationConnect )
          {                  
-         TInt selectedIndex =1;
          iAnchorItemIndex=1;
          iAnchorItemId = iListItems->ItemId( iAnchorItemIndex );
          SetCurrentItemIdL( iAnchorItemId );
--- a/messagingappbase/mce/src/MceUtils.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/MceUtils.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -157,6 +157,9 @@
 //
 TBool MceUtils::MemoryInUseOptionL( )
     {
+#ifdef RD_HIDE_MEMORY_IN_USE
+    return EFalse;
+#endif // RD_HIDE_MEMORY_IN_USE
     TBool memoryInUse = ETrue;
     if ( FeatureManager::FeatureSupported( KFeatureIdMmc ) )
         {        
--- a/messagingappbase/mce/src/mceiaupdateutils.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/mceiaupdateutils.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -35,7 +35,7 @@
 // ---------------------------------------------------------------------------
 //
 CMceIAUpdateUtils::CMceIAUpdateUtils(CMceUi& aMceUi)
-: iUpdate( NULL ), iParameters( NULL ),iMceUi( aMceUi ),CActive(EPriorityStandard)
+: CActive(EPriorityStandard),iUpdate( NULL ), iParameters( NULL ),iMceUi( aMceUi )
     {
     CActiveScheduler::Add(this);
     }
--- a/messagingappbase/mce/src/mceui.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mce/src/mceui.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -66,7 +66,7 @@
 #include <sendui.h>
 #include <CMessageData.h>
 
-
+#include <layoutmetadata.cdl.h>//for layout id
 #include <aknappui.h>
 #include <StringLoader.h>   // stringloader
 #include <akntabgrp.h>
@@ -1255,6 +1255,16 @@
         }
         
     CAknViewAppUi::HandleResourceChangeL( aType );
+	// this is fix for setting the correct status pane id, if AVKON changes the status pane ids then there will be a problem
+    TBool landscape( Layout_Meta_Data::IsLandscapeOrientation() );
+    if(!landscape)
+    {
+    CEikStatusPane* statusPane = StatusPane();
+    if(statusPane->CurrentLayoutResId()== R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT)
+    {
+    statusPane->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT );
+    }
+    }
     if( aType == KEikDynamicLayoutVariantSwitch )
         {
         if ( iLocalScreenClearer )
@@ -1642,7 +1652,7 @@
                             entryUid = tentry.iMtm;     
                             }
 
-                        CBaseMtmUiData* mtmUiData;
+                        CBaseMtmUiData* mtmUiData = NULL;
 
                         TRAPD( returnVal, mtmUiData =
                                &( iMtmStore->MtmUiDataL( entryUid ) ) );
@@ -3659,7 +3669,7 @@
 // ----------------------------------------------------
 void CMceUi::CheckIAUpdate()
     {
-    iMceIAUpdate->StartL( TUid::Uid( KMceApplicationUidValue ) );
+    TRAP_IGNORE(iMceIAUpdate->StartL( TUid::Uid( KMceApplicationUidValue ) ));
     }
 
 // ----------------------------------------------------
@@ -6622,7 +6632,7 @@
     CleanupStack::PushL( singleOpWatcher );
 
     CMsvOperation* op = NULL;
-    TRAPD( error, ( op=mtmUi.OpenL(singleOpWatcher->iStatus ) ) );
+    TRAP_IGNORE(  op=mtmUi.OpenL(singleOpWatcher->iStatus )  );
     
     CleanupStack::PushL( op );
     iOperations.AppendL( singleOpWatcher );
@@ -6708,7 +6718,7 @@
 
     if ( error !=KErrNone )
         {
-        return;
+        return -1;
         }
     // Reset inactivity timer to keep viewServer from crashing  
     User::ResetInactivityTime();
--- a/messagingappbase/mceextraitems/loc/mceextraitems.loc	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mceextraitems/loc/mceextraitems.loc	Fri Mar 12 15:42:19 2010 +0200
@@ -44,5 +44,5 @@
 // l: list_double_large_graphic_pane_t2
 
 
-#define qtn_mce_own_cvs "Own conversations"
+#define qtn_mce_own_cvs "My conversations"
 // End of File
--- a/messagingappbase/mcesettings/group/MceSettings.mmp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mcesettings/group/MceSettings.mmp	Fri Mar 12 15:42:19 2010 +0200
@@ -21,6 +21,9 @@
 #include <data_caging_paths.hrh>
 #include <platform_paths.hrh>
 
+MACRO             RD_HIDE_MEMORY_IN_USE
+#define           RD_HIDE_MEMORY_IN_USE
+
 // Include common Mce UID definition file
 
 TARGET          mcesettings.dll
--- a/messagingappbase/mcesettings/inc/MceSettingsGeneralSettingsDialog.h	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mcesettings/inc/MceSettingsGeneralSettingsDialog.h	Fri Mar 12 15:42:19 2010 +0200
@@ -144,7 +144,7 @@
         /**
          *  This will return true if there is any third party mailbox.
          */
-        TBool IsThirdPartyMailBox();
+        TBool IsThirdPartyMailBoxL();
 
     protected:  // Functions from base classes
 
--- a/messagingappbase/mcesettings/src/MceSettingsEmailSel.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mcesettings/src/MceSettingsEmailSel.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -652,8 +652,8 @@
 //
 void CMceSettingsEmailSel::AddOtherEmailBoxesL(CDesCArrayFlat& aListItems, CArrayFix<TUid>& aListItemUids , CMsvEntry* aEntry)
     {
-    CArrayFix<TInt64 >* timeItems;
-    CDesCArrayFlat* cmaillist;
+    CArrayFix<TInt64 >* timeItems = NULL;
+    CDesCArrayFlat* cmaillist = NULL;
     TTime timeNow;
     
     if(iEmailFramework)
--- a/messagingappbase/mcesettings/src/MceSettingsGeneralSettingsDialog.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mcesettings/src/MceSettingsGeneralSettingsDialog.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -161,7 +161,7 @@
     iResources.OpenL( fileName );
 #endif
     CMceSettingsTitlePaneHandlerDialog::ConstructL( aResource );
-	iIsThirdPartyMail = IsThirdPartyMailBox();
+	iIsThirdPartyMail = IsThirdPartyMailBoxL();
     }
 
 // ----------------------------------------------------
@@ -1087,7 +1087,7 @@
 // 
 // ---------------------------------------------------------
 //
-TBool CMceGeneralSettingsDialog::IsThirdPartyMailBox()
+TBool CMceGeneralSettingsDialog::IsThirdPartyMailBoxL()
     {
     CMsvEntry* entry = iSession->GetEntryL( KMsvRootIndexEntryId );
     CleanupStack::PushL( entry );
--- a/messagingappbase/mcesettings/src/MceSettingsMultipleServicesDialog.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mcesettings/src/MceSettingsMultipleServicesDialog.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -95,7 +95,9 @@
     CMceSettingsMultipleServicesDialog* mailDlg =new( ELeave ) CMceSettingsMultipleServicesDialog(aManager,  aMessageType, aSession );
     CleanupStack::PushL( mailDlg );
     FeatureManager::InitializeLibL();
-    if ( FeatureManager::FeatureSupported( KFeatureIdSelectableEmail ) )  
+    TBool temp = FeatureManager::FeatureSupported( KFeatureIdSelectableEmail );
+    FeatureManager::UnInitializeLib();
+    if ( temp )  
     {
       mailDlg->ConstructL(R_MCE_SETTINGS_MULTIPLE_SERVICES_DIALOG_MENUBAR_WITH_SELECTABLE_EMAIL );
   	  CleanupStack::Pop( mailDlg );
@@ -108,7 +110,6 @@
       return mailDlg->ExecuteLD( R_MCE_SETTINGS_MULTIPLE_SERVICES_DIALOG );
     
    }
-   FeatureManager::UnInitializeLib();
 #else
     User::Leave( KErrNotSupported );
     return KErrNotSupported;
@@ -1069,11 +1070,10 @@
         const MImumInHealthServices* healthApi =
         &iEmailApi->HealthServicesL();
 
-        TInt error;
         iMailboxArray.Reset();
         if ( iMessageType == KSenduiMtmSyncMLEmailUid )
             {
-            error = MceSettingsUtils::GetHealthyMailboxListL( *healthApi,
+            MceSettingsUtils::GetHealthyMailboxListL( *healthApi,
                                                               iMailboxArray,
                                                               EFalse,
                                                               EFalse,
@@ -1081,7 +1081,7 @@
             }
         else
             {
-            error = MceSettingsUtils::GetHealthyMailboxListL( *healthApi,
+            MceSettingsUtils::GetHealthyMailboxListL( *healthApi,
                                                               iMailboxArray,
                                                               ETrue,
                                                               ETrue,
@@ -1492,7 +1492,7 @@
 	        TInt item = list->CurrentItemIndex();      	        		
 	        CMsvEntry* entry = NULL;
 
-	        TRAPD( error, entry = iSession->GetEntryL(
+	        TRAP_IGNORE( entry = iSession->GetEntryL(
 	                (*iAccountArray)[item-1].iUid.iUid )); 
 
 	        if ( entry )
@@ -1717,7 +1717,6 @@
             ( iMtmPluginId == 0 || iMessageType == KSenduiMtmSyncMLEmailUid ) )
         {
         const TInt mailboxArrayCount = iMailboxArray.Count();
-        TBool foundServiceArray = EFalse;
         TMsvId msvId;
 
         for ( TInt cc = 0; cc < mailboxArrayCount; cc++)
--- a/messagingappbase/mcesettings/src/MceSettingsUtils.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/mcesettings/src/MceSettingsUtils.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -51,6 +51,9 @@
 //
 TBool MceSettingsUtils::MemoryInUseOptionL( )
     {
+#ifdef RD_HIDE_MEMORY_IN_USE
+    return EFalse;
+#endif // RD_HIDE_MEMORY_IN_USE
     TBool memoryInUse = ETrue;
     if ( FeatureManager::FeatureSupported( KFeatureIdMmc ) )
         {        
Binary file messagingappbase/msgavkon/conf/messaging.confml has changed
Binary file messagingappbase/msgavkon/conf/messaging_101F87EF.crml has changed
--- a/messagingappbase/msgavkon/muiu_domain/launcher/src/MuiuMsgEditorService.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/msgavkon/muiu_domain/launcher/src/MuiuMsgEditorService.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -33,7 +33,8 @@
 // CONSTANTS
 _LIT( KRomDriveLetter, "z:" );
 
-
+const TInt KSmsViewerLaunchDelay = 100000; // microseconds
+const TInt KMaxNumberOfTrials    = 25;
 // ---------------------------------------------------------
 // RMuiuMsgEditorService::OpenEntryL
 // ---------------------------------------------------------
@@ -104,8 +105,23 @@
     {
     const TUid uid = DiscoverL( aParams );
     if( uid != KNullUid )
-        {
-        iService.ConnectChainedAppL( uid );
+        {  
+         // To get rid of KErrorInUse( when msgeditor is open and trying to view new message)
+         //  We try to launch it again after 100 miliseconds.
+        TInt err = KErrInUse;
+        for ( TInt count = 0; err == KErrInUse  &&  count < KMaxNumberOfTrials ; count++ )
+             {                      
+             TRAP( err, iService.ConnectChainedAppL( uid )); 
+             if ( err == KErrInUse )
+                 {    
+                  User::After( KSmsViewerLaunchDelay );
+                 }
+             else if( err != KErrNone )
+                 {
+                 User::Leave( err );
+                 }
+             }
+
         iMonitor = CApaServerAppExitMonitor::NewL( iService, 
                                                    *aObserver, 
                                                    CActive::EPriorityStandard );
--- a/messagingappbase/msgavkon/muiu_internal/inc/MessagingInternalCRKeys.h	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/msgavkon/muiu_internal/inc/MessagingInternalCRKeys.h	Fri Mar 12 15:42:19 2010 +0200
@@ -131,6 +131,7 @@
 const TUint32 KSmumRemoveReplyViaSameCentre			    = 0x00000017;
 const TUint32 KSmumPreviousSimSmscNumber            = 0x00000018;
 const TUint32 KSmumShowSMSCTimeStamp                = 0x00000019;
+const TUint32 KSmsSettingsDiscardUnknownPortMsgs    = 0x0000001A;
 
 //
 // Send UI Settings API
--- a/messagingappbase/msgeditor/appuisrc/MsgCheckNames.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/msgeditor/appuisrc/MsgCheckNames.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -243,7 +243,7 @@
         PerformAdvancedMatchL( aText, fieldTypes );
         }
      // Coverty fix, Forward NULL , http://ousrv057/cov.cgi?cid=35690 
-    TInt contactAmount;  
+    TInt contactAmount = 0;  
     if(iFoundContacts)
         {
         contactAmount = iFoundContacts->Count();
--- a/messagingappbase/msgeditor/appuisrc/MsgNaviPaneControl.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/msgeditor/appuisrc/MsgNaviPaneControl.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -248,8 +248,7 @@
                 {
                 iPreviouslyFocusedControl = leftArrowIndicator;
                 }
-            // Coverty fix , Forward NULL, http://ousrv057/cov.cgi?cid=35876
-            else if ( iObserver && iPreviouslyFocusedControl == leftArrowIndicator )
+            else if ( iPreviouslyFocusedControl == leftArrowIndicator )
                 {
                 iObserver->HandleNavigationControlEventL( 
                             MMsgNaviPaneControlObserver::EMsgNaviLeftArrowPressed );
--- a/messagingappbase/msgeditor/appuisrc/MsgViewAttachmentsDialog.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/msgeditor/appuisrc/MsgViewAttachmentsDialog.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -427,7 +427,7 @@
 EXPORT_C void CMsgViewAttachmentsDialog::HandleServerAppExit( TInt /*aReason*/)
     {
     // replace navi pane with empty one.
-    iNaviPane->PushDefaultL();
+    TRAP_IGNORE(iNaviPane->PushDefaultL());
     iBusy = EFalse;
     }
 
--- a/messagingappbase/ncnlist/src/CNcnNotifier.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/ncnlist/src/CNcnNotifier.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -171,7 +171,7 @@
 	TBool aTone,
 	TBool aNote )
     {
-    TBool displaySN;
+    TBool displaySN = EFalse;
     NCN_RDEBUG_INT( _L("CNcnNotifier::HandleNotificationChange() -  notifType: %d"), aNotificationType );
     
     
--- a/messagingappbase/ncnlist/src/NcnMsvSessionObserver.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/ncnlist/src/NcnMsvSessionObserver.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -931,8 +931,12 @@
 		{
 			entryToHandle.SetVisible( EFalse );
 			entryToHandle.SetInPreparation(ETrue);
-			TRAPD(err1,aEntryToHandlePtr->ChangeL( entryToHandle ));
-			NCN_RDEBUG_INT(_L("HandleNewChildrenL:CheckAndHandleSmsEntryL ChangeL Trap error1 Id is: %d "), err1 );
+#ifdef _DEBUG
+			TRAPD(TrapError,aEntryToHandlePtr->ChangeL( entryToHandle ));
+			NCN_RDEBUG_INT(_L("HandleNewChildrenL:CheckAndHandleSmsEntryL ChangeL Trap error1 Id is: %d "), TrapError );
+#else
+			TRAP_IGNORE(aEntryToHandlePtr->ChangeL( entryToHandle ));
+#endif			
 			iUpdateNotifier = EFalse;
 			NCN_RDEBUG(_L("CNcnMsvSessionObserver::CheckAndHandleSmsEntryL Discard message: Try deleting again "));
 			//Entry is not yet released.. try Remove Entry
--- a/messagingappbase/obexmtms/Rom/obex.hby	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/obexmtms/Rom/obex.hby	Fri Mar 12 15:42:19 2010 +0200
@@ -1,7 +1,7 @@
-// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
-// under the terms of the License "Eclipse Public License v1.0"
+// 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".
 //
--- a/messagingappbase/sendui/genericmtmplugin/src/genericmtmplugin.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/sendui/genericmtmplugin/src/genericmtmplugin.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -191,7 +191,7 @@
         // TODO: Use original MTM for "InitializeSending" (does some
         //       SmartMessaging checks)?
         }
-    TMsvId service;
+    TMsvId service= KMsvUnkownServiceIndexEntryIdValue;
     TBool onlineSharing = EFalse;
     TBool doContinue = EFalse;
 
--- a/messagingappbase/smartmessaging/help/inc/smart.hlp.hrh	Fri Feb 19 22:47:38 2010 +0200
+++ b/messagingappbase/smartmessaging/help/inc/smart.hlp.hrh	Fri Mar 12 15:42:19 2010 +0200
@@ -2,15 +2,16 @@
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
+* 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.
-*
+* Nokia Corporation - Initial contribution
+* 
 * Contributors:
 * 
+* 
 * Description:
 *
 */
--- a/mmsengine/mmscodec/inc/mmsdecode.h	Fri Feb 19 22:47:38 2010 +0200
+++ b/mmsengine/mmscodec/inc/mmsdecode.h	Fri Mar 12 15:42:19 2010 +0200
@@ -595,7 +595,7 @@
     /**
     * check DRM contents.
     */
-    TBool CheckDRMContent();
+    TBool CheckDRMContentL();
     /**
      * Dump binary data into file.
      */
--- a/mmsengine/mmscodec/src/mmsdecode.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/mmsengine/mmscodec/src/mmsdecode.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -4604,7 +4604,7 @@
     if ( iSmilCount <= 1 && iAudioCount == 1 &&
        ( iAttaNumber == iSmilCount + iAudioCount ) )
         {
-         if(!CheckDRMContent())
+         if(!CheckDRMContentL())
              {
                 TBool audioSupported = EFalse;
                 TRAP_IGNORE(
@@ -4654,7 +4654,7 @@
 // CMmsDecode::CheckDRMContent
 // ---------------------------------------------------------
 //
-TBool CMmsDecode::CheckDRMContent()
+TBool CMmsDecode::CheckDRMContentL()
     {
     CFileProtectionResolver* resolver = CFileProtectionResolver::NewLC( iFs);
 
--- a/mmsengine/mmscodec/src/mmsencode.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/mmsengine/mmscodec/src/mmsencode.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -869,9 +869,8 @@
 
     if( iTargetEncodingType != 0 )
         {
+#ifndef _NO_MMSS_LOGGING_
         TRAPD( err, PreProcessAttachmentDataL() );
-
-#ifndef _NO_MMSS_LOGGING_
     /* if any error, korean specific encoding failed, But this should not stop from sending MMS using
      * existing default encoding. Hence just log the error and continue in any case
      */
@@ -879,6 +878,8 @@
             {
             TMmsLogger::Log( _L("CMmsEncode::EncodeHeadersChunkedL:: PreProcessAttachmentDataL error: %d"), err );
             }
+#else
+				TRAP_IGNORE( PreProcessAttachmentDataL() );            
 #endif /* _NO_MMSS_LOGGING_ */
         }
     
@@ -4726,12 +4727,9 @@
 
         if( retVal )
             {
-            TRAPD( 
-                    err,
-                    attachManagerSync.ModifyAttachmentInfoL(attachmentInfo);
-                    editStore->CommitL();
-                  );
 #ifndef _NO_MMSS_LOGGING_
+            TRAPD( err,attachManagerSync.ModifyAttachmentInfoL(attachmentInfo);
+                    editStore->CommitL(););
             if(err != KErrNone)
                 {
                 TMmsLogger::Log( _L("CMmsEncode::PreProcessAttachmentData:: store commit error: %d"), err );
@@ -4740,6 +4738,9 @@
                 {
                 TMmsLogger::Log( _L("CMmsEncode::PreProcessAttachmentData:: store commit success") );                
                 }
+#else
+				    TRAP_IGNORE( attachManagerSync.ModifyAttachmentInfoL(attachmentInfo);
+                    editStore->CommitL(););	                
 #endif /* _NO_MMSS_LOGGING_ */
             /*  attachmentInfo ownership is transfered to attachment manager
              *  Hence, JUST pop attachmentInfo, DO NOT Destroy.
--- a/mobilemessaging/audiomsg/inc/audiomessageappui.h	Fri Feb 19 22:47:38 2010 +0200
+++ b/mobilemessaging/audiomsg/inc/audiomessageappui.h	Fri Mar 12 15:42:19 2010 +0200
@@ -745,7 +745,7 @@
         
         void UpdateIndicatorIcons( TMmsMessagePriority aPriority );
         
-        TBool UnsupportedCallTypeOngoing( /*TBool aShowNote*/ );
+        TBool UnsupportedCallTypeOngoingL( /*TBool aShowNote*/ );
         /**
         * This method is called if video or VOIP call is ongoing and
         * information note needs to be shown
--- a/mobilemessaging/audiomsg/src/audiomessageappui.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/mobilemessaging/audiomsg/src/audiomessageappui.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -484,8 +484,7 @@
         *iView );
     iLaunchOperation->Launch();
  
-    ShowWaitNoteL( R_QTN_AUDIOMESSAGE_WAIT_OPENING_EDITOR );
-    AMSLOGGER_WRITE( "CAudioMessageAppUi::LaunchViewL <<" ); 
+   AMSLOGGER_WRITE( "CAudioMessageAppUi::LaunchViewL <<" ); 
     }
 
 
@@ -2116,7 +2115,7 @@
         	CleanupStack::Pop( iAbsorber );
             }
             
-        if ( UnsupportedCallTypeOngoing() )
+        if ( UnsupportedCallTypeOngoingL() )
         	{
             delete iAbsorber;
             iAbsorber = NULL;
@@ -4315,7 +4314,7 @@
 // UnsupportedCallTypeOngoing
 // -----------------------------------------------------------------------------
 //
-TBool CAudioMessageAppUi::UnsupportedCallTypeOngoing(  )
+TBool CAudioMessageAppUi::UnsupportedCallTypeOngoingL(  )
 	{
 	TBool unsupported( EFalse );
 	TInt value( 0 );
--- a/mobilemessaging/mmsui/viewersrc/UniMmsViewerAppUi.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/mobilemessaging/mmsui/viewersrc/UniMmsViewerAppUi.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -201,6 +201,7 @@
 const TInt KVolumeControlMaxValue = 10;     //from "AKNVOLUMECONTROL.CPP"
 const TInt KVolumeDefault = 8;
 const TInt KVolumeLevels = 10;
+const TInt KMmsSizeWaitDialogDisabled = 204800; 
 
 #ifndef RD_MSG_NAVIPANE_IMPROVEMENT
 const TUint KNaviGranularity = 2;
@@ -558,7 +559,12 @@
 
     iViewerState = EBusy;
     iOpeningState = EOpeningMessage;
-    LaunchWaitDialogL( 0 );
+    
+    // Disabling Wait Dialog for messages less than 200kB 
+    if ( iMtm->MessageSize() > KMmsSizeWaitDialogDisabled )
+        {
+        LaunchWaitDialogL( 0 );
+        }
 
     // iWaitDialog was deleted in case of error. Is this needed ?
     iLaunchOperation = new ( ELeave ) CMmsViewerLaunchOperation(
@@ -2826,17 +2832,12 @@
                     // on a focused object.
                     iPointerTarget = baseControl;
                     
-                    if(baseControl && (iMskId ==  R_MMSVIEWER_MSK_BUTTON_PLAY_PRESENTATION 
-                            || iMskId == R_MMSVIEWER_MSK_BUTTON_PLAY_AUDIO
-                            || iMskId ==R_MMSVIEWER_MSK_BUTTON_OPEN_IMAGE
-                            || iMskId ==R_MMSVIEWER_MSK_BUTTON_PLAY_VIDEO
-                            || iMskId ==R_MMSVIEWER_MSK_BUTTON_STOP_AUDIO
-                            || iMskId ==R_MMSVIEWER_MSK_BUTTON_STOP_VIDEO
-                            || iMskId ==R_MMSVIEWER_MSK_BUTTON_OPEN_OBJECTS
-#ifdef RD_SVGT_IN_MESSAGING                     
-                            || iMskId ==R_MMSVIEWER_MSK_BUTTON_PLAY_SVG)
-#endif   
-                    )
+                    if ( baseControl && 
+                             ( baseControl->ControlId() == EMsgComponentIdAudio ||
+                               baseControl->ControlId() == EMsgComponentIdImage ||
+                               baseControl->ControlId() == EMsgComponentIdVideo ||
+                               baseControl->ControlId() == EMsgComponentIdSvg )&&
+                                     ((Document()->SmilType()!=ETemplateSmil)&&(Document()->SmilType()!=E3GPPSmil) )) 
                         {
                         if(iLongTapDetector)
                             {
@@ -2849,6 +2850,7 @@
                 else if ( (!iTapConsumed) && (pointerEvent
                         &&  pointerEvent->iType == TPointerEvent::EButton1Up) )
                     {
+                    iLongTapDetector->CancelAnimationL();
                     iTapConsumed = ETrue;
                     if ( baseControl && iPointerTarget == baseControl )
                         {
--- a/mobilemessaging/smsui/group/bld.inf	Fri Feb 19 22:47:38 2010 +0200
+++ b/mobilemessaging/smsui/group/bld.inf	Fri Mar 12 15:42:19 2010 +0200
@@ -40,14 +40,8 @@
 PRJ_EXTENSIONS
 
 START EXTENSION s60/mifconv
-OPTION TARGETFILE smsviewer_aif.mbm
-OPTION SOURCES -c8,8 qgn_menu_mce_lst.bmp
-OPTION SOURCES -c8,8 qgn_menu_mce_cxt.bmp
-END
-
-START EXTENSION s60/mifconv
 OPTION TARGETFILE smsviewer_aif.mif
-OPTION SOURCES -c8,8 qgn_menu_mce.svg
+OPTION SOURCES -c8,8 qgn_menu_mce_lst -c8,8 qgn_menu_mce_cxt -c8,8 qgn_menu_mce
 END
 
 PRJ_MMPFILES
--- a/mobilemessaging/smsui/viewersrc/MsgSmsViewerAppUi.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/mobilemessaging/smsui/viewersrc/MsgSmsViewerAppUi.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -2754,6 +2754,7 @@
     CPlainText* nullString = CPlainText::NewL();
     CleanupStack::PushL( nullString );
     delete iSmsHeader;
+    iSmsHeader = NULL;
     iSmsHeader = CSmsHeader::NewL( CSmsPDU::ESmsDeliver, *nullString );
     CMsvStore* store = doc->CurrentEntry().ReadStoreL();
     CleanupStack::PushL(store);
--- a/mobilemessaging/smum/src/SMSI.CPP	Fri Feb 19 22:47:38 2010 +0200
+++ b/mobilemessaging/smum/src/SMSI.CPP	Fri Mar 12 15:42:19 2010 +0200
@@ -91,6 +91,7 @@
     CBaseMtmUiData::ConstructL();
     //Initalize SMS Settings for the first time
     TInt timeStamp = 0;
+    TBool deleteMsgToUknowPort = EFalse;
     CSmsSettings* serviceSettings = CSmsSettings::NewL();
     CleanupStack::PushL( serviceSettings );
     CSmsAccount* smsAccount = CSmsAccount::NewLC();
@@ -105,6 +106,15 @@
     SMUMLOGGER_WRITE_FORMAT("CSmsMtmUiData::ConstructL: cenRep timesatmp value:%d", timeStamp);
     smsAccount->LoadSettingsL( *serviceSettings );
     serviceSettings->SetUseServiceCenterTimeStampForDate(timeStamp);
+    
+    if ( cenRepSession->Get( KSmsSettingsDiscardUnknownPortMsgs, deleteMsgToUknowPort ) != KErrNone )
+        {
+        //In case of any error,set the default value to EFalse, so that default behaviour could be used
+        deleteMsgToUknowPort = EFalse;
+        SMUMLOGGER_WRITE("CSmsMtmUiData::ConstructL: cenRep get error");
+        }
+    SMUMLOGGER_WRITE_FORMAT("CSmsMtmUiData::ConstructL: cenRep deleteMsgToUknowPort value:%d", deleteMsgToUknowPort);
+    serviceSettings->SetDiscardUnknownPortMessage(deleteMsgToUknowPort);
 
     TRAPD( err, smsAccount->SaveSettingsL( *serviceSettings ) );
     if( err != KErrNone)
--- a/mobilemessaging/smum/src/smsdetailsplugin.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/mobilemessaging/smum/src/smsdetailsplugin.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -806,7 +806,7 @@
      *        abcdef xyz , abcdef xy
      *        abcdef xyz , abcde
      */
-    TInt i, minLength = 999, maxLength = 0, length = 0, maxLengthIndex = 0, stdLength = 14;
+    TInt i, minLength = 999, maxLength = 0, length = 0, maxLengthIndex = 0;
     TBool retVal = ETrue ;
     SMUMLOGGER_WRITE( "Contact Match statistics to follow..." );
     SMUMLOGGER_WRITE_FORMAT( "CSmsDetailsPluginOneShotOperation::MatchContactL Match count: %d", aLinkArray->Count() );
@@ -828,8 +828,6 @@
         delete alias;
         alias = NULL;
         }
-    
-    SMUMLOGGER_WRITE_FORMAT( "Cotact Lengths: Std Length  : %d", stdLength);
     SMUMLOGGER_WRITE_FORMAT( "                MinLength   : %d", minLength);
     SMUMLOGGER_WRITE_FORMAT( "                MaxLength   : %d", maxLength); 
     SMUMLOGGER_WRITE_FORMAT( "                MaxLen index: %d", maxLengthIndex);
--- a/mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp	Fri Feb 19 22:47:38 2010 +0200
+++ b/mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp	Fri Mar 12 15:42:19 2010 +0200
@@ -199,7 +199,6 @@
 const TInt  KSmsEdPDUInfoCalcReplaceCharacterCount = 2;
 const TUint KSmsEdUnicodeLFSupportedByBasicPhones = 0x000A;
 const TUint KSmsEnterCharacter = 0x2029;
-const TUint KSmsSpaceCharacter = 0x0020;
 // Unicode char codes for GSM 03.38 7 bit ext table characters 
 const TUint KUniEdEuroSymbol = 0x20ac;
 const TUint KUniEdLeftSquareBracket = 0x5b;
@@ -1297,7 +1296,15 @@
         
         if ( maxSmsCharacters <= 0 )
             {                    
-            maxSmsCharacters = maxSmsParts * lengthMany;
+             // maxSmsCharacters is set to minimum lengthOne.            
+             if( maxSmsParts > 1 )
+             	{
+                maxSmsCharacters = maxSmsParts * lengthMany;
+                }
+             else
+                {
+                maxSmsCharacters = lengthOne;
+                }
             }
             
         TInt thisPartChars = 0;
@@ -1809,6 +1816,7 @@
                 }
             else if ( (!iTapConsumed) && (event->iType == TPointerEvent::EButton1Up) )
                 {
+                iLongTapDetector->CancelAnimationL();
                 iTapConsumed = ETrue;
                 if ( control && 
                      iFocusedControl == control &&
@@ -3978,19 +3986,7 @@
 void CUniEditorAppUi::DoUserInsertMediaL()
     {
     RArray<TInt> disabledItems;
-    CleanupClosePushL( disabledItems );
-    
-    TBool svgFetchDisabled( EFalse );   
-    if ( Document()->CreationMode() == EMmsCreationModeRestricted )
-        {
-        svgFetchDisabled = ETrue;
-        }
-    
-//    if ( svgFetchDisabled )
-//        {
-//        disabledItems.Append( EUniCmdInsertMediaSVG );
-//        }
-    
+    CleanupClosePushL( disabledItems );  
 
     if ( !( iSupportedFeatures & EUniFeatureCamcorder ) )
         {
@@ -9627,7 +9623,7 @@
 //
 void CUniEditorAppUi::DoUpdateFixedToolbar()
     {
-     UpdateToolbarL();    
+     TRAP_IGNORE(UpdateToolbarL());    
     }
 // ---------------------------------------------------------
 // CUniEditorAppUi::DoEnterKeyL