videditor/SimpleCutVideo/src/VeiSimpleCutVideoContainer.cpp
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 5 4c409de21d23
--- a/videditor/SimpleCutVideo/src/VeiSimpleCutVideoContainer.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1981 +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: 
-*
-*/
-
-
-
-// INCLUDE FILES
-// System includes
-#include <VedSimpleCutVideo.rsg>
-#include <videoeditoruicomponents.mbg>
-#include <eikbtgpc.h>
-#include <vedvideoclipinfo.h>
-#include <coemain.h>
-#include <eikenv.h>
-//#include <CMGXFileManager.h>
-//#include <MGXFileManagerFactory.h>
-#include <aknsbasicbackgroundcontrolcontext.h> 
-#include <aknsdrawutils.h> 
-#include <aknsdatacontext.h> 
-#include <stringloader.h>
-#include <aknnotewrappers.h> 
-#include <pathinfo.h> 
-#include <eikprogi.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <CAknMemorySelectionDialog.h> 
-#include <CAknFileNamePromptDialog.h> 
-#include <AknCommonDialogsDynMem.h> 
-#include <CAknMemorySelectionDialogMultiDrive.h> 
-#include <apgcli.h>
-#include <csxhelp/vided.hlp.hrh>
-
-#ifdef RD_TACTILE_FEEDBACK 
-#include <touchfeedback.h>
-#endif /* RD_TACTILE_FEEDBACK  */
-
-// User includes
-#include "VeiSimpleCutVideoAppUi.h"
-#include "VeiCutterBar.h"
-#include "VeiSimpleCutVideoContainer.h"
-#include "VeiSimpleCutVideoView.h"
-#include "veitextdisplay.h"
-#include "VideoEditorCommon.h"
-#include "VideoEditorUtils.h"
-#include "VeiErrorUi.h"
-#include "VedSimpleCutVideo.hrh"
-
-#define KMediaGalleryUID3           0x101F8599 
-
-// ================= MEMBER FUNCTIONS =======================
-void CleanupRarray( TAny* object )
-	{
-	(( RImageTypeDescriptionArray*)object)->ResetAndDestroy();
-	}
-
-CVeiSimpleCutVideoContainer* CVeiSimpleCutVideoContainer::NewL( const TRect& aRect, CVeiSimpleCutVideoView& aView, CVeiErrorUI& aErrorUI )
-    {
-    CVeiSimpleCutVideoContainer* self = CVeiSimpleCutVideoContainer::NewLC( aRect, aView, aErrorUI );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-CVeiSimpleCutVideoContainer* CVeiSimpleCutVideoContainer::NewLC( const TRect& aRect, CVeiSimpleCutVideoView& aView, CVeiErrorUI& aErrorUI )
-    {
-    CVeiSimpleCutVideoContainer* self = new (ELeave) CVeiSimpleCutVideoContainer( aRect, aView, aErrorUI );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aView, aErrorUI );
-    return self;
-    }
-
-void CVeiSimpleCutVideoContainer::ConstructL( const TRect& aRect, CVeiSimpleCutVideoView& /*aView*/, CVeiErrorUI& /*aErrorUI*/ )
-    {
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::ConstructL: in");
-	CreateWindowL();
-
-	iState = EStateInitializing;
-	iFrameReady = EFalse;
-	iPlayOrPlayMarked = EFalse;
-
-	iSeekPos = TTimeIntervalMicroSeconds( 0 );
-	iSeeking = EFalse;
-	iCutVideoBar = CVeiCutterBar::NewL( this );
-
-	iConverter = CVeiImageConverter::NewL( this );
-	iTakeSnapshot = EFalse;
-	iVideoDisplay = CVeiVideoDisplay::NewL( iDisplayRect, this, *this );
-
-	TFileName mbmPath( VideoEditorUtils::IconFileNameAndPath(KVideoEditorUiComponentsIconFileId) );	
-
-	if( !AknLayoutUtils::PenEnabled() )
-		{
-		iCutTimeDisplay = CVeiTextDisplay::NewL( iCutTimeDisplayRect, this );
-               
-		// A new icon. Temporarely same bitmap is used for non touch pause as in touch devices
-		// A new icon has been requested and it should be changed here as soon as it's in the build
-		AknIconUtils::CreateIconL( iPauseBitmap, iPauseBitmapMask,
-				mbmPath, EMbmVideoeditoruicomponentsQgn_indi_vded_pause, 
-				EMbmVideoeditoruicomponentsQgn_indi_vded_pause_mask );
-		}
-	else
-		{
-		AknIconUtils::CreateIconL( iPlayBitmap, iPlayBitmapMask,
-				mbmPath, EMbmVideoeditoruicomponentsQgn_indi_vded2_play, 
-				EMbmVideoeditoruicomponentsQgn_indi_vded2_play_mask );
-				
-		AknIconUtils::CreateIconL( iPauseBitmap, iPauseBitmapMask,
-				mbmPath, EMbmVideoeditoruicomponentsQgn_indi_vded2_pause, 
-				EMbmVideoeditoruicomponentsQgn_indi_vded2_pause_mask );
-		}
-
-    SetRect( aRect );
-
-	iBgContext = CAknsBasicBackgroundControlContext::NewL( KAknsIIDQsnBgAreaMain, Rect(), EFalse );
-	iVideoBarTimer = CPeriodic::NewL( CActive::EPriorityLow );
-
-#ifdef RD_TACTILE_FEEDBACK 
-    iTouchFeedBack = MTouchFeedback::Instance();    
-#endif /* RD_TACTILE_FEEDBACK  */     
-
-	iRemConTarget = CVeiRemConTarget::NewL( *this );
-
-	EnableDragEvents();
-
-    ActivateL();
-
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::ConstructL: out");
-    }
-
-CVeiSimpleCutVideoContainer::CVeiSimpleCutVideoContainer( 
-    const TRect& /*aRect*/, CVeiSimpleCutVideoView& aView, 
-    CVeiErrorUI& aErrorUI ) : iView( aView ), iErrorUI( aErrorUI )
-	{
-	}
-
-CVeiSimpleCutVideoContainer::~CVeiSimpleCutVideoContainer()
-    {
-	if ( iCutVideoBar )
-		{
-		delete iCutVideoBar;
-		}
-	if ( iBgContext )
-		{
-		delete iBgContext;
-		}
-	if ( iVideoDisplay )
-		{
-		delete iVideoDisplay;
-		}
-	if ( iCutTimeDisplay )
-		{
-		delete iCutTimeDisplay;
-		}
-	if ( iVideoClipInfo )
-		{
-		delete iVideoClipInfo;
-		iVideoClipInfo = NULL;
-		}
-	if ( iConverter )
-		{
-		iConverter->Cancel();
-		delete iConverter;
-		}
-	if ( iVideoBarTimer )
-		{
-		iVideoBarTimer->Cancel();
-		delete iVideoBarTimer;
-		}
-
-	if ( iProgressDialog )
-		{
-		delete iProgressDialog;
-		iProgressDialog = NULL;
-		}
-	if ( iSaveToFileName )
-		{
-		delete iSaveToFileName;
-		iSaveToFileName = NULL;
-		}
-
-	delete iCallBackSaveSnapshot;
-	delete iCallBackTakeSnapshot;
-
-	if ( iPlayBitmap )
-		{
-		delete iPlayBitmap;
-		}
-	if ( iPlayBitmapMask )
-		{
-		delete iPlayBitmapMask;
-		}
-	delete iPauseBitmap;
-	delete iPauseBitmapMask;
-
-	delete iRemConTarget;
-    }
-
-void CVeiSimpleCutVideoContainer::DialogDismissedL( TInt aButtonId )
-	{
-	if ( aButtonId == -1 )
-        { // when pressing cancel button.
-		CancelSnapshotSave();
-        }
-	iTakeSnapshot = EFalse;
-	}
-
-void CVeiSimpleCutVideoContainer::SizeChanged()
-    {
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SizeChanged(): In");
-	TSize videoScreenSize;
-    TRect rect( Rect() ); 
-	if ( iBgContext )
-		{
-		iBgContext->SetRect( rect );
-		}
-	LOGFMT2(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SizeChanged(): Rect(): %d,%d", rect.iBr.iX, rect.iBr.iY);
-
-	TInt variety = 0;
-	if (VideoEditorUtils::IsLandscapeScreenOrientation())
-		{
-		variety = 1;
-		}
-
-	if( !AknLayoutUtils::PenEnabled() )
-		{
-		// Progress bar
-		TAknLayoutRect progressBarLayout; 
-		progressBarLayout.LayoutRect(Rect(),AknLayoutScalable_Apps::vded_slider_pane());
-		iCutVideoBar->SetComponentRect(CVeiCutterBar::EProgressBar, progressBarLayout.Rect());
-
-	    TAknLayoutRect sliderLeftEndLayout;
-	    TAknLayoutRect sliderRightEndLayout;
-	    if ( AknLayoutUtils::LayoutMirrored () )
-	        {
-	        // left end of the slider when that part is unselected
-	    	sliderLeftEndLayout.LayoutRect( progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g4() );
-	    	iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderLeftEndIcon, sliderLeftEndLayout.Rect() );
-	    	
-	    	// right end of the slider when that part is unselected
-	    	sliderRightEndLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g3());
-	    	iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderRightEndIcon, sliderRightEndLayout.Rect() );	
-	        }
-	    else
-	        {
-	        // left end of the slider when that part is unselected
-	    	sliderLeftEndLayout.LayoutRect( progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g3() );
-	    	iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderLeftEndIcon, sliderLeftEndLayout.Rect() );
-	    	
-	    	// right end of the slider when that part is unselected
-	    	sliderRightEndLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g4());
-	    	iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderRightEndIcon, sliderRightEndLayout.Rect() );	
-	        }
-
-		// middle part of the slider when that part is unselected	
-		TAknLayoutRect sliderMiddleLayout;
-		sliderMiddleLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g5());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderMiddleIcon, sliderMiddleLayout.Rect() );		
-	    				
-		// left end of the cut selection slider 
-		TAknLayoutRect sliderSelectedLeftEndLayout;
-		sliderSelectedLeftEndLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g3());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderSelectedLeftEndIcon, sliderSelectedLeftEndLayout.Rect() );
-			
-		// middle part of the cut selection slider 
-		TAknLayoutRect sliderSelectedMiddleLayout;
-		sliderSelectedMiddleLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g5());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderSelectedMiddleIcon, sliderSelectedMiddleLayout.Rect() );		
-		
-		// right end of the cut selection slider 
-		TAknLayoutRect sliderSelectedRightEndLayout;
-		sliderSelectedRightEndLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g4());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderSelectedRightEndIcon, sliderSelectedRightEndLayout.Rect() ); 
-
-	    // playhead
-	    TAknLayoutRect playheadLayout;
-		playheadLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g1());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::EPlayheadIcon, playheadLayout.Rect() ); 
-
-	    // left/right border of cut selection slider
-	    TAknLayoutRect cutAreaBorderLayout;
-		cutAreaBorderLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded_slider_pane_g2());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::ECutAreaBorderIcon, cutAreaBorderLayout.Rect() ); 
-			
-		TAknLayoutText startTimeTextLayout;
-		TAknLayoutText endTimeTextLayout;
-		TAknLayoutRect startTimeIconLayout;
-		TAknLayoutRect endTimeIconLayout;
-
-		// Video Display	
-		TAknLayoutRect videoDisplayLayout;
-		videoDisplayLayout.LayoutRect(Rect(),AknLayoutScalable_Apps::vded_video_pane());
-		iVideoDisplay->SetRect(videoDisplayLayout.Rect());
-		
-		iDisplayRect = videoDisplayLayout.Rect();	
-		iIconDisplayRect = videoDisplayLayout.Rect();
-		LOGFMT2(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SizeChanged(): iDisplayRect: %d,%d", iDisplayRect.iBr.iX, iDisplayRect.iBr.iY);
-
-		//CVeiCutterBar	    
-	    TRect cutBarRect( sliderLeftEndLayout.Rect().iTl, sliderRightEndLayout.Rect().iBr );
-	    iCutVideoBar->SetRect( cutBarRect );
-			
-		TInt iconWidth = STATIC_CAST( TInt, rect.iBr.iX * 0.07954545455 );
-		AknIconUtils::SetSize( iPauseBitmap, TSize(iconWidth,iconWidth), EAspectRatioNotPreserved );
-		}
-	else
-		{
-		// Progress bar
-		TAknLayoutRect progressBarLayout; 
-		progressBarLayout.LayoutRect(Rect(),AknLayoutScalable_Apps::vded2_slider_pane(variety));
-
-		TAknLayoutRect progressBGLayout; 
-		progressBGLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_bg_pane());
-		iCutVideoBar->SetComponentRect(CVeiCutterBar::EProgressBar, progressBGLayout.Rect());
-
-	    TAknLayoutRect sliderLeftEndLayout;
-	    TAknLayoutRect sliderRightEndLayout;
-	    if ( AknLayoutUtils::LayoutMirrored () )
-	        {
-	        // left end of the slider when that part is unselected
-	    	sliderLeftEndLayout.LayoutRect( progressBGLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_bg_pane_g2());
-	    	iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderLeftEndIcon, sliderLeftEndLayout.Rect() );
-	    	
-	    	// right end of the slider when that part is unselected
-	    	sliderRightEndLayout.LayoutRect(progressBGLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_bg_pane_g1());
-	    	iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderRightEndIcon, sliderRightEndLayout.Rect() );	
-
-	        }
-	    else
-	        {
-	        // left end of the slider when that part is unselected
-	    	sliderLeftEndLayout.LayoutRect( progressBGLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_bg_pane_g1());
-	    	iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderLeftEndIcon, sliderLeftEndLayout.Rect() );
-	    	
-	    	// right end of the slider when that part is unselected
-	    	sliderRightEndLayout.LayoutRect(progressBGLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_bg_pane_g2());
-	    	iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderRightEndIcon, sliderRightEndLayout.Rect() );	
-	        }
-
-		// middle part of the slider when that part is unselected	
-		TAknLayoutRect sliderMiddleLayout;
-		sliderMiddleLayout.LayoutRect(progressBGLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_bg_pane_g3());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderMiddleIcon, sliderMiddleLayout.Rect() );		
-	    				
-		// middle part of the cut selection slider 
-		TAknLayoutRect sliderSelectedMiddleLayout;
-		sliderSelectedMiddleLayout.LayoutRect(progressBGLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_bg_pane_g3());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::ESliderSelectedMiddleIcon, sliderSelectedMiddleLayout.Rect() );		
-
-	    // playhead
-	    TAknLayoutRect playheadLayout;
-		playheadLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_pane_g3());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::EPlayheadIcon, playheadLayout.Rect() ); 
-
-	    // left/right border of cut selection slider
-	    TAknLayoutRect cutAreaBorderLayout;
-		cutAreaBorderLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_pane_g1());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::EStartMarkIcon, cutAreaBorderLayout.Rect() ); 
-		cutAreaBorderLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::vded2_slider_pane_g2());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::EEndMarkIcon, cutAreaBorderLayout.Rect() ); 
-
-		// Video Display	
-		TAknLayoutRect videoDisplayLayout;
-		videoDisplayLayout.LayoutRect(Rect(),AknLayoutScalable_Apps::vded_video_pane());
-		iVideoDisplay->SetRect(videoDisplayLayout.Rect());
-		
-		iDisplayRect = videoDisplayLayout.Rect();	
-		iIconDisplayRect = videoDisplayLayout.Rect();
-		LOGFMT2(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SizeChanged(): iDisplayRect: %d,%d", iDisplayRect.iBr.iX, iDisplayRect.iBr.iY);
-
-		// CVeiCutterBar	    
-	    TRect cutBarRect( progressBarLayout.Rect().iTl, progressBarLayout.Rect().iBr );
-	    iCutVideoBar->SetRect( cutBarRect );
-
-		// pause icon		
-		TAknLayoutRect iconLayout;
-		iconLayout.LayoutRect(Rect(),AknLayoutScalable_Apps::main_vded2_pane_g2(variety));
-		iIconDisplayRect = iconLayout.Rect();
-		AknIconUtils::SetSize( iPlayBitmap, iIconDisplayRect.Size(), EAspectRatioNotPreserved );
-		AknIconUtils::SetSize( iPauseBitmap, iIconDisplayRect.Size(), EAspectRatioNotPreserved );
-
-		// cut bar touch areas
-	    TAknLayoutRect touchAreaLayout;
-		touchAreaLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::aid_size_touch_vded2_playhead());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::EPlayheadTouch, touchAreaLayout.Rect() ); 
-		touchAreaLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::aid_size_touch_vded2_start());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::EStartMarkTouch, touchAreaLayout.Rect() ); 
-		touchAreaLayout.LayoutRect(progressBarLayout.Rect(),AknLayoutScalable_Apps::aid_size_touch_vded2_end());
-		iCutVideoBar->SetComponentRect( CVeiCutterBar::EEndMarkTouch, touchAreaLayout.Rect() ); 
-		}
-
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SizeChanged(): Out");
-	}
-
-TTypeUid::Ptr CVeiSimpleCutVideoContainer::MopSupplyObject( TTypeUid aId )
-	{
-	if ( aId.iUid == MAknsControlContext::ETypeId && iBgContext )
-		{
-		return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-		}
-	return CCoeControl::MopSupplyObject( aId );
-	}
-
-TInt CVeiSimpleCutVideoContainer::CountComponentControls() const
-    {
-	if( !AknLayoutUtils::PenEnabled() )
-		{
-	    return 3; 
-		}
-	else
-		{
-	    return 2; 
-		}
-    }
-
-CCoeControl* CVeiSimpleCutVideoContainer::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-			return iCutVideoBar;
-		case 1:
-			return iVideoDisplay;
-		case 2:
-			return iCutTimeDisplay;
-        default:
-            return NULL;
-        }
-    }
-
-void CVeiSimpleCutVideoContainer::Draw( const TRect& aRect ) const
-    {
-    CWindowGc& gc = SystemGc();
-	// draw skin background
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-	MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );	
-	AknsDrawUtils::Background( skin, cc, this, gc, aRect );
-
-    if ( EStatePlaying != iState && EStatePlayingMenuOpen != iState
-         && AknLayoutUtils::PenEnabled() )
-		{
-		gc.BitBltMasked( iIconDisplayRect.iTl, iPlayBitmap, 
-			TRect(iIconDisplayRect.Size()), 
-			iPlayBitmapMask, EFalse );
-		}
-	else if ( ( EStatePlaying == iState || EStatePlayingMenuOpen == iState )
-	          && AknLayoutUtils::PenEnabled() )
-		{		
-		gc.BitBltMasked( iIconDisplayRect.iTl, iPauseBitmap, 
-			TRect(iIconDisplayRect.Size()), 
-			iPauseBitmapMask, EFalse );
-		}
-
-	if ( EStatePaused == iState && !AknLayoutUtils::PenEnabled() )
-		{		
- 		TPoint pauseIconTl = TPoint( iIconDisplayRect.iTl.iX - STATIC_CAST( TInt, Rect().iBr.iX*0.105),
-			iIconDisplayRect.iTl.iY + STATIC_CAST( TInt, Rect().iBr.iY*0.178 ));
-		gc.BitBltMasked( pauseIconTl, iPauseBitmap, 
-			TRect( TPoint(0,0), iPauseBitmap->SizeInPixels() ), 
-			iPauseBitmapMask, EFalse );
-		}
-	}
-
-// ----------------------------------------------------------------------------
-// CVeiSimpleCutVideoContainer::GetHelpContext(...) const
-//
-// Gets the control's help context. Associates the control with a particular
-// Help file and topic in a context sensitive application.
-// ----------------------------------------------------------------------------
-//
-void CVeiSimpleCutVideoContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::GetHelpContext(): In");
-
-    // Set UID of the CS Help file (same as application UID).
-    aContext.iMajor = KUidVideoEditor;
-
-    // Set the context/topic.
-    aContext.iContext = KVIE_HLP_CUT;
-
-    LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::GetHelpContext(): Out");
-    }
-
-
-void CVeiSimpleCutVideoContainer::HandleControlEventL(
-    CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CVeiSimpleCutVideoContainer::HandlePointerEventL
-// From CCoeControl
-// ----------------------------------------------------------------------------
-//		
-void CVeiSimpleCutVideoContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent )
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandlePointerEventL(): In");
-	if( AknLayoutUtils::PenEnabled() && iCutVideoBar )
-		{
-		CCoeControl::HandlePointerEventL( aPointerEvent );
-
-		switch( aPointerEvent.iType )
-			{
-			case TPointerEvent::EButton1Down:
-				{
-				iButtonDownPoint = aPointerEvent.iPosition;
-				iIsMarkDrag = EFalse;
-				iIsMarkTapped = EFalse;
-				iIsIconOrDisplayTapped = EFalse;
-				TRect startMarkRect = iCutVideoBar->StartMarkRect();
-				TRect endMarkRect = iCutVideoBar->EndMarkRect();				
-				TRect playheadRect = iCutVideoBar->PlayHeadRect();
-				// check if the pen goes down inside the start mark
-				if (startMarkRect.Contains(aPointerEvent.iPosition)) 
-					{
-					iIsMarkTapped = ETrue;
-					iTappedMark = EStartMark;		
-					iCutVideoBar->SetPressedComponent( CVeiCutterBar::EPressedStartMarkTouch );					
-					}
-				// check if the pen goes down inside the end mark	
-				else if (endMarkRect.Contains(aPointerEvent.iPosition))
-					{
-					iIsMarkTapped = ETrue;
-					iTappedMark = EEndMark;
-					iCutVideoBar->SetPressedComponent( CVeiCutterBar::EPressedEndMarkTouch );
-					}					
-				// check if the pen goes down inside the playhead	
-				else if (playheadRect.Contains(aPointerEvent.iPosition))
-					{
-					iIsMarkTapped = ETrue;
-					iTappedMark = EPlayHead;
-					iCutVideoBar->SetPressedComponent( CVeiCutterBar::EPressedPlayheadTouch );					
-					}					
-                else if ( iDisplayRect.Contains( iButtonDownPoint ) ||
-                          iIconDisplayRect.Contains( iButtonDownPoint ) )
-                    {
-                    iIsIconOrDisplayTapped = ETrue;
-                    }
-                    
-                if ( iIsMarkTapped )
-                	{
-    	            DrawDeferred();	    	            
-                	}    	        	       
-
-#ifdef RD_TACTILE_FEEDBACK 
-					if ( iTouchFeedBack && ( iIsMarkTapped || iIsIconOrDisplayTapped ))
-	                	{
-			            iTouchFeedBack->InstantFeedback( ETouchFeedbackBasic );
-	                	}
-#endif /* RD_TACTILE_FEEDBACK  */	
-				
-//				TRect progressBarRect(iCutVideoBar->ProgressBarRect());	
-				// check if the pen goes down inside the progress bar				
-//				if( progressBarRect.Contains( aPointerEvent.iPosition ) )
-//					{
-//					iIsMarkDrag = EFalse;					
-//					}
-				break;
-				}
-			case TPointerEvent::EDrag:
-				{
-				if (iIsMarkTapped)
-					{
-					TRect touchRect(iCutVideoBar->ProgressBarRect());
-					TRect smallRect(iCutVideoBar->EndMarkRect());
-					TInt pressPoint = aPointerEvent.iPosition.iX;
-					TBool dragMarks = ETrue;
-					if (iTappedMark == EStartMark)
-						{
-							pressPoint += iCutVideoBar->StartMarkRect().Width()/2;
-						}
-					if (iTappedMark == EEndMark)
-						{
-							pressPoint -= iCutVideoBar->StartMarkRect().Width()/2;
-						}
-					if (iTappedMark == EPlayHead)
-						{
-							smallRect = iCutVideoBar->PlayHeadRect();
-							dragMarks = EFalse;
-						}
-					touchRect.iTl.iY = smallRect.iTl.iY;
-					touchRect.iBr.iY = smallRect.iBr.iY;
-					HandleProgressBarTouchL( touchRect, 
-											 pressPoint,
-											 dragMarks,
-											 iTappedMark );
-					iIsMarkDrag = ETrue;
-					}
-				break;		
-				}
-			case TPointerEvent::EButton1Up:
-				{
-				// pen up event is handled if it wasn't dragged
-//				if (!iIsMarkDrag)
-				if (0)
-					{
-					TRect progressBarRect(iCutVideoBar->ProgressBarRect());					
-					// Check if pressed position is in progress bar's rect
-					if( progressBarRect.Contains( aPointerEvent.iPosition ) )
-						{
-						HandleProgressBarTouchL( progressBarRect, 
-											 aPointerEvent.iPosition.iX,
-											 EFalse);
-						}
-					}
-				
-				if ((iDisplayRect.Contains(aPointerEvent.iPosition) && 
-				    iDisplayRect.Contains(iButtonDownPoint)) ||
-					(iIconDisplayRect.Contains(aPointerEvent.iPosition) && 
-				    iIconDisplayRect.Contains(iButtonDownPoint)))
-				    {			        	        
-				    HandleVideoClickedL();
-				    }
-				    iCutVideoBar->SetPressedComponent( CVeiCutterBar::ENoPressedIcon );
-				    DrawDeferred();
-				break;
-				}		
-			default:
-				{
-				break;	
-				}	
-			}
-		}	
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandlePointerEventL(): Out");		
-	}
-
-
-// ----------------------------------------------------------------------------
-// CVeiSimpleCutVideoContainer::HandleProgressBarTouchL
-// 
-// ----------------------------------------------------------------------------
-//	
-void CVeiSimpleCutVideoContainer::HandleProgressBarTouchL( TRect aPBRect, 
-												 TInt aPressedPoint,
-												 TBool aDragMarks,
-												 CVeiSimpleCutVideoContainer::TCutMark aCutMark )
-	{
-	if ( (AknLayoutUtils::PenEnabled()) && ( iState!=EStateInitializing ))
-		{	
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandleProgressBarTouchL(): In");
-
-		if (iState == EStatePlaying)		
-			{
-			PauseL();	
-			}
-		
-		// Progress Bar start and end points, and length
-		TInt pbEndPoint( aPBRect.iBr.iX );
-		TInt pbStartPoint = ( aPBRect.iTl.iX );		
-		TInt totalPBLength( pbEndPoint - pbStartPoint );
-				
-		// calculate the time position from the tapped progress bar coordinates 
-		TTimeIntervalMicroSeconds newPosition( 
-										( ( aPressedPoint - pbStartPoint ) * 
-							  			iVideoClipInfo->Duration().Int64() ) / 
-							  			totalPBLength );
-		if (newPosition >= iVideoClipInfo->Duration())
-			{
-			newPosition = TTimeIntervalMicroSeconds( iVideoClipInfo->Duration().Int64() - 1 );
-			}
-		if (newPosition <= 0)
-			{
-			newPosition = 0;
-			}
-
-		TBool movePlayhead = ETrue;
-		
-		// move cut marks
-		if (aDragMarks)
-			{
-			movePlayhead = EFalse;
-			//one sec buffer:
-			const TUint markBuffer = ((KMinCutVideoLength *  totalPBLength) / iVideoClipInfo->Duration().Int64());
-			// check that the start mark doesn't go past the end mark - 1 sec buffer
-			// and not to the beginning	
-			if ((aCutMark == EStartMark) && 
-			    (newPosition.Int64() >= 0) &&
-				(aPressedPoint < (iCutVideoBar->EndMarkPoint() - markBuffer ) /*- 2*iCutVideoBar->EndMarkRect().Width()*/))
-				{				
-				iView.MoveStartOrEndMarkL(newPosition, EStartMark);				
-				iCutVideoBar->SetInPoint( newPosition );
-				movePlayhead = ETrue;
-				}
-			// check that the end mark doesn't go before the start mark - +1 sec buffer
-			// and not too close to the beginning			
-			else if ((aCutMark == EEndMark) && 
-				(newPosition.Int64() >= KMinCutVideoLength) &&			
-				(aPressedPoint > (iCutVideoBar->StartMarkPoint() + markBuffer)/* + 2*iCutVideoBar->StartMarkRect().Width()*/))                
-				{				
-				iView.MoveStartOrEndMarkL(newPosition, EEndMark);				
-				iCutVideoBar->SetOutPoint( newPosition );
-				movePlayhead = ETrue;
-				}
-			}
-				
-		// move playhead
-//		else if (( newPosition != iLastPosition ) && !aDragMarks)
-		if (( newPosition != iLastPosition ) && movePlayhead)
-			{
-			iLastPosition = newPosition;
-
-			iSeekPos = TTimeIntervalMicroSeconds( newPosition );
-
-			iCutVideoBar->SetCurrentPoint( (static_cast<TInt32>(iSeekPos.Int64() / 1000)));
-			iVideoDisplay->SetPositionL( iSeekPos );
-			GetThumbAtL( iSeekPos );
-					
-			iView.UpdateTimeL();
-			}	
-		
-		iView.UpdateCBAL(iState);
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandleProgressBarTouchL(): Out");
-			
-		}// PenEnabled
-		
-	}
-
-
-void CVeiSimpleCutVideoContainer::PlayL( const TDesC& aFilename )
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::PlayL: in");
-	iVideoDisplay->SetPositionL( iSeekPos );
-	
-	if (iVideoClipInfo && !iFrameReady)
-		{								
-		iVideoClipInfo->CancelFrame();
-		}
-	iVideoDisplay->PlayL( aFilename );
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::PlayL: out");
-	}
-
-void CVeiSimpleCutVideoContainer::PlayMarkedL( const TDesC& aFilename,
-									const TTimeIntervalMicroSeconds& aStartTime, 
-									const TTimeIntervalMicroSeconds& aEndTime )
-	{
-	LOGFMT3(KVideoEditorLogFile, "CVeisimpleCutVideoContainer::PlayMarkedL, In, aStartTime:%Ld, aEndTime:%Ld, aFilename:%S", aStartTime.Int64(), aEndTime.Int64(), &aFilename);
-	iPlayOrPlayMarked = ETrue;
-
-	if (iVideoClipInfo && !iFrameReady)
-		{								
-		iVideoClipInfo->CancelFrame();
-		}
-	iVideoDisplay->PlayL( aFilename, aStartTime, aEndTime );
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::PlayMarkedL, Out");
-	}
-
-void CVeiSimpleCutVideoContainer::StopL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::StopL, in");
-	iVideoDisplay->Stop( EFalse );
-
-	iSeekPos = TTimeIntervalMicroSeconds( 0 );
-	
-	// When adding a new video clip after saving, PlaybackPositionL() 
-	// returns a value > 0 eventhough the playhead is in the beginning
-	// so iLastPosition has to be set to the beginning.
-	iLastPosition = TTimeIntervalMicroSeconds( 0 ); 
-    
-	SetStateL( EStateStopped );
-	PlaybackPositionL();
-	
-	if (iVideoBarTimer)
-		{		
-		iVideoBarTimer->Cancel();
-		}
-	
-	iCutVideoBar->SetFinishedStatus( ETrue );
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::StopL, in");
-	}
-
-
-void CVeiSimpleCutVideoContainer::TakeSnapshotL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::TakeSnapshotL in");
-	
-	if( !iVideoClipInfo || !iFrameReady )
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::TakeSnapshotL: 1");
-		if (!iFrameReady)
-			{
-			iTakeSnapshotWaiting = ETrue;	
-			}		
-		return;
-		}
-		
-	iTakeSnapshotWaiting = EFalse;	
-	iTakeSnapshot = ETrue;
-	const TTimeIntervalMicroSeconds& pos = PlaybackPositionL();
-
-	GetThumbAtL( pos );
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::TakeSnapshotL out");
-	}
-
-void CVeiSimpleCutVideoContainer::PauseL( TBool aUpdateCBA )
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::PauseL: In");
-
-	if (EStatePlaying == iState)
-		{		
-		iLastPosition = iVideoDisplay->PositionL();					
-		iSeekPos = iLastPosition;
-		// to set next start point
-		iVideoDisplay->SetPositionL(iSeekPos);
-		}
-
-	iVideoDisplay->PauseL();
-	if (iVideoBarTimer)
-		{		
-		iVideoBarTimer->Cancel();
-		}
-
-	#ifdef GET_PAUSE_THUMBNAIL
-	GetThumbAtL( iLastPosition );
-	#endif
-
-	if (EStateStoppedInitial == iState || EStateStopped == iState) 
-		{
-		// just to trigger cba-update
-		SetStateL( iState, aUpdateCBA );
-		}	
-	else if (EStateInitializing != iState) 
-		{
-		SetStateL( EStatePaused, aUpdateCBA );
-		}
-	else
-		{
-		SetStateL( EStateStoppedInitial );
-		}
-			
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::PauseL: Out");
-	}
-
-void CVeiSimpleCutVideoContainer::SaveSnapshotL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SaveSnapshotL: In");	
-
-    if (LaunchSavingDialogsL())
-        {		
-        //first we have to encode bitmap
-        // get encoder types 
-        RImageTypeDescriptionArray imageTypes; 
-        iConverter->GetEncoderImageTypesL( imageTypes );	
-
-        CleanupStack::PushL( TCleanupItem( CleanupRarray, &imageTypes ) );
-
-        TInt selectedIdx = 0;
-
-        for( TInt i=0; i<imageTypes.Count(); i++ ) 
-        	{
-        	if ( imageTypes[i]->Description() == KEncoderType )
-        		{
-        		selectedIdx = i;
-        		}
-        	}
-
-        //for cancellation
-        if ( iSaveToFileName )
-        	{
-        	delete iSaveToFileName;
-        	iSaveToFileName = NULL;
-        	}
-        iSaveToFileName = HBufC::NewL( iSnapshotFileName.Length() );
-        *iSaveToFileName = iSnapshotFileName;
-
-        // request the actuall save/encode
-        // asynchronous, the result is reported via callback NotifyCompletion
-        LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SaveSnapshotL: 1, calling iConverter->StartToEncodeL");	
-        iConverter->StartToEncodeL( iSnapshotFileName, 
-        	imageTypes[selectedIdx]->ImageType(), imageTypes[selectedIdx]->SubType());
-
-        CleanupStack::PopAndDestroy( &imageTypes );
-        LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SaveSnapshotL: Out");	
-
-        ShowProgressNoteL();		            
-        }
-	}
-
-
-TBool CVeiSimpleCutVideoContainer::LaunchSavingDialogsL()
-    {
-   	TBool ret = EFalse;	
-	RFs	fs = CCoeEnv::Static()->FsSession();
-	
-	iSnapshotFileName.Zero();
-	iSnapshotFileName.Append( iView.Settings().DefaultSnapshotName() );
-    iSnapshotFileName.Append( _L(".JPEG") );	
-    
-    // Multiple drive support
-#ifdef RD_MULTIPLE_DRIVE
-	TDriveNumber driveNumber;
-    TFileName driveAndPath;
-    CAknMemorySelectionDialogMultiDrive* multiDriveDlg = 
-                                    CAknMemorySelectionDialogMultiDrive::NewL(ECFDDialogTypeSave, EFalse );			
-                                    
-	CleanupStack::PushL(multiDriveDlg);
-	
-	// launch "Select memory" query
-    if (multiDriveDlg->ExecuteL( driveNumber, &driveAndPath, NULL ))
-		{
-		driveAndPath.Append( PathInfo::ImagesPath() );
-			        
-        iSnapshotFileName.Insert(0,driveAndPath);
-
-		// Generate a default name for the new file
-		CApaApplication::GenerateFileName( fs, iSnapshotFileName );	
-				
-		// launch file name prompt dialog
-		if (CAknFileNamePromptDialog::RunDlgLD(iSnapshotFileName, driveAndPath, KNullDesC))
-			{
-			driveAndPath.Append(iSnapshotFileName);
-			iSnapshotFileName = driveAndPath;
-            ret = ETrue;
-            }
-		else
-			{
-			iTakeSnapshot = EFalse;
-			iTakeSnapshotWaiting = EFalse;
-			}
-		}
-	else
-		{
-		iTakeSnapshot = EFalse;
-		iTakeSnapshotWaiting = EFalse;
-		}
-	CleanupStack::PopAndDestroy( multiDriveDlg ); 
-#else // no multiple drive support
-	CAknMemorySelectionDialog::TMemory selectedMemory(CAknMemorySelectionDialog::EPhoneMemory);		
-	// launch "Select memory" query
-	if (CAknMemorySelectionDialog::RunDlgLD(selectedMemory))
-		{
-		// create path for the image	
-		TFileName driveAndPath;        		
-		if (selectedMemory == CAknMemorySelectionDialog::EPhoneMemory)
-			{
-			driveAndPath.Copy( PathInfo::PhoneMemoryRootPath() );
-			driveAndPath.Append( PathInfo::ImagesPath() );							
-			}
-		else if (selectedMemory == CAknMemorySelectionDialog::EMemoryCard)
-			{	
-			driveAndPath.Copy( PathInfo::MemoryCardRootPath() );
-			driveAndPath.Append( PathInfo::ImagesPath() );							
-			}        				 
-        
-        iSnapshotFileName.Insert(0,driveAndPath);
-
-        // Generate a default name for the new file
-        CApaApplication::GenerateFileName( fs, iSnapshotFileName );					
-        
-		// launch file name prompt dialog
-		if (CAknFileNamePromptDialog::RunDlgLD(iSnapshotFileName, driveAndPath, KNullDesC))
-			{
-			driveAndPath.Append(iSnapshotFileName);
-			iSnapshotFileName = driveAndPath;
-            ret = ETrue;
-            }
-		else
-			{
-			iTakeSnapshot = EFalse;
-			iTakeSnapshotWaiting = EFalse;
-			}
-		}
-	else
-		{
-		iTakeSnapshot = EFalse;
-		iTakeSnapshotWaiting = EFalse;
-		}
-#endif
-	return ret;
-    }
-
-void CVeiSimpleCutVideoContainer::CancelSnapshotSave()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::CancelSnapshotSave: in");
-	if ( iConverter )
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::CancelSnapshotSave: 1");
-		iConverter->Cancel();
-		iConverter->CancelEncoding(); //also close the file
-		}
-	if ( iSaveToFileName )
-		{
-		LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::CancelSnapshotSave: 2, iSaveToFileName:%S", iSaveToFileName);
-
-		RFs&	fs = iEikonEnv->FsSession(); 
-		/*TInt result =*/ fs.Delete( *iSaveToFileName ); 
-		delete iSaveToFileName;
-		iSaveToFileName = NULL;
-		}
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::CancelSnapshotSave: out");	
-	}
-
-void CVeiSimpleCutVideoContainer::CloseStreamL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::CloseStreamL, in");
-	if( !iFrameReady && iVideoClipInfo )
-		{
-		iVideoClipInfo->CancelFrame();
-		}
-	PlaybackPositionL();
-	iState = EStateStopped;
-	iView.UpdateCBAL(iState);
-	
-	iVideoDisplay->Stop( ETrue );
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::CloseStreamL, out");
-	}
-
-void CVeiSimpleCutVideoContainer::SetInTime( const TTimeIntervalMicroSeconds& aTime )
-	{
-	if ( iCutTimeDisplay )
-		{
-		iCutTimeDisplay->SetCutIn( aTime );
-		}
-	if ( iCutVideoBar )
-		{
-		iCutVideoBar->SetInPoint( aTime );
-		}
-	}
-
-void CVeiSimpleCutVideoContainer::SetOutTime( const TTimeIntervalMicroSeconds& aTime )
-	{
-	if ( iCutTimeDisplay )
-		{
-		iCutTimeDisplay->SetCutOut( aTime );
-		}
-	if ( iCutVideoBar )
-		{
-		iCutVideoBar->SetOutPoint( aTime );
-		}
-	}
-
-TTimeIntervalMicroSeconds CVeiSimpleCutVideoContainer::PlaybackPositionL()
-	{
-	if ( ( iSeeking ) || ( EStateStopped == iState ) )
-		{
-		return iSeekPos;
-		}
-	if ( iState != EStatePlaying  )
-		{
-		return iLastPosition;
-		}
-
-	if ( iVideoClipInfo && (iVideoDisplay->PositionL() < iVideoClipInfo->Duration()) )
-		{
-		iLastPosition = iVideoDisplay->PositionL();
-		}
-
-	if ( ( iLastPosition == TTimeIntervalMicroSeconds( 0 ) ) &&
-		 ( iSeekPos != TTimeIntervalMicroSeconds( 0 ) ) )
-		{
-		return iSeekPos;
-		}
-
-	return iLastPosition;
-	}
-
-TKeyResponse CVeiSimpleCutVideoContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
-	{
-	if ( aType == EEventKeyDown ) 
-		{
-		iKeyRepeatCount = 0;
-		if(aKeyEvent.iScanCode == EStdKeyDevice7) //for camera key
-			{
-			PauseL(ETrue);
-			}
-		TBool shiftKeyPressed = (aKeyEvent.iModifiers & EModifierShift );
-		if( shiftKeyPressed )
-			{
-			if( iView.IsEnoughFreeSpaceToSaveL() && (iTakeSnapshot == EFalse )) 
-				{
-				/*if (EStatePlaying == iState)
-					{
-					PauseL();	
-					}
-				*/	
-				TakeSnapshotL();
-				}
-			return EKeyWasConsumed;
-			}	
-
-		return EKeyWasNotConsumed;
-		}
-	else if ( aType == EEventKeyUp ) 
-		{
-		if ( iSeeking == EFalse )
-			{
-			return EKeyWasNotConsumed;
-			}
-		iLastPosition = iSeekPos;
-		iVideoDisplay->SetPositionL( iSeekPos );
-
-		iSeeking = EFalse;
-
-		if ( ( ( EStateStopped == iState ) || ( EStateStoppedInitial == iState )
-			|| ( EStatePaused == iState )) && 
-			 ( ( iLastKeyCode == EKeyLeftArrow ) || ( iLastKeyCode == EKeyRightArrow ) ) )
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::OfferKeyEventL: 1, calling GetThumbAtL()");
-			GetThumbAtL( iSeekPos );
-			return EKeyWasConsumed;
-			}
-		else if ( EStatePlaying == iState )
-			{
-			if ( iVideoBarTimer->IsActive() )
-				{
-				iVideoBarTimer->Cancel();
-				}
-
-			if ( iVideoClipInfo &&  (iSeekPos >= iVideoClipInfo->Duration()) )
-				{
-				LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::OfferKeyEventL: 2, calling iVideoDisplay->Stop");
-				iVideoDisplay->Stop( EFalse );
-				}
-			else
-				{
-				iVideoDisplay->SetPositionL( iSeekPos );
-				iVideoDisplay->ShowBlackScreen();
-				if (iVideoClipInfo && !iFrameReady)
-					{								
-					iVideoClipInfo->CancelFrame();
-					}
-				iVideoDisplay->Play();
-				}
-			return EKeyWasConsumed;
-			}
-		else
-			{
-			return EKeyWasConsumed;
-			}
-		}
-	else if ( aType == EEventKey )
-		{
-		iLastKeyCode = aKeyEvent.iCode;
-
-		switch (aKeyEvent.iCode)
-			{
-			case EKeyEnter:
-				{
-			    if ( EStateStoppedInitial == iState )
-					{
-			        iView.HandleCommandL( EVeiCmdCutVideoViewPlay );
-					}
-				else
-					{
-					if ( EStatePlaying == iState || EStatePlayingMenuOpen == iState )
-						{		
-						PauseL();	
-						}
-					iView.ProcessCommandL( EAknSoftkeyOptions );
-					}
-				return EKeyWasConsumed;
-				}
-			case EKeyOK:
-				{
-				iView.HandleCommandL( EAknSoftkeyOk );
-				return EKeyWasConsumed;
-				}
-			case EKeyDownArrow:
-			case EKeyUpArrow:
-				{
-				iVideoDisplay->OfferKeyEventL( aKeyEvent, aType );
-				return EKeyWasConsumed;
-				}
-			case EKeyRightArrow:
-				{
-				iKeyRepeatCount++;
-
-				if ( (iKeyRepeatCount > 2)	&& (iSeeking == EFalse) )
-					{
-					if ( EStatePlaying == iState )
-						{
-						iSeekPos = iVideoDisplay->PositionL();
-						}
-	
-					iVideoDisplay->PauseL();
-					iSeeking = ETrue;
-					iKeyRepeatCount = 0;				
-					}
-
-				if ( iSeeking && ( iState!=EStateInitializing ) &&
-					( iState!=EStatePlayingMenuOpen ) )
-					{
-					TInt adjustment = TimeIncrement( iKeyRepeatCount );
-
-					TInt64 newPos = iSeekPos.Int64() + adjustment;
-					if ( iVideoClipInfo && (newPos > iVideoClipInfo->Duration().Int64()) )
-						{
-						newPos = iVideoClipInfo->Duration().Int64();
-						}
-	
-					iSeekPos = TTimeIntervalMicroSeconds( newPos );
-					
-					iCutVideoBar->SetCurrentPoint( (static_cast<TInt32>(iSeekPos.Int64() / 1000)));
-
-					iView.UpdateTimeL();
-					return EKeyWasConsumed;
-					}
-				return EKeyWasNotConsumed;
-				}
-
-			case EKeyLeftArrow:
-				{
-				iKeyRepeatCount++;
-
-				if ( (iKeyRepeatCount > 2)	&& (iSeeking == EFalse) )
-					{
-					
-					if ( EStatePlaying == iState )
-						{
-						iSeekPos = iVideoDisplay->PositionL();
-						}
-
-					iVideoDisplay->PauseL();
-					iSeeking = ETrue;
-					iKeyRepeatCount = 0;				
-					}
-
-				if ( iSeeking && ( iState!=EStateInitializing ) &&
-					( iState!=EStatePlayingMenuOpen ) )
-					{
-
-					TInt adjustment = TimeIncrement( iKeyRepeatCount );
-
-					TInt64 newPos = iSeekPos.Int64() - adjustment;
-					if ( newPos < 0 ) 
-						{
-						newPos = 0;
-						}
-					iSeekPos = TTimeIntervalMicroSeconds( newPos );	
-
-					iCutVideoBar->SetCurrentPoint( static_cast<TInt32>((iSeekPos.Int64() / 1000)) );
-
-					iView.UpdateTimeL();
-
-					return EKeyWasConsumed;
-					}
-				return EKeyWasNotConsumed;
-		        }
-			case EKeyBackspace:		//Clear 
-				{
-				if (EStatePlaying != iState)
-					{
-					iView.ClearInOutL( ETrue, ETrue );						
-					}
-				
-				return EKeyWasConsumed;
-				}
-			default:
-			    {
-				return EKeyWasNotConsumed;
-		        }
-			}
-		}
-	else
-		{
-		return EKeyWasNotConsumed;
-		}
-	}
-
-TInt CVeiSimpleCutVideoContainer::TimeIncrement(TInt aKeyCount) const
-	{
-	if ( aKeyCount < 3 )
-		{
-		return 100000;
-		}
-	else if ( aKeyCount < 4 )
-		{
-		return 300000;
-		}
-	else if ( aKeyCount < 5 )
-		{
-		return 500000;
-		}
-	else if ( aKeyCount < 10 )
-		{
-		return 1000000;
-		}
-	else if ( aKeyCount < 13 )
-		{
-		return 2000000;
-		}
-	else if ( aKeyCount < 15 )
-		{
-		return 3000000;
-		}
-	else
-		{
-		return 5000000;
-		}	
-	}
-
-TInt CVeiSimpleCutVideoContainer::UpdateProgressNote()
-    {
-    TTime intervalTime;
-    intervalTime.HomeTime();
-    intervalTime += TTimeIntervalMicroSeconds( 50000 );
-    TTime currentTime;
-    currentTime.HomeTime();
-    while ( intervalTime > currentTime )
-        {
-        currentTime.HomeTime();
-        }
-
-    iProgressDialog->GetProgressInfoL()->IncrementAndDraw( 1 );
-
-    if ( KProgressbarFinalValue <= iProgressDialog->GetProgressInfoL()->CurrentValue() )
-        {
-        return 0;
-        }
-    return 1;
-    }
-
-
-void CVeiSimpleCutVideoContainer::GetThumbL( const TDesC& aFilename )
-	{
-	if ( iVideoClipInfo )
-		{
-		delete iVideoClipInfo;
-		iVideoClipInfo = NULL;		
-		}
-
-	/*iVideoClipInfo = */CVedVideoClipInfo::NewL( aFilename, *this );
-	}
-
-
-void CVeiSimpleCutVideoContainer::GetThumbAtL( const TTimeIntervalMicroSeconds& aTime )
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::GetThumbAtL: In");
-	if( !iVideoClipInfo )
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::GetThumbAtL: 1");
-		return;
-		}
-	if ( !iFrameReady )
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::GetThumbAtL: 1.5");
-		iVideoClipInfo->CancelFrame();
-		}
-
-	TRect clipResolution = iVideoClipInfo->Resolution();
-	TSize resolution( iVideoDisplay->Size() );
-
-	TInt frameIndex;
-	TInt totalFrameCount;
-
-	frameIndex = iVideoClipInfo->GetVideoFrameIndexL( aTime );
-	totalFrameCount = iVideoClipInfo->VideoFrameCount();
-
-	if ( frameIndex > totalFrameCount )
-		{
-		frameIndex = totalFrameCount;
-		}
-
-	//Generates a thumbnail bitmap of the given frame from video clip
-	if ( iTakeSnapshot )
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::GetThumbAtL: 2");
-		TDisplayMode displayMode = ENone;
-		TBool enhance = EFalse;
-		TSize resol( clipResolution.iBr.iX, clipResolution.iBr.iY ); 
-    	/* :
-	     check out on every phone before releasing whether videodisplay should be stopped before starting
-	     asynchronous GetFrameL()
-	     see how EStateGettingFrame is handled in SetPreviewState 
-	     Stopping frees memory and it is needed in memory sensible devices 
-	    */
-		iVideoClipInfo->GetFrameL( *this, frameIndex, &resol ); //, displayMode, enhance );
-		SetStateL( EStateGettingFrame );
-		iFrameReady = EFalse;			
-//		ShowProgressNoteL();		
-		}
-	else
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::GetThumbAtL: 3");
-		/* :
-	     check out on every phone before releasing whether videodisplay should be stopped before starting
-	     asynchronous GetFrameL()
-	     see how EStateGettingFrame is handled in SetPreviewState 
-	     Stopping frees memory and it is needed in memory sensible devices 
-	    */
-		TSize resol( clipResolution.iBr.iX, clipResolution.iBr.iY );
-		iVideoClipInfo->GetFrameL( *this, frameIndex, &resol ); 
-		SetStateL( EStateGettingFrame );
-		iFrameReady = EFalse;		
-		}
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::GetThumbAtL: out");	
-	}
-
-void CVeiSimpleCutVideoContainer::NotifyCompletion( TInt aErr ) 
-	{
-	LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyCompletion: In, aErr:%d", aErr);	
-
-	if (EStateTerminating == iState)
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyCompletion(): 1, app is closing...");
-		return;
-		}
-
-    if ( KErrNone == aErr )
-        {
-        //Update notification to Media Gallery
-        LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyCompletion: 2");
-
-	    if (iProgressDialog)
-		    {
-		    TRAP_IGNORE(iProgressDialog->GetProgressInfoL()->SetAndDraw( KProgressbarFinalValue );
-		    			iProgressDialog->ProcessFinishedL());
-		    }
-        }
-    else
-		{
-		if (iProgressDialog)
-			{
-		    TRAP_IGNORE(iProgressDialog->GetProgressInfoL()->SetAndDraw( KProgressbarFinalValue );
-		    			iProgressDialog->ProcessFinishedL());
-		    }
-		iErrorUI.ShowGlobalErrorNote( aErr );
-		}
-
-	//  to eliminate previous (wrong) output file from being deleted in CancelSnapshotSave()
-	delete iSaveToFileName;
-    iSaveToFileName = NULL;
-
-	// to fix progress bar shadow
-	DrawDeferred();
-
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyCompletion: Out");
-	}
-
-void CVeiSimpleCutVideoContainer::NotifyVideoClipInfoReady( CVedVideoClipInfo& aInfo, 
-										  TInt aError )
-	{
-	LOGFMT(KVideoEditorLogFile, "CVeisimpleCutVideoContainer::NotifyVideoClipInfoReady, In, aError:%d", aError);
-	if (KErrNone == aError)
-		{
-		if (iVideoClipInfo)		
-			{
-			delete iVideoClipInfo;
-			iVideoClipInfo = NULL;	
-			}
-		iVideoClipInfo = &aInfo;	
-
-		TRect clipResolution = iVideoClipInfo->Resolution();
-		iDuration = iVideoClipInfo->Duration();
-		iCutVideoBar->SetTotalDuration( iDuration );
-		iView.DrawTimeNaviL();
-
-		TSize resolution( clipResolution.iBr.iX, clipResolution.iBr.iY ); 
-		iFrameReady = EFalse;
-		iVideoClipInfo->GetFrameL( *this, 0, &resolution );
-		}
-	SetStateL( EStateStoppedInitial );			
-	LOG(KVideoEditorLogFile, "CVeisimpleCutVideoContainer::NotifyVideoClipInfoReady, Out");
-	}
-
-
-void CVeiSimpleCutVideoContainer::NotifyVideoClipFrameCompleted(CVedVideoClipInfo& /*aInfo*/, 
-											   TInt aError, 
-							 				   CFbsBitmap* aFrame)
-	{
-	LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoClipFrameCompleted, In, aError:%d", aError);
-	iFrameReady = ETrue;
-	
-	if (EStateGettingFrame == iState)
-		{
-		SetStateL(iPreviousState);			
-		}		
-	
-	if (KErrNone == aError && aFrame)
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoClipFrameCompleted 1");	
-
-		if ( iTakeSnapshot )
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoClipFrameCompleted 2");			
-			iConverter->SetBitmap( aFrame );
-			if (! iCallBackSaveSnapshot)
-				{		
-				TCallBack cb (CVeiSimpleCutVideoContainer::AsyncSaveSnapshot, this);
-				iCallBackSaveSnapshot = new (ELeave) CAsyncCallBack(cb, CActive::EPriorityStandard);
-				}
-			iCallBackSaveSnapshot->CallBack();
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoClipFrameCompleted 3");
-			}
-		else
-			{
-			LOG(KVideoEditorLogFile, "CVeisimpleCutVideoContainer::NotifyVideoClipFrameCompleted 4");
-			TRAP_IGNORE(iVideoDisplay->ShowPictureL( *aFrame ));
-			delete aFrame;
-			aFrame = NULL;
-			
-			if (iTakeSnapshotWaiting)
-				{
-				if (! iCallBackTakeSnapshot)
-					{		
-					TCallBack cb (CVeiSimpleCutVideoContainer::AsyncTakeSnapshot, this);
-					iCallBackTakeSnapshot = new (ELeave) CAsyncCallBack(cb, CActive::EPriorityStandard);
-					}
-				iCallBackTakeSnapshot->CallBack();				
-				}
-			}
-		}
-	else
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoClipFrameCompleted 5");
-		if (aFrame)	
-			{
-			delete aFrame;
-			aFrame = NULL;	
-			}
-		
-		if (iProgressDialog)
-			{
-			iProgressDialog->GetProgressInfoL()->SetAndDraw( KProgressbarFinalValue );
-		    TRAP_IGNORE(iProgressDialog->ProcessFinishedL());
-			}		
-		}
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoClipFrameCompleted, Out");	
-	}
-
-TInt CVeiSimpleCutVideoContainer::AsyncSaveSnapshot(TAny* aThis)
-	{
-    LOG( KVideoEditorLogFile, "CVeiSimpleCutVideoView::AsyncSaveSnapshot in");
-	
-    // In the asynchronous version, trap the rest of the functions 
-    // to make sure that the caller's TRequestStatus is always 
-    // completed, also in case of failures.
-	CVeiSimpleCutVideoContainer* container = static_cast<CVeiSimpleCutVideoContainer*>(aThis);
-	TInt err = KErrNone;
-	TRAP(err, container->SaveSnapshotL());
-	LOGFMT( KVideoEditorLogFile, "CVeiEditVideoView::AsyncSaveSnapshot 2, err:%d", err);
-	
-	if (KErrNone != err)
-		{
-		container->StopProgressDialog();
-		container->ShowGlobalErrorNote(err);
-		}  
-	LOG( KVideoEditorLogFile, "CVeiEditVideoView::AsyncSaveSnapshot 3, returning");
-	return KErrNone;				
-	}		
-	
-void CVeiSimpleCutVideoContainer::ShowGlobalErrorNote(const TInt aErr)
-	{		
-	iErrorUI.ShowGlobalErrorNote( aErr );
-	}
-
-void CVeiSimpleCutVideoContainer::StopProgressDialog()
-	{
-	if (iProgressDialog)
-	    {
-	    TRAP_IGNORE(iProgressDialog->GetProgressInfoL()->SetAndDraw( KProgressbarFinalValue );
-	    			iProgressDialog->ProcessFinishedL());
-	    }	
-	}
-
-void CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent( const TPlayerEvent aEvent, const TInt& aInfo )
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, In");
-	
-	if (EStateTerminating == iState)
-		{
-		LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent(): 1, app is closing...");
-		return;
-		}
-	
-	switch (aEvent)
-		{
-		case MVeiVideoDisplayObserver::ELoadingStarted:
-			{	
-			SetStateL(EStateOpening);
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent() MVeiVideoDisplayObserver::ELoadingStarted");
-			break;
-			}
-		case MVeiVideoDisplayObserver::EOpenComplete:
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::EOpenComplete 1");		
-            iVideoDisplay->SetRotationL( EVideoRotationNone );
-			TTimeIntervalMicroSeconds cutInTime = iView.GetVideoClipCutInTime();
-			TTimeIntervalMicroSeconds cutOutTime = iView.GetVideoClipCutOutTime();
-
-			if ( iView.IsForeground() )
-				{				
-				if (iVideoClipInfo && !iFrameReady)
-					{								
-					iVideoClipInfo->CancelFrame();
-					}							
-				if ( iPlayOrPlayMarked )
-					{
-					LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::EOpenComplete 2");					
-					iVideoDisplay->PlayMarkedL( cutInTime, cutOutTime );
-					}
-				else
-					{
-					LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::EOpenComplete 3");	
-					iVideoDisplay->Play();
-					}
-				iPlayOrPlayMarked = EFalse;				
-				}
-			else
-				{
-				LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent() MVeiVideoDisplayObserver::EOpenComplete 4");					
-				PauseL();					
-				}	
-			break;
-			}
-		case MVeiVideoDisplayObserver::EBufferingStarted:
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent() MVeiVideoDisplayObserver::EBufferingStarted");			
-			SetStateL( EStateBuffering );
-			if ( iVideoBarTimer )
-                {
-                iVideoBarTimer->Cancel();
-                }
-			break;
-			}	
-		case MVeiVideoDisplayObserver::ELoadingComplete:
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::ELoadingComplete 1");
-			// if VED is put to background in the middle of the buffering
-			// iVideoDisplay->PauseL(); cannot be called during the buffering, so its called here
-			if (EStatePaused == iState)
-				{
-				iVideoDisplay->PauseL();	
-				}
-			else
-				{							
-				SetStateL( EStatePlaying );						
-				if (iVideoClipInfo && !iFrameReady)
-					{								
-					LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::ELoadingComplete 2");
-					iVideoClipInfo->CancelFrame();
-					}
-				if ( !iVideoBarTimer->IsActive() )
-					{
-					LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::ELoadingComplete 3");				
-					const TUint delay = 100000;
-					iVideoBarTimer->Start( delay, delay, TCallBack( CVeiSimpleCutVideoContainer::DoAudioBarUpdate, this ) );
-					}
-				iVideoDisplay->ShowBlackScreen();			
-				DrawDeferred();
-				}
-			break;
-			}
-		case MVeiVideoDisplayObserver::EPlayComplete:
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::EPlayComplete");
-			iVideoDisplay->SetBlackScreen( EFalse );			
-			iSeekPos = TTimeIntervalMicroSeconds( 0 );
-
-			iLastPosition = TotalLength();
-			iView.StopNaviPaneUpdateL();
-			iCutVideoBar->SetFinishedStatus( ETrue );
-			
-			if (iVideoBarTimer)
-				{
-				iVideoBarTimer->Cancel();	
-				}			
-
-			GetThumbAtL(0);
-			iVideoDisplay->Stop( ETrue );
-			SetStateL( EStateStopped );
-			
-			if (KErrNoMemory == aInfo || KErrSessionClosed == aInfo)
-				{
-				iErrorUI.ShowGlobalErrorNote( aInfo );					
-				StopL();
-				CloseStreamL();
-				}
-
-			DrawDeferred();
-			break;
-			}
-		case MVeiVideoDisplayObserver::EStop:
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent() MVeiVideoDisplayObserver::EStop");
-			
-			if (EStateGettingFrame == iState)
-	            {
-	            break;	
-	            }	           
-			
-			if ( iVideoBarTimer )
-                {                
-                iVideoBarTimer->Cancel();
-                }
-			iSeekPos = TTimeIntervalMicroSeconds( 0 );
-
-			GetThumbAtL(0);
-			iLastPosition = TotalLength();
-			iView.StopNaviPaneUpdateL();
-			iCutVideoBar->SetFinishedStatus( ETrue );
-			iVideoDisplay->Stop( ETrue );
-			SetStateL( EStateStopped );
-			DrawDeferred();
-			break;
-			}																
-		case MVeiVideoDisplayObserver::EVolumeLevelChanged:
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::EVolumeLevelChanged");
-			TInt playerVolume = iVideoDisplay->Volume();
-			iView.ShowVolumeLabelL( playerVolume );
-			break;
-			}
-		case MVeiVideoDisplayObserver::EError:
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent() MVeiVideoDisplayObserver::EError");
-//			iErrorUI.ShowGlobalErrorNoteL( KErrGeneral );
-			SetStateL( EStateStoppedInitial );
-			break;
-			}	
-		default:
-			{
-			LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, MVeiVideoDisplayObserver::default");
-			break;
-			};
-		}
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::NotifyVideoDisplayEvent, Out");
-	}
-
-
-void CVeiSimpleCutVideoContainer::SetStateL(CVeiSimpleCutVideoContainer::TCutVideoState aState, TBool aUpdateCBA)
-	{
-	LOGFMT2(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SetStateL: in, iState:%d, aState:%d", iState, aState);
-	if (EStateGettingFrame == aState)
-		{
-		iPreviousState = iState;	
-		}
-		
-	iState = aState;
-	if (EStatePaused == iState)
-		{
-		DrawNow();	
-		}
-
-	// If the foreground is lost while an arrow key is down, we do not get
-	// the key up -event, and iSeeking remains true. Reseting it here just in case.
-	iSeeking = EFalse;
-
-	if ( aUpdateCBA )
-		{
-		iView.UpdateCBAL( iState );
-		}
-
-	//#ifdef STOP_PLAYER_DURING_GETFRAME
-	if (EStateGettingFrame == aState)
-		{
-		/* :
-	     check out on every phone before releasing whether videodisplay should be stopped before starting
-	     asynchronous GetFrameL()
-	     see how EStateGettingFrame is handled in SetPreviewState 
-	     Stopping frees memory and it is needed in memory sensible devices 
-	    */	
-		//iVideoDisplay->Stop(ETrue);		    		
-		}
-	//#endif	
-
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::SetStateL:: out");
-	}
-
-
-void CVeiSimpleCutVideoContainer::MarkedInL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::MarkedInL, In");
-	if ( EStateInitializing == iState )
-		{
-		return;
-		}
-	const TTimeIntervalMicroSeconds& position = PlaybackPositionL();
-	iSeekPos = position;
-
-	LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::MarkedInL, 2, setting cutINpoint:%Ld", position.Int64());
-	iCutVideoBar->SetInPoint( position	);
-	TInt tempPos = static_cast<TInt32>((position.Int64()/1000));
-	iCutVideoBar->SetCurrentPoint( tempPos );
-
-	if( !AknLayoutUtils::PenEnabled() )
-		{
-		iCutTimeDisplay->SetCutIn( position );
-		}
-
-	PauseL();
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::MarkedInL, Out");
-	}
-
-void CVeiSimpleCutVideoContainer::MarkedOutL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::MarkedOutL, In");
-	if ( EStateInitializing == iState )
-		{
-		return;
-		}
-	const TTimeIntervalMicroSeconds& position = PlaybackPositionL();
-	iSeekPos = position;
-
-	LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::MarkedOutL, 2, setting cutOUTpoint:%Ld", position.Int64());
-	iCutVideoBar->SetOutPoint( position );
-	TInt tempPos = static_cast<TInt32>((position.Int64()/1000));
-	iCutVideoBar->SetCurrentPoint( tempPos );
-
-	if( !AknLayoutUtils::PenEnabled() )
-		{
-		iCutTimeDisplay->SetCutOut( position );
-		}
-
-	PauseL();
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::MarkedOutL, Out");
-	}
-
-void CVeiSimpleCutVideoContainer::ShowInformationNoteL( const TDesC& aMessage ) const
-	{
-	CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
-	note->ExecuteLD( aMessage );
-	}
-
-void CVeiSimpleCutVideoContainer::ShowProgressNoteL() 
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::ShowProgressNoteL, in");
-	iProgressDialog = new ( ELeave ) CAknProgressDialog( REINTERPRET_CAST( CEikDialog**, 
-					&iProgressDialog ), ETrue);
-    iProgressDialog->SetCallback( this );
-    iProgressDialog->PrepareLC( R_VEI_PROGRESS_NOTE_WITH_CANCEL );
-
-	HBufC* stringholder;
-    TApaAppCaption caption;
-    TRAPD( err, ResolveCaptionNameL( caption ) );
-    
-    // If something goes wrong, show basic "Saving" note
-    if ( err )
-        {
-        stringholder = iEikonEnv->AllocReadResourceLC( R_VEI_PROGRESS_NOTE_SAVING );
-        }
-    else
-        {
-        stringholder = StringLoader::LoadLC( R_VEI_PROGRESS_NOTE_SAVING_IMAGE, caption, iEikonEnv );
-        }        
-
-	iProgressDialog->SetTextL( *stringholder );
-	CleanupStack::PopAndDestroy( stringholder );
-
-    iProgressDialog->GetProgressInfoL()->SetFinalValue( KProgressbarFinalValue );
-    iProgressDialog->RunLD();
-
-	iProgressDialog->GetProgressInfoL()->SetAndDraw( 50 );
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::ShowProgressNoteL, Out");
-	}
-
-//=============================================================================
-void CVeiSimpleCutVideoContainer::ResolveCaptionNameL( TApaAppCaption& aCaption ) const
-    {   
-    RApaLsSession appArcSession;
-    CleanupClosePushL( appArcSession );
-    User::LeaveIfError( appArcSession.Connect() );       	    
-
-    // Get Media Gallery caption
-    TApaAppInfo appInfo;
-    User::LeaveIfError( appArcSession.GetAppInfo( appInfo, TUid::Uid( KMediaGalleryUID3 ) ) );
-
-    aCaption = appInfo.iCaption;
-
-    CleanupStack::PopAndDestroy( &appArcSession );  
-    }
-
-TInt CVeiSimpleCutVideoContainer::DoAudioBarUpdate( TAny* aThis )
-	{
-	STATIC_CAST( CVeiSimpleCutVideoContainer*, aThis )->DoUpdate();
-	return 42;
-	}
-
-void CVeiSimpleCutVideoContainer::DoUpdate()
-	{
-	TTimeIntervalMicroSeconds time;
-	time = iVideoDisplay->PositionL();
-	if ( iSeeking )
-		{
-		time = iSeekPos;
-		LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::DoUpdate(): 1, time:%Ld", time.Int64());
-		}
-	else
-		{			
-		LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::DoUpdate(): 2, time:%Ld", time.Int64());
-		}
-	iCutVideoBar->SetCurrentPoint( static_cast<TInt32>((time.Int64() / 1000)));
-	iCutVideoBar->DrawDeferred();
-	}
-void CVeiSimpleCutVideoContainer::MuteL()
-	{
-	iVideoDisplay->SetMuteL( ETrue );
-	}
-
-//=============================================================================
-void CVeiSimpleCutVideoContainer::HandleVolumeUpL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandleVolumeUpL: in");
-
-	iVideoDisplay->AdjustVolumeL( 1 );
-
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandleVolumeUpL: out");
-	}
-	
-	
-void CVeiSimpleCutVideoContainer::SetVolumeLevelL( TInt aVolume )
-    {
-    iVideoDisplay->AdjustVolumeL( aVolume - iVideoDisplay->Volume() );
-    }	
-
-//=============================================================================
-void CVeiSimpleCutVideoContainer::HandleVolumeDownL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandleVolumeDownL: in");
-
-	iVideoDisplay->AdjustVolumeL( -1 );
-
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandleVolumeDownL: out");
-	}
-
-//=============================================================================
-void CVeiSimpleCutVideoContainer::PrepareForTerminationL()
-	{
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::PrepareForTerminationL: in");
-
-	SetStateL( EStateTerminating );
-
-	if( !iFrameReady && iVideoClipInfo )
-		{
-		iVideoClipInfo->CancelFrame();
-		}
-	iState = EStateTerminating;
-	iVideoDisplay->Stop( ETrue );
-
-	LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::PrepareForTerminationL: out");
-	}
-
-TInt CVeiSimpleCutVideoContainer::AsyncTakeSnapshot(TAny* aThis)
-	{
-    LOG( KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::AsyncTakeSnapshot");
-	
-    // In the asynchronous version, trap the rest of the functions 
-    // to make sure that the caller's TRequestStatus is always 
-    // completed, also in case of failures.
-	CVeiSimpleCutVideoContainer* container = static_cast<CVeiSimpleCutVideoContainer*>(aThis);
-	TInt err = KErrNone;
-	TRAP(err, container->TakeSnapshotL());
-	LOGFMT( KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::AsyncTakeSnapshot 1, err:%d", err);	
-	User::LeaveIfError(err);		
-	return KErrNone;				
-	}
-
-void CVeiSimpleCutVideoContainer::HandleVideoClickedL()
-    {
-    LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoContainer::HandleVideoClickedL");
-
-    if ( EStatePlaying != iState && EStatePlayingMenuOpen != iState )
-		{
-        iView.HandleCommandL( EVeiCmdCutVideoViewPlay );
-		}
-	else if ( EStatePlaying == iState || EStatePlayingMenuOpen == iState )
-		{		
-		PauseL();	
-//        iView.HandleCommandL( EVeiCmdCutVideoViewStop );
-		}
-    }
-
-void CVeiSimpleCutVideoContainer::FocusChanged( TDrawNow /*aDrawNow*/ )
-	{
-	if (IsFocused())
-		{
-		DrawDeferred();
-		}
-	}
-// End of File