Revision: 201033 RCL_3 PDK_3.0.3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 14 Sep 2010 21:11:56 +0300
branchRCL_3
changeset 28 fc3320e39880
parent 27 7fdbb852d323
Revision: 201033 Kit: 201035
email/imum/help/data/xhtml.zip
email/pop3andsmtpmtm/popservermtm/src/POPSMTM.CPP
messagingappbase/mce/help/data/xhtml.zip
messagingappbase/mce/inc/MceMainViewListView.h
messagingappbase/mce/src/MceMainViewListItemArray.cpp
messagingappbase/mce/src/MceMainViewListView.cpp
messagingappbase/msgeditor/mediacontrolsrc/MsgImageControl.cpp
messagingappbase/msgeditor/viewsrc/MsgAttachmentControl.cpp
mobilemessaging/unieditor/application/inc/UniEditorAppUi.h
mobilemessaging/unieditor/application/inc/UniEditorLaunchOperation.h
mobilemessaging/unieditor/application/inc/UniEditorLaunchOperation.inl
mobilemessaging/unieditor/application/inc/UniEditorProcessImageOperation.h
mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp
mobilemessaging/unieditor/application/src/UniEditorLaunchOperation.cpp
mobilemessaging/unieditor/application/src/UniEditorProcessImageOperation.cpp
mobilemessaging/unieditor/application/src/UniEditorSendUiOperation.cpp
mobilemessaging/unieditor/help/data/xhtml.zip
Binary file email/imum/help/data/xhtml.zip has changed
--- a/email/pop3andsmtpmtm/popservermtm/src/POPSMTM.CPP	Wed Sep 01 12:31:54 2010 +0100
+++ b/email/pop3andsmtpmtm/popservermtm/src/POPSMTM.CPP	Tue Sep 14 21:11:56 2010 +0300
@@ -1432,6 +1432,14 @@
 			{	
 			CommandComplete( eCode );
 			}
+		else if(iState.iLastCurrentOperation == EPopConnectedAndIdle && iState.iCurrentOperation == EPopDisconnected && eCode != KErrNone)
+		    {
+            // Some email servers doesn’t wait for QUIT command, in such cases need to close RConnection
+            delete iSessionManager; 
+            iSessionManager = NULL;
+			
+            iPopProgress.iErrorCode = eCode;
+		    }
 		else
 			{
 			iPopProgress.iErrorCode = eCode;
Binary file messagingappbase/mce/help/data/xhtml.zip has changed
--- a/messagingappbase/mce/inc/MceMainViewListView.h	Wed Sep 01 12:31:54 2010 +0100
+++ b/messagingappbase/mce/inc/MceMainViewListView.h	Tue Sep 14 21:11:56 2010 +0300
@@ -55,6 +55,7 @@
     public CAknView,
     public MMceMainViewListItemArrayObserver,
     public MEikListBoxObserver,
+    public MEikScrollBarObserver,
     public MMsvSessionObserver
     {
     public:
@@ -182,6 +183,15 @@
         void HandleListBoxEventL(
             CEikListBox* aListBox,
             TListBoxEvent aEventType);
+			
+    protected:  // Functions from base classes
+
+        /**
+        * From MEikScrollBarObserver
+        */
+        void HandleScrollEventL(
+             CEikScrollBar* aScrollBar, 
+             TEikScrollEvent aEventType);
 
     private:
 
--- a/messagingappbase/mce/src/MceMainViewListItemArray.cpp	Wed Sep 01 12:31:54 2010 +0100
+++ b/messagingappbase/mce/src/MceMainViewListItemArray.cpp	Tue Sep 14 21:11:56 2010 +0300
@@ -1200,10 +1200,10 @@
         TInt bitmapidx = EMceBitmapIndexConversation;
         if(iDefaultViewSettings == KMceConversationview )
            {
-           TInt msgCount = 0;
-           TInt unreadCount = 0;                   
-           TRAPD(Errcode,iBitmapResolver.HasUnreadMessagesL(KMsvGlobalInBoxIndexEntryId,msgCount,unreadCount));         
-           if( unreadCount > 0 ) 
+           TInt unreadMessages = 0;
+		   //To check  whether unread message presents in inbox
+           TRAPD( err, iBitmapResolver.FindVisibleCountWithUnreadMessageL( KMsvGlobalInBoxIndexEntryId, unreadMessages ));
+           if ( err == KErrNone && unreadMessages )
                {
                bitmapidx =  EMceBitmapIndexConversationNew ;
                }
--- a/messagingappbase/mce/src/MceMainViewListView.cpp	Wed Sep 01 12:31:54 2010 +0100
+++ b/messagingappbase/mce/src/MceMainViewListView.cpp	Tue Sep 14 21:11:56 2010 +0300
@@ -364,7 +364,8 @@
         iMceUi->ResetResourceChange();
         }
     listBox->SetListBoxObserver(this);
-
+ 	//To observe scrollbar events
+    listBox->ScrollBarFrame()->SetScrollBarFrameObserver( this );
     iMsgListContainer->ActivateL();
     if ( !iListViewFlags.MceFlag( EMceUiFlagsContainerAddedToStack ) )
         {
@@ -454,9 +455,11 @@
                 iMsgListContainer->SetMskL();                
                 }
         break;
+        case EEventPanningStarted:
         case EEventFlickStarted:
             iFlick = ETrue;
             break;        
+        case EEventPanningStopped:
         case EEventFlickStopped:
             iFlick = EFalse;
             break;
@@ -1218,4 +1221,30 @@
        return KErrNotFound;
        }
     }
