diff -r 8592a65ad3fb -r b13141f05c3d emailuis/emailui/src/ncscomposeview.cpp --- a/emailuis/emailui/src/ncscomposeview.cpp Wed Apr 14 15:42:15 2010 +0300 +++ b/emailuis/emailui/src/ncscomposeview.cpp Tue Apr 27 16:20:14 2010 +0300 @@ -52,6 +52,7 @@ #include "FreestyleEmailUiConstants.h" #include "FSAutoSaver.h" #include "FSEmail.pan" +#include "cmailmessageext.h" // line separators that should not appear in Subject @@ -245,6 +246,9 @@ else { DoSafeExit( ESaveDraft ); + + // cleaning - usefull when application is closed from task switcher + HideToolbar(); } if( iFetchLogic ) @@ -710,17 +714,19 @@ FUNC_LOG; if ( iContainer ) { - // DimAllOptions if remotesearch is in progress, + // Hide toolbar if remotesearch is in progress, // because it takes you into a different view - TBool dimAllOptions = iContainer->IsRemoteSearchInprogress(); - SetToolbarItemDimmed( EFsEmailUiTbCmdExpandActions, dimAllOptions ); - SetToolbarItemDimmed( EFsEmailUiTbCmdExpandInsert, dimAllOptions ); - SetToolbarItemDimmed( EFsEmailUiTbCmdSend, dimAllOptions - || iContainer->AreAddressFieldsEmpty() ); + TBool hideToolbar = iContainer->IsRemoteSearchInprogress(); + SetToolbarItemDimmed( EFsEmailUiTbCmdSend, iContainer->AreAddressFieldsEmpty() ); + + CAknToolbar* toolbar(Toolbar()); + if (toolbar) + { + toolbar->SetToolbarVisibility(!hideToolbar); + } } } - // ----------------------------------------------------------------------------- // CNcsComposeView::ChildDoDeactivate() // Deactivate the Compose view @@ -1346,27 +1352,29 @@ // show file dialog and get file name TBool ok = EFalse; TInt error = KErrNone; - if( ! self->Toolbar()->IsDimmed()) + CAknToolbar* toolbar = self->Toolbar(); + if ( !toolbar->IsDimmed() ) { - self->Toolbar()->SetDimmed(ETrue); - } - + toolbar->SetDimmed(ETrue); + } + self->iContainer->SwitchChangeMskOff( ETrue ); - TRAP( error, ok = attachmentControl->AppendAttachmentToListL( + TRAP( error, ok = attachmentControl->AppendAttachmentToListL( self->iAttachmentAddType) ); self->iContainer->SwitchChangeMskOff( EFalse ); - - if ( ok && error == KErrNone ) - { - TRAP( error, self->SetAttachmentLabelContentL() ); - } - - if(! attachmentControl->IsAttachmentAddingLocked()) - { - self->Toolbar()->SetDimmed(EFalse); - TRAP( error, self->UpdateToolbarL()); - } - return error; + + if ( ok && error == KErrNone ) + { + TRAP( error, self->SetAttachmentLabelContentL() ); + } + + if ( !attachmentControl->IsAttachmentAddingLocked() ) + { + toolbar->SetDimmed(EFalse); + self->RefreshToolbar(); + toolbar->DrawDeferred(); + } + return error; } // ----------------------------------------------------------------------------- @@ -2022,7 +2030,7 @@ // ----------------------------------------------------------------------------- // void CNcsComposeView::CommitL( TBool aParseAddresses, - TFieldToCommit aFieldToCommit, TBool aSaveNow ) + TFieldToCommit aFieldToCommit, TBool aSaveNow, TCommitType aType ) { FUNC_LOG; __ASSERT_DEBUG( iNewMessage, Panic( ENcsBasicUi ) ); @@ -2118,6 +2126,19 @@ if ( aSaveNow ) { SaveMessageL(); + + // If this is final commit, then inform it via extension + if ( aType == EFinal ) + { + CMailMessageExtension* messageExtension = + static_cast + ( iNewMessage->ExtensionL( KEmailMessageExtensionUid ) ); + if ( messageExtension ) + { + messageExtension->CommitL( *iNewMessage ) ; + iNewMessage->ReleaseExtension( messageExtension ); + } + } } } @@ -2754,7 +2775,7 @@ { AppUi()->AddToStackL( iContainer ); iContainer->SetMenuBar( Cba() ); - iContainer->UpdateScrollBarL(); + iContainer->UpdateScrollBar(); // Set title pane text const TDesC& mbName = iMailBox->GetName(); @@ -2889,7 +2910,7 @@ __ASSERT_DEBUG( iNewMessage, Panic( ENcsBasicUi ) ); iFakeSyncGoingOn = ETrue; - TRAPD( error, CommitL( aParseAddresses, EAllFields, ETrue ) ); + TRAPD( error, CommitL( aParseAddresses, EAllFields, ETrue, EFinal ) ); iFakeSyncGoingOn = EFalse; User::LeaveIfError( error );