equal
deleted
inserted
replaced
133 iAsyncCallback = new (ELeave) CAsyncCallBack( CActive::EPriorityLow ); |
133 iAsyncCallback = new (ELeave) CAsyncCallBack( CActive::EPriorityLow ); |
134 iOpenMessages = new (ELeave) CStack<CFSMailMessage, ETrue>(); |
134 iOpenMessages = new (ELeave) CStack<CFSMailMessage, ETrue>(); |
135 iEmbeddedMessages = new (ELeave) CStack<CFSMailMessage, EFalse>(); |
135 iEmbeddedMessages = new (ELeave) CStack<CFSMailMessage, EFalse>(); |
136 iNextOrPrevMessageSelected = EFalse; |
136 iNextOrPrevMessageSelected = EFalse; |
137 iForwardingMessage = EFalse; |
137 iForwardingMessage = EFalse; |
|
138 iMessageIsDeleted = EFalse; |
138 } |
139 } |
139 |
140 |
140 // ----------------------------------------------------------------------------- |
141 // ----------------------------------------------------------------------------- |
141 // CFsEmailUiHtmlViewerView::Id() |
142 // CFsEmailUiHtmlViewerView::Id() |
142 // Returns View's ID. |
143 // Returns View's ID. |
755 HandleCommandL(EFsEmailUiCmdActionsForward); |
756 HandleCommandL(EFsEmailUiCmdActionsForward); |
756 break; |
757 break; |
757 } |
758 } |
758 case EFsEmailUiTbCmdDelete: |
759 case EFsEmailUiTbCmdDelete: |
759 { |
760 { |
760 HandleCommandL(EFsEmailUiCmdActionsDelete); |
761 iAsyncCallback->Cancel(); |
|
762 iAsyncCallback->Set( TCallBack( DeleteMail, this ) ); |
|
763 iAsyncCallback->SetPriority( CActive::EPriorityHigh ); |
|
764 iAsyncCallback->CallBack(); |
761 break; |
765 break; |
762 } |
766 } |
763 case EFsEmailUiTbCmdReplyAll: |
767 case EFsEmailUiTbCmdReplyAll: |
764 { |
768 { |
765 HandleCommandL(EFsEmailUiCmdActionsReplyAll); |
769 HandleCommandL(EFsEmailUiCmdActionsReplyAll); |
909 |
913 |
910 } |
914 } |
911 // In usual case we use the base view implementation |
915 // In usual case we use the base view implementation |
912 else |
916 else |
913 { |
917 { |
914 |
|
915 iMessage = NULL; |
918 iMessage = NULL; |
916 |
|
917 CancelFetchings(); |
919 CancelFetchings(); |
918 |
|
919 CFsEmailUiViewBase::NavigateBackL(); |
920 CFsEmailUiViewBase::NavigateBackL(); |
|
921 |
|
922 if ( iContainer ) |
|
923 { |
|
924 HideContainer(); |
|
925 iContainer->ResetContent(); |
|
926 } |
920 } |
927 } |
921 } |
928 } |
922 |
929 |
923 // --------------------------------------------------------------------------- |
930 // --------------------------------------------------------------------------- |
924 // Sets status bar layout |
931 // Sets status bar layout |
1167 { |
1174 { |
1168 iContainer->LoadContentFromMailMessageL( aMailMessage, aResetScrollPos ); |
1175 iContainer->LoadContentFromMailMessageL( aMailMessage, aResetScrollPos ); |
1169 } |
1176 } |
1170 } |
1177 } |
1171 |
1178 |
1172 void CFsEmailUiHtmlViewerView::DeleteMailL(TBool aSilentDelete) |
1179 TInt CFsEmailUiHtmlViewerView::DeleteMail( TAny* aSelf ) |
|
1180 { |
|
1181 FUNC_LOG; |
|
1182 CFsEmailUiHtmlViewerView* self = |
|
1183 static_cast<CFsEmailUiHtmlViewerView*>( aSelf ); |
|
1184 TRAP_IGNORE( self->DeleteMailL( EFalse ) ); |
|
1185 return KErrNone; |
|
1186 } |
|
1187 |
|
1188 void CFsEmailUiHtmlViewerView::DeleteMailL( TBool aSilentDelete ) |
1173 { |
1189 { |
1174 FUNC_LOG; |
1190 FUNC_LOG; |
1175 |
1191 |
1176 if ( !iMessage || iActivationData.iEmbeddedMessageMode ) |
1192 if ( !iMessage || iActivationData.iEmbeddedMessageMode ) |
1177 { |
1193 { |
1226 if ( iAppUi.CurrentActiveView()->Id() == HtmlViewerId ) |
1242 if ( iAppUi.CurrentActiveView()->Id() == HtmlViewerId ) |
1227 { |
1243 { |
1228 //Open the previous message or navigate back to list viewer |
1244 //Open the previous message or navigate back to list viewer |
1229 if ( available ) |
1245 if ( available ) |
1230 { |
1246 { |
1231 iAppUi.MoveToPreviousMsgAfterDeleteL( prevMsgId ); |
1247 iMessageIsDeleted = ETrue; |
|
1248 TRAPD( err, iAppUi.MoveToPreviousMsgAfterDeleteL( prevMsgId ) ); |
|
1249 iMessageIsDeleted = EFalse; |
|
1250 |
|
1251 User::LeaveIfError( err ); |
1232 } |
1252 } |
1233 else |
1253 else |
1234 { |
1254 { |
1235 ChangeMskCommandL( R_FSE_QTN_MSK_EMPTY ); |
1255 ChangeMskCommandL( R_FSE_QTN_MSK_EMPTY ); |
1236 NavigateBackL(); |
1256 NavigateBackL(); |
1262 if ( ( curMsgId == ( *removedEntries )[i] ) && |
1282 if ( ( curMsgId == ( *removedEntries )[i] ) && |
1263 (iDeletedMessageFromMrui != curMsgId) ) |
1283 (iDeletedMessageFromMrui != curMsgId) ) |
1264 { |
1284 { |
1265 cont = EFalse; |
1285 cont = EFalse; |
1266 ChangeMskCommandL( R_FSE_QTN_MSK_EMPTY ); |
1286 ChangeMskCommandL( R_FSE_QTN_MSK_EMPTY ); |
1267 if(aEvent == TFSEventMailDeleted) |
1287 if( aEvent == TFSEventMailDeleted && !iMessageIsDeleted ) |
1268 { //Delete event came from server; close the viewer. |
1288 { //Delete event came from server; close the viewer. |
1269 HandleCommandL( EAknSoftkeyBack ); |
1289 HandleCommandL( EAknSoftkeyBack ); |
1270 // The message we are viewing was deleted => stop here |
1290 // The message we are viewing was deleted => stop here |
1271 return; |
1291 return; |
1272 } |
1292 } |
1960 ChangeMskCommandL( R_FSE_QTN_MSK_EMPTY ); |
1980 ChangeMskCommandL( R_FSE_QTN_MSK_EMPTY ); |
1961 |
1981 |
1962 iAppUi.MoveToNextMsgL( currentMsgId, nextMsgId ); |
1982 iAppUi.MoveToNextMsgL( currentMsgId, nextMsgId ); |
1963 // Next message is displayed in this view through doactivate, because view is re-activate by mail list |
1983 // Next message is displayed in this view through doactivate, because view is re-activate by mail list |
1964 |
1984 |
1965 RestoreZoomLevelL(); |
1985 if ( iContainer ) |
|
1986 { |
|
1987 RestoreZoomLevelL(); |
|
1988 } |
1966 } |
1989 } |
1967 } |
1990 } |
1968 } |
1991 } |
1969 // ----------------------------------------------------------------------------- |
1992 // ----------------------------------------------------------------------------- |
1970 // CFsEmailUiHtmlViewerView::ShowPreviousMessageMenuInOptions |
1993 // CFsEmailUiHtmlViewerView::ShowPreviousMessageMenuInOptions |
2009 ChangeMskCommandL( R_FSE_QTN_MSK_EMPTY ); |
2032 ChangeMskCommandL( R_FSE_QTN_MSK_EMPTY ); |
2010 |
2033 |
2011 iAppUi.MoveToPreviousMsgL( currentMsgId, prevMsgId ); |
2034 iAppUi.MoveToPreviousMsgL( currentMsgId, prevMsgId ); |
2012 // Previous message is displayed in this view through doactivate, because view is re-activate by mail list |
2035 // Previous message is displayed in this view through doactivate, because view is re-activate by mail list |
2013 |
2036 |
2014 RestoreZoomLevelL(); |
2037 if ( iContainer ) |
|
2038 { |
|
2039 RestoreZoomLevelL(); |
|
2040 } |
2015 } |
2041 } |
2016 } |
2042 } |
2017 } |
2043 } |
2018 |
2044 |
2019 |
2045 |
2060 case EFSEmailUiCtrlBarResponseSelect: |
2086 case EFSEmailUiCtrlBarResponseSelect: |
2061 { |
2087 { |
2062 iMoveDestinationFolder = aSelectedFolderId; |
2088 iMoveDestinationFolder = aSelectedFolderId; |
2063 iAsyncCallback->Cancel(); // cancel any outstanding callback just to be safe |
2089 iAsyncCallback->Cancel(); // cancel any outstanding callback just to be safe |
2064 iAsyncCallback->Set( TCallBack( MoveToFolderAndExitL, this ) ); |
2090 iAsyncCallback->Set( TCallBack( MoveToFolderAndExitL, this ) ); |
|
2091 iAsyncCallback->SetPriority( CActive::EPriorityLow ); |
2065 iAsyncCallback->CallBack(); |
2092 iAsyncCallback->CallBack(); |
2066 } |
2093 } |
2067 break; |
2094 break; |
2068 case EFSEmailUiCtrlBarResponseCancel: |
2095 case EFSEmailUiCtrlBarResponseCancel: |
2069 default: |
2096 default: |