+// ---------------------------------------------------------
+// CMceMainViewListView::HandleScrollEventL
+// To take old bitmapindex for list items When 
+// stylus is down on scroll bar thumb and dragged
+// Calculate new bitmapindex when scrollbar thumb drag is stopped
+// ---------------------------------------------------------
+//
+void CMceMainViewListView::HandleScrollEventL(CEikScrollBar* aScrollBar,
+        TEikScrollEvent aEventType)
+    {
+    switch (aEventType)
+        {
+        case EEikScrollThumbDragVert:
+            iFlick = ETrue;
+            break;
+        case EEikScrollThumbReleaseVert:
+            iFlick = EFalse;
+            break;
+        default:
+            break;
+        }
+    CAknDoubleLargeStyleListBox* listBox =
+            REINTERPRET_CAST( CAknDoubleLargeStyleListBox*,
+                    iMsgListContainer->ListBox() );
+    listBox->HandleScrollEventL( aScrollBar, aEventType );
+    }
 //  End of File
--- a/messagingappbase/msgeditor/mediacontrolsrc/MsgImageControl.cpp	Wed Sep 01 12:31:54 2010 +0100
+++ b/messagingappbase/msgeditor/mediacontrolsrc/MsgImageControl.cpp	Tue Sep 14 21:11:56 2010 +0300
@@ -153,26 +153,23 @@
     	Min( sourceSize.iWidth, iMaxSize.iWidth - iFrame->FrameBorderSize().iWidth ),
 		Min( sourceSize.iHeight, iMaxSize.iHeight - iFrame->FrameBorderSize().iHeight ) );
 
