diff -r 951a5db380a0 -r e0b5df5c0969 videditor/ManualVideoEditor/src/VeiTrimForMmsView.cpp --- a/videditor/ManualVideoEditor/src/VeiTrimForMmsView.cpp Fri Jan 29 14:08:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,876 +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 -#include -#include // CAknNavigationControlContainer -#include // CAknNavigationDecorator -#include // CAknProgressDialog -#include // CAknKeySoundSystem -#include // BaflUtils -#include -#include // CEikProgressInfo -#include -#include // CnvUtfConverter -#include // CSendAppUi -#include -#include // StringLoader -#include -// User includes -#include "Manualvideoeditor.hrh" -#include "VeiAppUi.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 = iEikonEnv->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 = iEikonEnv->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 ); - - 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: - * - KErrNotFound if there is no file with the specified name - * in the specified directory (but the directory exists) - * - KErrPathNotFound if the specified directory - * does not exist - * - KErrUnknown if the specified file is of unknown format - * - KErrNotSupported 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( CVeiAppUi* , AppUi())->ReadSettingsL( aSettings ); - - LOG( KVideoEditorLogFile, "CVeiTrimForMmsView::ReadSettingsL: out" ); - } - - -// End of File