mobilemessaging/unieditor/application/src/UniEditorSendUiOperation.cpp
branchRCL_3
changeset 77 da6ac9d688df
parent 66 fc3320e39880
--- a/mobilemessaging/unieditor/application/src/UniEditorSendUiOperation.cpp	Wed Sep 15 12:08:45 2010 +0300
+++ b/mobilemessaging/unieditor/application/src/UniEditorSendUiOperation.cpp	Wed Oct 13 14:27:34 2010 +0300
@@ -235,9 +235,6 @@
         if(obj->MediaInfo()->MimeType().CompareF( KMsgMimeImageJpeg )== 0)
             {
             iOptimizedFlow = ETrue;
-            iObserver.EditorOperationEvent( EUniEditorOperationSendUi,
-                                             EUniEditorOperationPartialComplete );   
-            iOptimizedFlow = EFalse;
             }
         }
         
@@ -480,6 +477,7 @@
                 iImageOperation = CUniEditorProcessImageOperation::NewL( *this, iDocument, iFs );
                 }
                 
+            iImageOperation->SetOptimizedFlow(iOptimizedFlow);
             // Processes if needed:
             iImageOperation->Process( static_cast<CMsgImageInfo*>( aObject->MediaInfo() ),
                                       aObject->AttachmentId(),
@@ -583,7 +581,7 @@
 // ---------------------------------------------------------
 //
 void CUniEditorSendUiOperation::HandleOperationEvent( TUniEditorOperationType aOperation,
-                                                      TUniEditorOperationEvent /*aEvent*/ )
+                                                      TUniEditorOperationEvent aEvent )
     {
     TBool remove( EFalse );
     
@@ -592,6 +590,17 @@
     
     if ( aOperation == EUniEditorOperationProcessImage )
         {
+        if( aEvent == EUniEditorOperationPartialComplete)
+            {
+            if(iOptimizedFlow)
+                {           
+                iObserver.EditorOperationEvent( EUniEditorOperationSendUi,
+                                                EUniEditorOperationPartialComplete );
+                iOptimizedFlow = EFalse;                        
+                }
+            return;
+            }
+        iOptimizedFlow = EFalse;
         // Process image error handling
         CArrayFixFlat<TInt>* errors = iImageOperation->GetErrors();
         for ( TInt i = 0; i < errors->Count(); i++ )