+    // In case of KImageTypePNGUid and KImageTypeBMPUid 
+    // with and without IsAnimation, call CreateImageViewerL with
+    // Flags zero. This to avoid image corruption  when IsAnimation is flase and 
+    // Image resize happened based on control size.
+
+    TUint32 flagOptions = 0;
+    
     if ( !iSourceImage->IsAnimation() &&
-         ( iSourceImage->ImageType() == KImageTypeBMPUid || 
-           iSourceImage->ImageType() == KImageTypeGIFUid ||
-           iSourceImage->ImageType() == KImageTypePNGUid ) )
+           iSourceImage->ImageType() == KImageTypeGIFUid )
         {
-        iEngine = IHLViewerFactory::CreateImageViewerL( targetSize,
-                                                        *iSourceImage, 
-                                                        *iDestinationBitmap, 
-                                                        *this, 
-                                                        MIHLImageViewer::EOptionUseBilinearInterpolation);
-        }
-   else
-        {
-        iEngine = IHLViewerFactory::CreateImageViewerL( targetSize,
-                                                        *iSourceImage, 
-                                                        *iDestinationBitmap, 
-                                                        *this, 
-                                                        0 );
-        
-        }
+        	flagOptions |= MIHLImageViewer::EOptionUseBilinearInterpolation;
+      	}
+ 	  iEngine = IHLViewerFactory::CreateImageViewerL( targetSize,
+                                                    *iSourceImage, 
+                                                    *iDestinationBitmap, 
+                                                    *this, 
+                                                    flagOptions);                        	
     }
 
 // ---------------------------------------------------------
--- a/messagingappbase/msgeditor/viewsrc/MsgAttachmentControl.cpp	Wed Sep 01 12:31:54 2010 +0100
+++ b/messagingappbase/msgeditor/viewsrc/MsgAttachmentControl.cpp	Tue Sep 14 21:11:56 2010 +0300
@@ -145,6 +145,9 @@
     iEditor->SetReadOnly( ETrue );
     iEditor->AddFlagToUserFlags( CEikEdwin::EAvkonDisableCursor );
     
+	// To Dis-able Smiley support for attachment field.
+    iEditor->RemoveFlagFromUserFlags(CEikEdwin::EAvkonEnableSmileySupport);
+    
     iControlModeFlags |= EMsgControlModeForceFocusStop;
     
     SetPlainTextMode( ETrue );
--- a/mobilemessaging/unieditor/application/inc/UniEditorAppUi.h	Wed Sep 01 12:31:54 2010 +0100
+++ b/mobilemessaging/unieditor/application/inc/UniEditorAppUi.h	Tue Sep 14 21:11:56 2010 +0300
@@ -257,6 +257,11 @@
         * From CEikAppUi 
         */
         void HandleCommandL( TInt aCommand );
+
+        /**
+        * From CAknAppUi 
+        */
+        void ProcessCommandL(TInt aCommand);
         
         /**
         * Performs the command.
@@ -1390,7 +1395,6 @@
     	CAknStylusPopUpMenu* iEmbeddedObjectStylusPopup;
 		// sendui+jepg optimization changes
     	TBool  iOptimizedFlow;
-    	TBool iSingleJpegImageProcessing;
     };
 
 #include "UniEditorAppUi.inl"
--- a/mobilemessaging/unieditor/application/inc/UniEditorLaunchOperation.h	Wed Sep 01 12:31:54 2010 +0100
+++ b/mobilemessaging/unieditor/application/inc/UniEditorLaunchOperation.h	Tue Sep 14 21:11:56 2010 +0300
@@ -94,17 +94,6 @@
         * Detach slide loader object
         */
         inline CUniSlideLoader* DetachSlideLoader();
