diff -r 5253a20d2a1e -r a4d6f1ea0416 emailuis/emailui/src/FreestyleEmailUiHtmlViewerView.cpp --- a/emailuis/emailui/src/FreestyleEmailUiHtmlViewerView.cpp Mon Jan 18 20:08:26 2010 +0200 +++ b/emailuis/emailui/src/FreestyleEmailUiHtmlViewerView.cpp Tue Jan 26 11:45:42 2010 +0200 @@ -56,7 +56,6 @@ #include "FreestyleEmailCenRepHandler.h" #include "FreestyleEmailUiAttachmentsListModel.h" #include "FreestyleEmailUiConstants.h" -#include "FreestyleAttachmentDownloadProgressBar.h" #include "FSEmail.pan" #include "CFSMailCommon.h" @@ -114,7 +113,6 @@ } delete iContainer; delete iAttachmentsListModel; - delete iProgressBar; delete iOpenMessages; iOpenMessages = NULL; @@ -125,9 +123,6 @@ delete iMailBox; iMailBox = NULL; delete iAsyncCallback; - - - } void CFsEmailUiHtmlViewerView::ConstructL() @@ -451,6 +446,7 @@ if ( iContainer ) { + iContainer->HideAttacthmentDownloadStatus(); iContainer->MakeVisible( EFalse ); iAppUi.RemoveFromStack( iContainer ); } @@ -1655,6 +1651,10 @@ else if ( aAttachment.downloadProgress != KComplete ) { DownloadAttachmentL( aAttachment ); + if ( iContainer && !iContainer->AttacthmentDownloadStatusVisible() ) + { + iContainer->ShowAttacthmentDownloadStatusL( TFSProgress::EFSStatus_Status, aAttachment ); + } } else { @@ -1669,6 +1669,11 @@ { TInt savedCount( 0 ); TBool downloadRequired = iAttachmentsListModel->SaveAttachmentL( aAttachment, fileName, savedCount ); + if ( downloadRequired && iContainer && !iContainer->AttacthmentDownloadStatusVisible() ) + { + iContainer->ShowAttacthmentDownloadStatusL( TFSProgress::EFSStatus_Status, aAttachment ); + } + if ( savedCount ) { TFsEmailUiUtility::ShowFilesSavedToFolderNoteL( savedCount ); @@ -1682,6 +1687,18 @@ if ( TFsEmailUiUtility::ShowSaveFolderDialogL( fileName ) ) { TBool downloadRequired = iAttachmentsListModel->SaveAllAttachmentsL( fileName ); + if ( downloadRequired && iContainer && !iContainer->AttacthmentDownloadStatusVisible() ) + { + for ( TInt i = 0; i < iAttachmentsListModel->GetModel().Count(); i++ ) + { + const TAttachmentData& attachment = iAttachmentsListModel->GetModel()[i]; + if ( attachment.downloadProgress < KComplete ) + { + iContainer->ShowAttacthmentDownloadStatusL( TFSProgress::EFSStatus_Status, attachment ); + break; + } + } + } } } @@ -1717,61 +1734,48 @@ { FUNC_LOG; - if ( iMessage ) + if ( !iMessage || !iContainer || ( aEvent.iError != KErrNone ) ) + return; + + TAttachmentData* attachment = NULL; + const RArray& attachments = iAttachmentsListModel->GetModel(); + for ( TInt i=0; i < attachments.Count(); i++ ) { - if ( !iProgressBar ) + if ( attachments[i].partData == aPart ) { - iProgressBar = CFreestyleAttachmentDownloadProgressBar::NewL(); + attachment = CONST_CAST( TAttachmentData*, &iAttachmentsListModel->GetModel()[i] ); + break; } - - for ( TInt i=0; i < iAttachmentsListModel->GetModel().Count(); i++ ) + } + + if ( attachment ) + { + switch ( aEvent.iProgressStatus ) { - if ( iAttachmentsListModel->GetModel()[i].partData == aPart ) + case TFSProgress::EFSStatus_Status: { - TAttachmentData& attachment = CONST_CAST( TAttachmentData&, iAttachmentsListModel->GetModel()[i] ); - - if ( aEvent.iError ) + if ( aEvent.iMaxCount > 0 && aEvent.iCounter > 0 ) { - iProgressBar->HideL(); + attachment->downloadProgress = KComplete * aEvent.iCounter / aEvent.iMaxCount; } else { - switch ( aEvent.iProgressStatus ) - { - case TFSProgress::EFSStatus_Status: - { - if ( aEvent.iMaxCount > 0 && aEvent.iCounter > 0 ) - { - attachment.downloadProgress = KComplete * aEvent.iCounter / aEvent.iMaxCount; - } - else - { - attachment.downloadProgress = KNone; - } - iProgressBar->UpdateL( attachment ); - } - break; - - case TFSProgress::EFSStatus_RequestComplete: - { - attachment.downloadProgress = KComplete; - iProgressBar->UpdateL( attachment ); - } - break; - - case TFSProgress::EFSStatus_RequestCancelled: - { - iProgressBar->HideL(); - } - break; - - default: - break; - } + attachment->downloadProgress = KNone; } - break; + } + break; + + case TFSProgress::EFSStatus_RequestComplete: + { + attachment->downloadProgress = KComplete; } + break; + + default: + break; } + + iContainer->ShowAttacthmentDownloadStatusL( aEvent.iProgressStatus, *attachment ); } }