videditor/TrimForMms/src/VeiTrimForMmsView.cpp
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 7 4c409de21d23
--- a/videditor/TrimForMms/src/VeiTrimForMmsView.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,964 +0,0 @@
-/*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - Initial contribution
-*
-* Contributors:
-* Ixonos Plc
-*
-* Description:  
-*
-*/
-
-
-
-// INCLUDES
-// System includes
-#include <aknviewappui.h>
-#include <akntitle.h>
-#include <aknnavi.h>        // CAknNavigationControlContainer
-#include <aknnavide.h>      // CAknNavigationDecorator
-#include <AknProgressDialog.h>      // CAknProgressDialog
-#include <aknsoundsystem.h>         // CAknKeySoundSystem
-#include <bautils.h>        // BaflUtils
-#include <barsread.h>
-#include <eikprogi.h>       // CEikProgressInfo
-#include <trimformms.rsg>
-#include <utf.h>        // CnvUtfConverter
-#include <sendui.h>     // CSendAppUi
-#include <SenduiMtmUids.h>
-#include <StringLoader.h>   // StringLoader 
-#include <CMessageData.h>
-// User includes
-#include "TrimForMms.hrh"
-#include "TrimForMmsAppUi.h"
-#include "VeiSettings.h"
-#include "VeiTrimForMmsView.h"
-#include "VeiTrimForMmsContainer.h"
-#include "VeiEditVideoLabelNavi.h"
-#include "VideoEditorCommon.h"
-#include "VeiTempMaker.h"
-#include "VideoEditorCommon.h"
-#include "VideoEditorDebugUtils.h"
-#include "VeiErrorUi.h"
-
-// CONSTANTS
-const TInt KVedVideoClipIndex(0);
-const TInt KProgressNoteMaxValue(100);
-const TInt KVedTrimForMmsDefaultCba( R_AVKON_SOFTKEYS_OPTIONS_BACK );
-
-
-CVeiTrimForMmsView* CVeiTrimForMmsView::NewL( CSendUi& aSendAppUi )
-	{
-    CVeiTrimForMmsView* self = CVeiTrimForMmsView::NewLC( aSendAppUi );
-    CleanupStack::Pop( self );
-
-    return self;
-	}
-
-
-CVeiTrimForMmsView* CVeiTrimForMmsView::NewLC( CSendUi& aSendAppUi )
-	{
-    CVeiTrimForMmsView* self = new (ELeave) CVeiTrimForMmsView( aSendAppUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-
-    return self;
-	}
-
-// -----------------------------------------------------------------------------
-// CVeiTrimForMmsView::ConstructL
-// Symbian 2nd phase constructor that can leave.
-// -----------------------------------------------------------------------------
-//
-void CVeiTrimForMmsView::ConstructL()
-    {
-    BaseConstructL( R_VEI_TRIM_FOR_MMS_VIEW );
-
-    iErrorUi = CVeiErrorUI::NewL( *iCoeEnv );
-
-	iTempMaker = CVeiTempMaker::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-// CVeiTrimForMmsView::CVeiTrimForMmsView( CSendUi& aSendAppUi )
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CVeiTrimForMmsView::CVeiTrimForMmsView( CSendUi& aSendAppUi ):
-    iSendAppUi( aSendAppUi )
-    {
-    }
-
-
-CVeiTrimForMmsView::~CVeiTrimForMmsView()
-    {
-    if( iContainer )
-        {
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        }
-    if( iNaviDecorator )
-        {
-        delete iNaviDecorator;
-        }
-
-    if( iVedMovie )
-        {
-		iVedMovie->UnregisterMovieObserver( this );
-        delete iVedMovie;
-        }
-
-	if ( iTempMaker )
-		{
-		delete iTempMaker;
-		iTempMaker = NULL;
-		}
-	if( iTempFile )
-        {
-		TInt err = CCoeEnv::Static()->FsSession().Delete( *iTempFile );
-		if ( err ) 
-			{
-			// what to do when error occurs in destructor???
-			}
-
-        delete iTempFile;
-        }
-	
-    delete iErrorUi;
-    
-    iProgressInfo = NULL;
-    }
-
-
-TUid CVeiTrimForMmsView::Id() const
-    {
-    return TUid::Uid( EVeiTrimForMmsView );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CVeiTrimForMmsView::HandleCommandL( TInt aCommand )
-//
-//  
-// ----------------------------------------------------------------------------
-//
-void CVeiTrimForMmsView::HandleCommandL( TInt aCommand )
-    {
-    LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::HandleCommandL: In");
-	
-	TInt state;
-	state = iContainer->PreviewState();
-
-    switch ( aCommand )
-        {
-        /**
-         * Options -> Send via multimedia
-         */
-        case EVeiCmdSendViaMms:
-            {
-            CmdSendViaMultimediaL();
-            break;
-            }
-        /**
-         * Options -> Preview
-         */
-        case EVeiCmdPreview:
-            {		
-			if(	state == EIdle || state == EStop ) 
-				{
-				SetTrimStateL( EFullPreview );
-				PlayPreviewL();
-				}
-            break;
-            }
-        //
-        // Options -> Help
-        //
-        case EVeiCmdTrimForMmsViewHelp:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        /**
-         * Options -> Back
-         */
-        case EAknSoftkeyBack:
-            {
-			if( state != EFullPreview )
-				{
-				CmdSoftkeyBackL();
-				}
-			else
-				{
-				SetTrimStateL( ESeek );
-				}
-            break;
-            }
-        /**
-         * Adjust video length -> Ok
-         */
-        case EAknSoftkeyOk:
-            {
-			if( state == EPause )
-				{
-				SetTrimStateL( ESeek );
-				iContainer->Stop( ETrue );
-				}
-			else
-				{	
-				CmdSoftkeyOkL();  
-				}
-            break;
-            }
-        /**
-         * Adjust video length -> Cancel
-         */
-        case EAknSoftkeyCancel:
-            {
-			if( state == EPause )
-				{
-				SetTrimStateL( ESeek );
-				iContainer->Stop( ETrue );
-				}
-			else
-				{	
-				CmdSoftkeyCancelL();
-				}
-            break;
-            }
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-
-    LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::HandleCommandL: Out");
-    }
-
-
-// ----------------------------------------------------------------------------
-// CVeiTrimForMmsView::CmdSendViaMultimediaL()
-//  Function for handling the Send Via Multimedia command.
-//  
-// ----------------------------------------------------------------------------
-//
-void CVeiTrimForMmsView::CmdSendViaMultimediaL()
-    {
-    LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::CmdSendViaMultimediaL: In");
-
-        // Start processing the trimmed video
-	    // Possible leave codes:
-	    //	- KErrNoMemory if memory allocation fails
-	    //	- KErrAccessDenied if the file access is denied
-	    //	- KErrDiskFull if the disk is full
-	    //	- KErrWrite if not all data could be written
-	    //	- KErrBadName if the filename is bad
-	    //  - KErrDirFull if the directory is full
-        // : If video clip is already processed and frame is in same position
-        //       do not reprocess the movie.
-
-
-	UpdateNaviPaneSize();
-
-	TBool fileExists( ETrue );
-	RFs	fs = CCoeEnv::Static()->FsSession();
-
-	if ( iTempFile )
-		{
-		fileExists = BaflUtils::FileExists( fs, *iTempFile );
-		}
-
-	if ( !fileExists || ( !iTempFile  ) || iProcessNeeded )
-		{
-
-		if ( iTempFile && fileExists )
-			{
-			User::LeaveIfError( fs.Delete( *iTempFile ) );
-			delete iTempFile;
-			iTempFile = NULL;
-			}
-
-		iTempFile = HBufC::NewL(KMaxFileName);
-
-// @: check the quality setting. should we set it here to MMS compatible?
-
-		// Quality is taken from settings and set to engine.
-		ReadSettingsL( iMovieSaveSettings );
-
-		iTempMaker->GenerateTempFileName( *iTempFile, iMovieSaveSettings.MemoryInUse(), iVedMovie->Format() );
-
-		TEntry fileinfo;
-		// Rename movie from xxxx.$$$ to defaultfilename from settingsview.
-		// looks better in attachment list..
-
-		// Get default movie name from settings view
-		TPtr temppeet = iTempFile->Des();
-		TParse parse;
-
-		parse.Set( iMovieSaveSettings.DefaultVideoName(), &temppeet, NULL );
-
-		TFileName orgPathAndName = parse.FullName();
-		
-//		TVedVideoFormat movieQuality = iVedMovie->Format();
-		
-		orgPathAndName.Replace( orgPathAndName.Length()-4, 4, KExt3gp );
-
-		fs.Replace( *iTempFile, orgPathAndName );
-		iTempFile->Des() = orgPathAndName;
-		fs.Entry( *iTempFile, fileinfo );
-
-				
-		iVedMovie->SetQuality( CVedMovie::EQualityMMSInteroperability );
-		LOGFMT(KVideoEditorLogFile, "CVeiTrimForMmsView::CmdSendViaMultimediaL: 1, iTempFile:%S", iTempFile);
-        TRAPD( processError, iVedMovie->ProcessL( *iTempFile, *this ) );
-		LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::CmdSendViaMultimediaL: 2");
-        if( processError == KErrNone )
-            {
-            // Text for the progress note is loaded from TBUF resource
-            HBufC* noteText;
-            noteText = StringLoader::LoadLC( R_VED_PROCESSING_FOR_MMS, iEikonEnv );
-
-            // Construct and execute progress note.
-            iProgressNote = new(ELeave) CAknProgressDialog( REINTERPRET_CAST(CEikDialog**, 
-                                                             &iProgressNote), ETrue);
-			iProgressNote->PrepareLC( R_VEI_PROGRESS_NOTE );
-            iProgressNote->SetTextL( *noteText );
-            
-            iProgressInfo = iProgressNote->GetProgressInfoL();
-			iProgressInfo->SetFinalValue( KProgressNoteMaxValue );
-            
-            iProgressNote->RunLD(); 
-
-            CleanupStack::PopAndDestroy( noteText );    // Pop and destroy the text
-            }
-            else 
-            {
-            // : add error handling here
-            }
-
-        }
-    else
-        {
-        
-		RFs shareFServer;
-	   	LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::CmdSendViaMultimediaL: shareFServer connect.");
-
-	 	User::LeaveIfError(shareFServer.Connect());
-	    shareFServer.ShareProtected();
-		
-		RFile openFileHandle;
-    	
-		TInt err = openFileHandle.Open(shareFServer,*iTempFile,EFileRead|EFileShareReadersOnly);
-		if (KErrNone != err)
-			{
-			LOGFMT(KVideoEditorLogFile, "CVeiTrimForMmsView::CmdSendViaMultimediaL: Could not open file %S with EFileShareReadersOnly. Trying EFileShareAny", iTempFile);
-			User::LeaveIfError( openFileHandle.Open (shareFServer, *iTempFile, EFileRead|EFileShareAny) );
-			}
-		 
-		CMessageData* messageData = CMessageData::NewLC();	
-		 
-		 
-		messageData->AppendAttachmentHandleL( openFileHandle );
-
-		iSendAppUi.CreateAndSendMessageL( KSenduiMtmMmsUid, messageData, KNullUid, EFalse );	
-		
-		CleanupStack::PopAndDestroy( messageData );
-		 
-        shareFServer.Close();
-	   	LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::CmdSendViaMultimediaL: shareFServer closed.");
-        }
-
-    LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::CmdSendViaMultimediaL: Out");
-    }
-
-void CVeiTrimForMmsView::CmdSoftkeyBackL()
-    {
-    // Compare previous view's application uid to video editor uid.
-    if( iPreviousViewId.iAppUid == KUidVideoEditor )
-        {
-	    CEikStatusPane* statusPane = AppUi()->StatusPane();
-	    TUid naviPaneUid = TUid::Uid( EEikStatusPaneUidNavi );  // Navi pane UID
-
-        CAknNavigationControlContainer *naviContainer = (CAknNavigationControlContainer*)statusPane->ControlL( naviPaneUid );
-        naviContainer->Pop( iNaviDecorator );
-        
-        // Activate previous local view.
-        AppUi()->ActivateLocalViewL( iPreviousViewId.iViewUid );
-        }
-    else
-        {
-        // Exit video editor
-        AppUi()->HandleCommandL( EEikCmdExit);
-        }
-    }
-
-
-void CVeiTrimForMmsView::CmdSoftkeyOkL()
-    {
-    // Set CBA labels back to view default
-    Cba()->SetCommandSetL( KVedTrimForMmsDefaultCba );
-    Cba()->DrawDeferred();
-
-    PushKeySoundL( R_VED_LEFT_RIGHT_SILENT_SKEY_LIST );
-    }
-
-
-void CVeiTrimForMmsView::CmdSoftkeyCancelL()
-    {
-    // Set CBA labels back to view default
-    Cba()->SetCommandSetL( KVedTrimForMmsDefaultCba );
-    Cba()->DrawDeferred();
-
-    PushKeySoundL( R_VED_LEFT_RIGHT_SILENT_SKEY_LIST );
-    }
-
-
-void CVeiTrimForMmsView::DoActivateL( const TVwsViewId& aPrevViewId,
-                                        TUid /*aCustomMessageId*/,
-                                        const TDesC8& aCustomMessage )
-    {
-    if( !iContainer ) 
-        {
-        iPreviousViewId = aPrevViewId;  // Save the previous view id
-
-        // Disable left and right navi-key sounds
-        PushKeySoundL( R_VED_LEFT_RIGHT_SILENT_SKEY_LIST );
-
-        SetTitlePaneTextL();
-        CreateNaviPaneL();
-		
-        STATIC_CAST( CVeiEditVideoLabelNavi*, iNaviDecorator->DecoratedControl() )->SetState( CVeiEditVideoLabelNavi::EStateTrimForMmsView );
-        
-        TFileName inputFileName;
-       	CnvUtfConverter::ConvertToUnicodeFromUtf8( inputFileName, aCustomMessage );
-
-
-		// TEST
-		if (inputFileName.Length() == 0)
-			{
-			inputFileName.Copy( _L("c:\\Data\\Videos\\test.mp4") );
-			}
-		// END TEST
-
-    
-        if( !iVedMovie )
-            {
-            iVedMovie = CVedMovie::NewL( NULL );
-            iVedMovie->RegisterMovieObserverL( this );
-            iVedMovie->InsertVideoClipL( inputFileName, KVedVideoClipIndex );
-			iVedMovie->SetQuality( CVedMovie::EQualityMMSInteroperability );
-            }
-
-        iContainer = CVeiTrimForMmsContainer::NewL( AppUi()->ClientRect(),
-                                                    *iVedMovie, *this );
-        iContainer->SetMopParent( this );
-        
-        AppUi()->AddToStackL( *this, iContainer );
-        }
-
-    }
-
-
-void CVeiTrimForMmsView::DoDeactivate()
-    {
-    if( iContainer )
-        {
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-
-        if( iVedMovie )
-            {
-            iVedMovie->Reset();
-            iVedMovie->UnregisterMovieObserver( this );
-             delete iVedMovie;
-            iVedMovie = NULL;
-            }
-        }
-    }
-
-
-void CVeiTrimForMmsView::PushKeySoundL( const TInt aResourceId ) const
-    {
-    CAknKeySoundSystem* aknKeySoundSystem = AppUi()->KeySounds();
-    aknKeySoundSystem->PushContextL( aResourceId );
-    }
-
-
-void CVeiTrimForMmsView::PopKeySound() const
-    {
-    AppUi()->KeySounds()->PopContext();
-    }
-
-
-void CVeiTrimForMmsView::SetTitlePaneTextL() const
-    {
-    TUid titleUid;
-    titleUid.iUid = EEikStatusPaneUidTitle;
-
-    CEikStatusPane* statusPane = AppUi()->StatusPane();
-
-    CEikStatusPaneBase::TPaneCapabilities titlePaneCap = 
-        statusPane->PaneCapabilities( titleUid );
-
-    if( titlePaneCap.IsPresent() && titlePaneCap.IsAppOwned() )
-        {
-        CAknTitlePane* titlePane = 
-            (CAknTitlePane*)statusPane->ControlL( titleUid );
-
-		TResourceReader reader;
-		iCoeEnv->CreateResourceReaderLC( reader,
-            R_VEI_TRIM_FOR_MMS_VIEW_TITLE_NAME );
-		titlePane->SetFromResourceL( reader );
-
-        CleanupStack::PopAndDestroy(); //reader
-        }
-
-    }
-
-
-void CVeiTrimForMmsView::CreateNaviPaneL()
-    {
-    TUid naviPaneUid = TUid::Uid( EEikStatusPaneUidNavi );  // Navi pane UID
-
-    CEikStatusPane* statusPane = AppUi()->StatusPane();     // Get status pane
-
-    CEikStatusPaneBase::TPaneCapabilities naviPaneCap =
-        statusPane->PaneCapabilities( naviPaneUid );
-
-    if( naviPaneCap.IsPresent() && naviPaneCap.IsAppOwned() )
-        {
-        CAknNavigationControlContainer *naviContainer = (CAknNavigationControlContainer*)statusPane->ControlL( naviPaneUid );
-        
-        CVeiEditVideoLabelNavi* editvideolabelnavi = CVeiEditVideoLabelNavi::NewLC();
-        editvideolabelnavi->SetState( CVeiEditVideoLabelNavi::EStateInitializing );
-
-        iNaviDecorator = 
-            CAknNavigationDecorator::NewL( naviContainer, editvideolabelnavi,
-                                       CAknNavigationDecorator::ENotSpecified );
-        CleanupStack::Pop( editvideolabelnavi );
-
-        iNaviDecorator->SetContainerWindowL( *naviContainer );		
-	    iNaviDecorator->MakeScrollButtonVisible( EFalse );
-
-        naviContainer->PushL( *iNaviDecorator );
- 
-        }
-    }
-
-void CVeiTrimForMmsView::UpdateNaviPaneSize()
-    {
-    if( iContainer )
-        {
-        iVedMovie->VideoClipSetCutInTime( KVedVideoClipIndex, iContainer->CutInTime() );
-        iVedMovie->VideoClipSetCutOutTime( KVedVideoClipIndex, iContainer->CutOutTime() );
-        }
-    }
-void CVeiTrimForMmsView::SetNaviPaneSizeLabelL( const TInt& aSizeInBytes )
-    {
-    STATIC_CAST(CVeiEditVideoLabelNavi*,
-        iNaviDecorator->DecoratedControl())->SetSizeLabelL( aSizeInBytes );
-    }
-
-
-void CVeiTrimForMmsView::SetNaviPaneDurationLabelL(
-                                    const TTimeIntervalMicroSeconds& aTime )
-    {
-    STATIC_CAST(CVeiEditVideoLabelNavi*, 
-       iNaviDecorator->DecoratedControl())->SetDurationLabelL( aTime.Int64() );
-    }
-
-void CVeiTrimForMmsView::UpdateNaviPaneL( const TInt& aSizeInBytes, 
-								const TTimeIntervalMicroSeconds& aTime )
-	{ 
-	TInt maxMmsSize = STATIC_CAST( CVeiEditVideoLabelNavi*, iNaviDecorator->DecoratedControl() )->GetMaxMmsSize();
-
-		// Navipanes MMS icon control. 
-	if( aSizeInBytes < maxMmsSize )
-		{
-		STATIC_CAST( CVeiEditVideoLabelNavi*, iNaviDecorator->DecoratedControl() )->SetMmsAvailableL( ETrue );
-		}
-	else 
-		{
-		STATIC_CAST( CVeiEditVideoLabelNavi*, iNaviDecorator->DecoratedControl() )->SetMmsAvailableL( EFalse );
-		}
-
-    STATIC_CAST(CVeiEditVideoLabelNavi*,
-        iNaviDecorator->DecoratedControl())->SetSizeLabelL( aSizeInBytes );
-	
-    STATIC_CAST(CVeiEditVideoLabelNavi*, 
-       iNaviDecorator->DecoratedControl())->SetDurationLabelL( aTime.Int64() );
- 	}
-
-void CVeiTrimForMmsView::HandleResourceChange(TInt aType)
-    {
-    LOGFMT(KVideoEditorLogFile, "CVeiTrimForMmsView::HandleResourceChange() In, aType:%d", aType);
-    
-    if (KAknsMessageSkinChange == aType && iNaviDecorator)
-        {
-        // Handle skin change in the navi label controls - they do not receive 
-        // it automatically since they are not in the control stack
-        CCoeControl* navi = iNaviDecorator->DecoratedControl();
-        if (navi)
-        	{
-        	navi->HandleResourceChange( aType );
-        	}
-        }
-    
-    LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::HandleResourceChange() Out");
-    }
-
-// ============= MVedMovieProcessingObserver FUNCTIONS START ==================
-
-// ----------------------------------------------------------------------------
-// CVeiTrimForMmsView::NotifyMovieProcessingStartedL( CVedMovie& aMovie )
-//
-// Called to notify that a new movie processing operation has been started.
-// ----------------------------------------------------------------------------
-//
-void CVeiTrimForMmsView::NotifyMovieProcessingStartedL( CVedMovie& /*aMovie*/ )
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CVeiTrimForMmsView::NotifyMovieProcessingProgressed( CVedMovie& aMovie,
-//                                                      TInt aPercentage )
-//
-// Called to inform about the current progress of the movie processing
-// operation.
-// ----------------------------------------------------------------------------
-//
-void CVeiTrimForMmsView::NotifyMovieProcessingProgressed( CVedMovie&/*aMovie*/,
-                                                         TInt aPercentage )
-    {
-    LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::NotifyMovieProcessingProgressed(): In");
-
-    // Increment the progress bar.
-    iProgressInfo->SetAndDraw( aPercentage );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CVeiTrimForMmsView::NotifyMovieProcessingCompleted( CVedMovie& aMovie,
-//                                                     TInt aError )
-//
-// Called to notify that the movie processing operation has been completed.
-// ----------------------------------------------------------------------------
-//
-void CVeiTrimForMmsView::NotifyMovieProcessingCompleted( CVedMovie& /*aMovie*/,
-                                                        TInt aError )
-    {
-    LOGFMT(KVideoEditorLogFile, "CVeiTrimForMmsView::NotifyMovieProcessingCompleted(): In, aError:%d", aError);
-
-	if( !aError )
-		{
-		ProcessNeeded( EFalse );
-		}
-
-    __ASSERT_ALWAYS( iProgressNote, User::Panic(_L("CVeiTrimForMmsView"),1) );
-
-	// Draw the progress bar to 100%.
-    iProgressInfo->SetAndDraw( 100 );
-
-    // Delete the note.
-    TRAP_IGNORE( iProgressNote->ProcessFinishedL() );
-
-	RFs shareFServer;
-	LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::NotifyMovieProcessingCompleted: shareFServer connect.");
-
-	User::LeaveIfError(shareFServer.Connect());
-	shareFServer.ShareProtected();
-		
-	RFile openFileHandle;
-
-	TInt err = openFileHandle.Open(shareFServer,*iTempFile,EFileRead|EFileShareReadersOnly);
-	if (KErrNone != err)
-		{
-		LOGFMT(KVideoEditorLogFile, "CVeiTrimForMmsView::NotifyMovieProcessingCompleted: Could not open file %S with EFileShareReadersOnly. Trying EFileShareAny", iTempFile);
-		User::LeaveIfError( openFileHandle.Open (shareFServer, *iTempFile, EFileRead|EFileShareAny) );
-		}
-
-	CMessageData* messageData = CMessageData::NewLC();	
-	messageData->AppendAttachmentHandleL( openFileHandle );
-
-	iSendAppUi.CreateAndSendMessageL( KSenduiMtmMmsUid, messageData, KNullUid, EFalse );	
-		
-	CleanupStack::PopAndDestroy( messageData );
-		 
-    shareFServer.Close();
-
-    LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::NotifyMovieProcessingCompleted: shareFServer closed.");
-	LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::NotifyMovieProcessingCompleted(): Out");
-    }
-
-// ============== MVedMovieProcessingObserver FUNCTIONS END ===================
-
-
-/**
- * Called to notify that a new video clip has been successfully
- * added to the movie. Note that the indices and the start and end times
- * of the video clips after the new clip have also changed as a result.
- * Note that the transitions may also have changed. 
- *
- * @param aMovie  movie
- * @param aIndex  index of video clip in movie
- */
-void CVeiTrimForMmsView::NotifyVideoClipAdded( CVedMovie& /*aMovie*/,
-                                               TInt /*aIndex*/ )
-    {
-		ProcessNeeded( ETrue );
-    }
-
-
-/**
- * Called to notify that adding a new video clip to the movie has failed.
- *
- * Possible error codes:
- *	- <code>KErrNotFound</code> if there is no file with the specified name
- *    in the specified directory (but the directory exists)
- *	- <code>KErrPathNotFound</code> if the specified directory
- *    does not exist
- *	- <code>KErrUnknown</code> if the specified file is of unknown format
- *	- <code>KErrNotSupported</code> if the format of the file is recognized but
- *    adding it to the movie is not supported (e.g., it is of different resolution
- *    or format than the other clips)
- *
- * @param aMovie  movie
- * @param aError  one of the system wide error codes
- */
-void CVeiTrimForMmsView::NotifyVideoClipAddingFailed( CVedMovie& /*aMovie*/, 
-                                                      TInt /*aError*/ )
-    {
-    User::Panic( _L("MmsView"), 20 );
-    }
-
-
-void CVeiTrimForMmsView::NotifyVideoClipRemoved( CVedMovie& /*aMovie*/, 
-                                                 TInt /*aIndex*/ )
-    {
-    }
-	
-
-void CVeiTrimForMmsView::NotifyVideoClipIndicesChanged( CVedMovie& /*aMovie*/,
-                                                        TInt /*aOldIndex*/, 
-									                    TInt /*aNewIndex*/ )
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CVeiTrimForMmsView::NotifyVideoClipTimingsChanged( CVedMovie& aMovie, 
-//                                                    TInt aIndex )
-//
-// Called to notify that the timings (that is, the cut in or cut out time or
-// the speed and consequently the end time, edited duration, and possibly audio
-// settings) of a video clip have changed (but the index of the clip has 
-// not changed). Note that the start and end times of the video clips 
-// after the changed clip have also changed.
-// ----------------------------------------------------------------------------
-//
-void CVeiTrimForMmsView::NotifyVideoClipTimingsChanged( CVedMovie& /*aMovie*/,
-            										    TInt /*aIndex*/ )
-    {
-    LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::NotifyVideoClipTimingsChanged()");
-    }
-
-
-void CVeiTrimForMmsView::NotifyVideoClipColorEffectChanged( CVedMovie& /*aMovie*/,
-												   TInt /*aIndex*/ )
-    {
-    }
-
-	
-void CVeiTrimForMmsView::NotifyVideoClipAudioSettingsChanged( CVedMovie& /*aMovie*/,
-											         TInt /*aIndex*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyVideoClipGeneratorSettingsChanged( CVedMovie& /*aMovie*/,
-											             TInt /*aIndex*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyVideoClipDescriptiveNameChanged( CVedMovie& /*aMovie*/,
-																TInt /*aIndex*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyStartTransitionEffectChanged( CVedMovie& /*aMovie*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyMiddleTransitionEffectChanged( CVedMovie& /*aMovie*/, 
-													 TInt /*aIndex*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyEndTransitionEffectChanged( CVedMovie& /*aMovie*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyAudioClipAdded( CVedMovie& /*aMovie*/, TInt /*aIndex*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyAudioClipAddingFailed( CVedMovie& /*aMovie*/, TInt /*aError*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyAudioClipRemoved( CVedMovie& /*aMovie*/, TInt /*aIndex*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyAudioClipIndicesChanged( CVedMovie& /*aMovie*/, TInt /*aOldIndex*/, 
-									           TInt /*aNewIndex*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyAudioClipTimingsChanged( CVedMovie& /*aMovie*/,
-											   TInt /*aIndex*/ )
-    {
-    }
-
-
-void CVeiTrimForMmsView::NotifyMovieQualityChanged( CVedMovie& /*aMovie*/ )
-    {
-    }
-
-void CVeiTrimForMmsView::NotifyMovieReseted(CVedMovie& /*aMovie*/ )
-    {
-    }
-
-void CVeiTrimForMmsView::NotifyMovieOutputParametersChanged(CVedMovie& /*aMovie*/)
-	{
-	}
-
-void CVeiTrimForMmsView::NotifyAudioClipDynamicLevelMarkInserted(CVedMovie& /*aMovie*/, 
-                                                         TInt /*aClipIndex*/, 
-                                                         TInt /*aMarkIndex*/)
-	{
-	}
-
-void CVeiTrimForMmsView::NotifyAudioClipDynamicLevelMarkRemoved(CVedMovie& /*aMovie*/, 
-                                                        TInt /*aClipIndex*/, 
-                                                        TInt /*aMarkIndex*/)
-	{
-	}
-
-void CVeiTrimForMmsView::NotifyVideoClipDynamicLevelMarkInserted(CVedMovie& /*aMovie*/,
-                                                         TInt /*aClipIndex*/, 
-                                                         TInt /*aMarkIndex*/)
-	{
-	}
-
-void CVeiTrimForMmsView::NotifyVideoClipDynamicLevelMarkRemoved(CVedMovie& /*aMovie*/, 
-                                                        TInt /*aClipIndex*/, 
-                                                        TInt /*aMarkIndex*/)
-	{
-	}
-
-void CVeiTrimForMmsView::PlayPreviewL()
-	{
-	TRect rect( AppUi()->ApplicationRect() );
-	iContainer->SetRect( rect );
-	
-	iContainer->PlayL( iVedMovie->VideoClipInfo( 0 )->FileName(), rect  );
-	}
-
-void CVeiTrimForMmsView::HandleStatusPaneSizeChange()
-	{
-	if ( iContainer )
-		{
-		iContainer->SetRect( AppUi()->ClientRect() );
-		}
-
-	}
-void CVeiTrimForMmsView::SetTrimStateL( TTrimState aState )
-	{
-	iTrimState = aState;
-	CEikStatusPane *statusPane;
-	CAknTitlePane* titlePane;
-
-	TResourceReader reader1;
-
-	switch ( iTrimState )
-        {
-	case EFullPreview:		               
-
-			Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_EMPTY );
- 			Cba()->DrawDeferred();
-			
-			break;
-
-		case ESeek:
-			iContainer->SetRect( AppUi()->ClientRect() );
-			statusPane = ( ( CAknAppUi* )iEikonEnv->EikAppUi() )->StatusPane(); 
-	
-			titlePane = (CAknTitlePane*) statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) );
-   			iCoeEnv->CreateResourceReaderLC( reader1, R_VEI_TRIM_FOR_MMS_VIEW_TITLE_NAME );
-			titlePane->SetFromResourceL( reader1 );
-			CleanupStack::PopAndDestroy(); //reader1
-			
-			Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_BACK );
- 			Cba()->DrawDeferred();
-			
-			break;
-			
-		default:
-			{
-			break;
-			}
-
-		}
-	}
-
-void CVeiTrimForMmsView::DialogDismissedL( TInt aButtonId )
-	{
-	if ( aButtonId != EAknSoftkeyDone )
-		{	
-		iVedMovie->CancelProcessing();        
-        }
-    iProgressInfo = NULL;
-	}
-
-void CVeiTrimForMmsView::ProcessNeeded( TBool aProcessNeed )
-	{
-	iProcessNeeded = aProcessNeed;
-	}
-
-void CVeiTrimForMmsView::ShowGlobalErrorNoteL( const TInt aError ) const
-	{	
-	iErrorUi->ShowGlobalErrorNote( aError );
-	}	
-
-//=============================================================================
-void CVeiTrimForMmsView::ReadSettingsL( TVeiSettings& aSettings ) const
-	{
-	LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::ReadSettingsL: in");
-
-	STATIC_CAST( CTrimForMmsAppUi*, AppUi() )->ReadSettingsL( aSettings );
-
-	LOG(KVideoEditorLogFile, "CVeiTrimForMmsView::ReadSettingsL: out");
-	}
-
-
-// End of File