-        
-        /**
-        * get header object
-        */
-        inline CUniEditorHeader* GetHeader();
-
-        /**
-        * get slide loader object
-        */
-        inline CUniSlideLoader* GetSlideLoader();
-
 
         /**
         * Return parse result
--- a/mobilemessaging/unieditor/application/inc/UniEditorLaunchOperation.inl	Wed Sep 01 12:31:54 2010 +0100
+++ b/mobilemessaging/unieditor/application/inc/UniEditorLaunchOperation.inl	Tue Sep 14 21:11:56 2010 +0300
@@ -39,22 +39,4 @@
     return slideLoader;
     }
 
-// ---------------------------------------------------------
-// CUniEditorLaunchOperation::GetHeader
-// ---------------------------------------------------------
-//
-inline CUniEditorHeader* CUniEditorLaunchOperation::GetHeader()
-    {
-    return iHeader;
-    }
-
-// ---------------------------------------------------------
-// CUniEditorLaunchOperation::GetSlideLoader
-// ---------------------------------------------------------
-//
-inline CUniSlideLoader* CUniEditorLaunchOperation::GetSlideLoader()
-    {
-    return iSlideLoader;
-    }
-
 // End of file
--- a/mobilemessaging/unieditor/application/inc/UniEditorProcessImageOperation.h	Wed Sep 01 12:31:54 2010 +0100
+++ b/mobilemessaging/unieditor/application/inc/UniEditorProcessImageOperation.h	Tue Sep 14 21:11:56 2010 +0300
@@ -85,11 +85,6 @@
         * Detaches attachment id.
         */
         void DetachAttachmentId( TMsvAttachmentId& aAttachmentId );
-        
-	    /**
-        * Set Optimized Flow flag
-        */  
-        void SetOptimizedFlow(TBool aOptimizedFlow);
 
     protected:
 
@@ -213,7 +208,6 @@
   //      TSize                       iScaleSizeResult;
         TDataType                   iTargetType;
         TBool                       iExactImageScaling;
-        TBool                       iOptimizedFlow;
     };
 
 #endif //__UNIEDITORPROCESSIMAGEOPERATION_H
--- a/mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp	Wed Sep 01 12:31:54 2010 +0100
+++ b/mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp	Tue Sep 14 21:11:56 2010 +0300
@@ -271,8 +271,7 @@
     iPopupChangedSmsBuffer(NULL),
     iEditorFlags( EShowInfoPopups ),
     iMskResId( R_UNIEDITOR_OPTIONS_CLOSE ),
-    iOptimizedFlow(EFalse),
-    iSingleJpegImageProcessing(EFalse)
+    iOptimizedFlow(EFalse)
     {
     }
     
@@ -479,22 +478,7 @@
     {
     iEditorFlags |= EEditorExiting;
     
-	//sendui+jepg optimization changes
-    if(iLaunchOperation)
-        {
-        // check Is iLaunchOperation still attached to 
-        // iSlideLoader / iHeader
-        // Set the CUniEditorAppUi
-        // instance to NULL, to avoid crash.
-        if(iLaunchOperation->GetHeader())
-            {
-            iHeader = NULL;            
-            }
-        if(iLaunchOperation->GetSlideLoader())
-            {
-            iSlideLoader = NULL;            
-            }
-        }
+	
     if ( iView )
         {
         // To prevent focus changes caused by input blocker deletion & toolbar extension
@@ -699,31 +683,10 @@
 //
 void CUniEditorAppUi::FinalizeLaunchL()
     {
-	// In all normal cases other then Sendui+Jepeg
-	// iOptimizedFlow will be false and flow should be 
-	// same as the normal launch
-    if(iOptimizedFlow)
-        {
-		//if iOptimizedFlow is True, it means
-		//sendui+Jepg and this is partial complete call
-        iSingleJpegImageProcessing = ETrue;
-        }
-		
     iFinalizeLaunchL = ETrue;
     iSmilModel = &Document()->DataModel()->SmilModel();
-	
-    if(!iOptimizedFlow)
-        {
-		//detach the iHeader and iSlideLoader
-        iHeader = iLaunchOperation->DetachHeader();
-        iSlideLoader = iLaunchOperation->DetachSlideLoader();
-        }
-    else
-        {
-		// get reference to complete partial lauch operation
-        iHeader = iLaunchOperation->GetHeader();
-        iSlideLoader = iLaunchOperation->GetSlideLoader();
-        }
+    iHeader = iLaunchOperation->DetachHeader();
+    iSlideLoader = iLaunchOperation->DetachSlideLoader();
     
     SetMessageTypeLockingL();
     
@@ -821,41 +784,12 @@
     MenuBar()->SetMenuType( CEikMenuBar::EMenuOptions );
     
     UpdateToolbarL();
-
-	// partial launch need to call execute to make
-	//the editor visible
-    if(iOptimizedFlow)
-        {
-        iView->ExecuteL( ClientRect(), focusedControlId );
-        }
-    else// not optmized Flow, common flow
-        {
-        // partial launch, dont set the flag
-        iEditorFlags |= ELaunchSuccessful;
-        
-		// in case of sendui+jepg , again finalize launch will be called 
-		//after image processing, no need to call iView->ExecuteL
-		// slide will be loaded already by slide loader.
-        if(!iSingleJpegImageProcessing)
-            {
-			//normal flow
-            iView->ExecuteL( ClientRect(), focusedControlId );
-            }
-        
-        //after the lauch complete for sendui+jepg
-        //rest it.
-        iSingleJpegImageProcessing = EFalse;        
-        }
-    
+    
+    iEditorFlags |= ELaunchSuccessful;
+	
+    iView->ExecuteL( ClientRect(), focusedControlId );
     delete iScreenClearer;
     iScreenClearer = NULL;
-   
-    // show note inserting 
-    if(iOptimizedFlow)
-        {
-        ShowWaitNoteL( R_QTN_UNI_WAIT_INSERTING );
-        }
- 
 	
     }
     
@@ -1469,6 +1403,39 @@
         }
     }
     
+// ---------------------------------------------------------
+// CUniEditorAppUi::ProcessCommandL
+// ---------------------------------------------------------
+//
+void CUniEditorAppUi::ProcessCommandL(TInt aCommand)
+    {
+    switch(aCommand)
+        {
+        case EAknCmdExit:
+            {
+            /*
+            Exit command is handle handled here since handling the same in HandleCommandL is too late for
+            themes effect to shown when application is exiting while progress note is shown.
+            BeginFullScreen is called after ProcessCommandL and before HandleCommandL,  progress note is 
+            shown in ProcessCommandL ie before BeginFullScreen is made.  
+            */
+            
+            //Only after processing the command, option menu is removed
+            //ProcessCommandL is called with some false command id which is unique and not used in any other place
+            const TInt KRandomCommand(8975462);
+            CAknAppUi::ProcessCommandL( KRandomCommand );
+            RemoveWaitNote();
+            ExitAndSaveL();
+            break;
+            }
+        default:
+            break;
+        }
+    
+    CAknAppUi::ProcessCommandL( aCommand );
+    
+    }
+
 
 // ---------------------------------------------------------
 // CUniEditorAppUi::HandleCommandL
@@ -1691,6 +1658,9 @@
             }
         case EEikCmdExit:
             {
+            //Save message when unieditor is closed though FSW
+			//We won't get here when option->exit is selscted since while handling CAknCmdExit in overriden
+			//ProcessCommandL we call Exit() 
             RemoveWaitNote();
             ExitAndSaveL();
             break;
@@ -6512,9 +6482,8 @@
     if ( iEditorFlags & EEditorExiting )
         {
         // Do not handle any event if we are exiting from editor.
-		// rest values.
+		// rest values. 
         iOptimizedFlow = EFalse;
-        iSingleJpegImageProcessing = EFalse;
         return;
         }
     
@@ -6528,14 +6497,18 @@
             if(iLaunchOperation)
                 {
                 iOptimizedFlow = iLaunchOperation->IsOptimizedFlagSet();
-                }
-            }
-		// sendui+jepg-> this required after image processing 
-        if(!iOptimizedFlow)
-            {
-            DeactivateInputBlocker();
-            iEditorFlags &= ~EMsgEditInProgress;   
-            }
+                if(iOptimizedFlow )
+                    {
+                    TRAP_IGNORE(ShowWaitNoteL( R_QTN_UNI_WAIT_INSERTING ));
+                    iOptimizedFlow = EFalse;
+                    return;
+                    }
+                }
+            }
+        
+        DeactivateInputBlocker();
+        iEditorFlags &= ~EMsgEditInProgress;   
+        
         if ( aEvent == EUniEditorOperationCancel &&
              aOperation != EUniEditorOperationSend )
             {
@@ -6554,15 +6527,6 @@
     TRAPD( error, DoEditorOperationEventL( aOperation, aEvent ) );
     if ( error != KErrNone )
         {
-		// error handling
-        if(iOptimizedFlow)
-            {
-            DeactivateInputBlocker();
-            iEditorFlags &= ~EMsgEditInProgress;   
-            }
-        iOptimizedFlow = EFalse;
-        iSingleJpegImageProcessing = EFalse;
-        
         // Handle operation handling error.
         if ( error == KLeaveExit )
             {
@@ -6579,10 +6543,6 @@
                 }
             }
         }
-    //sendui+jepg-> after first call to finallizelauch,rest
-	// it, so that next call will cover the code finallizelaunch
-	//as happened for other launch cases.
-    iOptimizedFlow = EFalse;
     }
 
 // ---------------------------------------------------------
@@ -6735,19 +6695,11 @@
 //
 void CUniEditorAppUi::DoLaunchCompleteL()
     {
-	//sendui+jepg -> this required after image processing 
-    if(!iOptimizedFlow)
-        {
-        // Does no harm to call this even if no wait note is set.
-        RemoveWaitNote();        
-        }
-		
+    // Does no harm to call this even if no wait note is set.
+    RemoveWaitNote();        
+
     TBool shutDown( EFalse );
-	// sendui+jepg-> this required after image processing 
-    if(!iOptimizedFlow)
-		{
-        ShowLaunchNotesL( shutDown );
-		}
+    ShowLaunchNotesL( shutDown );
     
     if ( shutDown )
         {
--- a/mobilemessaging/unieditor/application/src/UniEditorLaunchOperation.cpp	Wed Sep 01 12:31:54 2010 +0100
+++ b/mobilemessaging/unieditor/application/src/UniEditorLaunchOperation.cpp	Tue Sep 14 21:11:56 2010 +0300
@@ -402,13 +402,9 @@
 //
 void CUniEditorLaunchOperation::DoPrepareHeaderL()
     {
-    if(!iHeader)
-        {
-	    // Header is always drawn and populated
-	    iHeader = CUniEditorHeader::NewL( iDocument.Mtm(), iDocument, iView, iFs );
-        }
-    if(!iOptimizedFlow)
-        CompleteSelf( KErrNone );
+    // Header is always drawn and populated
+    iHeader = CUniEditorHeader::NewL( iDocument.Mtm(), iDocument, iView, iFs );
+    CompleteSelf( KErrNone );
     }
 
 // ---------------------------------------------------------
@@ -417,28 +413,21 @@
 //
 void CUniEditorLaunchOperation::DoPrepareBodyL()
     {
-    if(!iSlideLoader)
-        {
-     	iSlideLoader = CUniSlideLoader::NewL(
-	        iControlObserver,
-	        *iDocument.DataModel(),
-	        iView,
-	        EUniControlEditorMode );
-        }
-    
+    iSlideLoader = CUniSlideLoader::NewL(
+        iControlObserver,
+        *iDocument.DataModel(),
+        iView,
+        EUniControlEditorMode );
+        
     if ( iDocument.DataModel()->SmilType() == EMmsSmil )
         {
-        if(!iOptimizedFlow)
+        if ( !iDocument.DataModel()->SmilModel().SlideCount() )
             {
-	        if ( !iDocument.DataModel()->SmilModel().SlideCount() )
-	            {
-	            iDocument.DataModel()->SmilModel().AddSlideL();
-	            }
+            iDocument.DataModel()->SmilModel().AddSlideL();
+            }
             
-	        iSlideLoader->LoadSlideL( *this, 0 );       
-        
-	        SetPending();
-            }
+        iSlideLoader->LoadSlideL( *this, 0 );
+        SetPending();
         }
     else
         {
@@ -630,8 +619,6 @@
             iOptimizedFlow = iSendUiOperation->IsOptimizedFlagSet();
             if(iOptimizedFlow)
                 {
-                DoPrepareHeaderL();
-                DoPrepareBodyL();
                 iObserver.EditorOperationEvent(
                             EUniEditorOperationLaunch,
                             EUniEditorOperationComplete ); 
--- a/mobilemessaging/unieditor/application/src/UniEditorProcessImageOperation.cpp	Wed Sep 01 12:31:54 2010 +0100
+++ b/mobilemessaging/unieditor/application/src/UniEditorProcessImageOperation.cpp	Tue Sep 14 21:11:56 2010 +0300
@@ -98,8 +98,7 @@
         CUniEditorDocument& aDocument,
         RFs& aFs ) :
     CUniEditorOperation( aObserver, aDocument, aFs, EUniEditorOperationProcessImage ),
-    iNewAttaId( KMsvNullIndexEntryId ),
-    iOptimizedFlow(EFalse)
+    iNewAttaId( KMsvNullIndexEntryId )
     {
     }
 
@@ -259,13 +258,6 @@
 //
 void CUniEditorProcessImageOperation::DoStartProcessL()
     {
-    
-    if(iOptimizedFlow)
-        {
-         iObserver.EditorOperationEvent( EUniEditorOperationProcessImage,
-                                      EUniEditorOperationPartialComplete );   
-         iOptimizedFlow = EFalse;
-        }
     CreateEmptyAttachmentL();
     
     if ( !iImageProcessor )
@@ -654,13 +646,5 @@
     iNewImageInfo = NULL;
     return tempInfo;
     }
-
-// ---------------------------------------------------------
-// CUniEditorProcessImageOperation::SetOptimizedFlow
-// ---------------------------------------------------------
-//
-void CUniEditorProcessImageOperation::SetOptimizedFlow(TBool aOptimizedFlow)
-    {
-    iOptimizedFlow =  aOptimizedFlow;
-    }
+    
 // End of file
--- a/mobilemessaging/unieditor/application/src/UniEditorSendUiOperation.cpp	Wed Sep 01 12:31:54 2010 +0100
+++ b/mobilemessaging/unieditor/application/src/UniEditorSendUiOperation.cpp	Tue Sep 14 21:11:56 2010 +0300
@@ -235,6 +235,9 @@
         if(obj->MediaInfo()->MimeType().CompareF( KMsgMimeImageJpeg )== 0)
             {
             iOptimizedFlow = ETrue;
+            iObserver.EditorOperationEvent( EUniEditorOperationSendUi,
+                                             EUniEditorOperationPartialComplete );   
+            iOptimizedFlow = EFalse;
             }
         }
         
@@ -477,7 +480,6 @@
                 iImageOperation = CUniEditorProcessImageOperation::NewL( *this, iDocument, iFs );
                 }
                 
-            iImageOperation->SetOptimizedFlow(iOptimizedFlow);
             // Processes if needed:
             iImageOperation->Process( static_cast<CMsgImageInfo*>( aObject->MediaInfo() ),
                                       aObject->AttachmentId(),
@@ -581,7 +583,7 @@
 // ---------------------------------------------------------
 //
 void CUniEditorSendUiOperation::HandleOperationEvent( TUniEditorOperationType aOperation,
-                                                      TUniEditorOperationEvent aEvent )
+                                                      TUniEditorOperationEvent /*aEvent*/ )
     {
     TBool remove( EFalse );
     
@@ -590,17 +592,6 @@
     
     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++ )
Binary file mobilemessaging/unieditor/help/data/xhtml.zip has changed