diff -r 951a5db380a0 -r e0b5df5c0969 videditor/SimpleCutVideo/src/VeiSimpleCutVideoAppUi.cpp --- a/videditor/SimpleCutVideo/src/VeiSimpleCutVideoAppUi.cpp Fri Jan 29 14:08:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,333 +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 -#include -#include -#include // HlpLauncher -#include -#include -#include -#include -#include - -// User includes -#include "VedSimpleCutVideo.hrh" -#include "veisimplecutvideoappui.h" -#include "veisimplecutvideoview.h" - -#include "VeiTempMaker.h" -#include "VideoEditorCommon.h" - -// ================= MEMBER FUNCTIONS ======================= -// -// ---------------------------------------------------------- -// CVeiSimpleCutVideoAppUi::ConstructL() -// ?implementation_description -// ---------------------------------------------------------- -// -void CVeiSimpleCutVideoAppUi::ConstructL() - { - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::ConstructL: In"); - - BaseConstructL( EAppOrientationAutomatic|EAknEnableSkin|EAknEnableMSK ); - - CVeiTempMaker* maker = CVeiTempMaker::NewL(); - maker->EmptyTempFolder(); - delete maker; - -/* -* Cut video view and Cut audio view are references to edit video view and -* ownerships must be transfered(AddViewL(...)) to CAknViewAppUi(this) -* AFTER references are taken to edit video view. Otherwise exit is not clean. -*/ - - -// Cut Video view - /*iSimpleMergeView = CVeiSimpleCutVideoView::NewLC( ClientRect() ); - AddViewL( iSimpleMergeView ); // transfer ownership to CAknViewAppUi - CleanupStack::Pop( iSimpleMergeView ); - */ - - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::ConstructL: Out"); - } - -// ---------------------------------------------------- -// CVeiSimpleCutVideoAppUi::~CVeiSimpleCutVideoAppUi() -// Destructor -// Frees reserved resources -// ---------------------------------------------------- -// -CVeiSimpleCutVideoAppUi::~CVeiSimpleCutVideoAppUi() - { - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::~CVeiSimpleCutVideoAppUi()"); - } - -void CVeiSimpleCutVideoAppUi::Exit() - { - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::Exit(): In"); - - TRAP_IGNORE ( - CVeiTempMaker* maker = CVeiTempMaker::NewL(); - maker->EmptyTempFolder(); - delete maker; - ); - - CAknAppUiBase::Exit(); - - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::Exit(): Out"); - } - -//============================================================================= -CVeiSimpleCutVideoAppUi::CVeiSimpleCutVideoAppUi() - { - } - -//============================================================================= -void CVeiSimpleCutVideoAppUi::CutVideoL( TBool aDoOpen, const RFile& aFile ) - { - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::CutVideoL: In"); - - // Cut Video view - if ( !iSimpleCutVideoView ) - { - CVeiSimpleCutVideoView* simpleCutVideoView = - new (ELeave) CVeiSimpleCutVideoView; - CleanupStack::PushL( simpleCutVideoView ); - simpleCutVideoView->ConstructL(); - iSimpleCutVideoView = simpleCutVideoView; - TFileName filename; - User::LeaveIfError( aFile.FullName(filename) ); - simpleCutVideoView->AddClipL( filename, aDoOpen ); - - AddViewL(simpleCutVideoView); - CleanupStack::Pop( simpleCutVideoView ); - iVolume = -1; // Volume not set - - iCoeEnv->RootWin().EnableScreenChangeEvents(); - - SetDefaultViewL( *simpleCutVideoView ); - ActivateLocalViewL(simpleCutVideoView->Id()); - } - - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::CutVideoL: Out"); - } - -// ---------------------------------------------------- -// CVeiSimpleCutVideoAppUi::HandleKeyEventL( -// const TKeyEvent& aKeyEvent,TEventCode /*aType*/) -// ?implementation_description -// ---------------------------------------------------- -// -TKeyResponse CVeiSimpleCutVideoAppUi::HandleKeyEventL( - const TKeyEvent& /*aKeyEvent*/,TEventCode /*aType*/) - { - return EKeyWasNotConsumed; - } - - -// ---------------------------------------------------- -// CVeiSimpleCutVideoAppUi::HandleCommandL(TInt aCommand) -// ?implementation_description -// ---------------------------------------------------- -// -void CVeiSimpleCutVideoAppUi::HandleCommandL( TInt aCommand ) - { - LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleCommandL( %d ): In", aCommand); - - switch ( aCommand ) - { - // - // Context Sensitive Help launching for: - // -'Settings' view - // -'Trim for MMS' view - // -'Edit video' view - // -'Cut video' view - // -'Cut audio' view - // - case EAknCmdHelp: - case EVeiCmdCutVideoViewHelp: - { - // Get the current context - CArrayFix* context = AppHelpContextL(); - - // Launch the help application with current context topic - HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), - context ); - break; - } - case EAknSoftkeyBack: - case EEikCmdExit: - case EAknSoftkeyExit: - case EAknCmdExit: - { - iOnTheWayToDestruction = ETrue; - - CVeiTempMaker* maker = CVeiTempMaker::NewL(); - maker->EmptyTempFolder(); - delete maker; - - Exit(); - break; - } - default: - break; - } - LOG(KVideoEditorLogFile, "CVeiAppUi::HandleCommandL: Out"); - } - -//============================================================================= -void CVeiSimpleCutVideoAppUi::ReadSettingsL( TVeiSettings& aSettings ) const - { - LOG(KVideoEditorLogFile, "CVeiAppUi::ReadSettingsL: in"); - CDictionaryStore* store = Application()->OpenIniFileLC( iCoeEnv->FsSession() ); - - TBool storePresent = store->IsPresentL( KUidVideoEditor ); // UID has an associated stream? - - if( storePresent ) - { - RDictionaryReadStream readStream; - readStream.OpenLC( *store, KUidVideoEditor ); - - readStream >> aSettings; // Internalize data to TVeiSettings. - - CleanupStack::PopAndDestroy( &readStream ); - } - else { - // In the case of simple cut, the video name is generated automatically - // when saving is started. - aSettings.DefaultVideoName() = KNullDesC; - - /* Read the default snapshot filename from resource */ - const CFont* myFont = AknLayoutUtils::FontFromId( EAknLogicalFontSecondaryFont ); - HBufC* snapshotName = iEikonEnv->AllocReadResourceLC( R_VEI_SETTINGS_VIEW_SETTINGS_ITEM2_VALUE ); - aSettings.DefaultSnapshotName() = AknTextUtils::ChooseScalableText(snapshotName->Des(), *myFont, 400 ); - CleanupStack::PopAndDestroy( snapshotName ); - - /* Memory card is used as a default target */ - aSettings.MemoryInUse() = CAknMemorySelectionDialog::EMemoryCard; - - /* Set save quality to "Auto" by default. */ - aSettings.SaveQuality() = TVeiSettings::EAuto; - - RDictionaryWriteStream writeStream; - writeStream.AssignLC( *store, KUidVideoEditor ); - - writeStream << aSettings; - - writeStream.CommitL(); - - store->CommitL(); - - CleanupStack::PopAndDestroy( &writeStream ); - } - CleanupStack::PopAndDestroy( store ); - LOG(KVideoEditorLogFile, "CVeiAppUi::ReadSettingsL: out"); - } - -//============================================================================= -void CVeiSimpleCutVideoAppUi::WriteSettingsL( const TVeiSettings& aSettings ) - { - LOG(KVideoEditorLogFile, "CVeiAppUi::WriteSettingsL: in"); - CDictionaryStore* store = Application()->OpenIniFileLC( iCoeEnv->FsSession() ); - - RDictionaryWriteStream writeStream; - writeStream.AssignLC( *store, KUidVideoEditor ); - writeStream << aSettings; - writeStream.CommitL(); - - store->CommitL(); - - CleanupStack::PopAndDestroy( &writeStream ); - CleanupStack::PopAndDestroy( store ); - LOG(KVideoEditorLogFile, "CVeiAppUi::WriteSettingsL: out"); - } - -//============================================================================= -void CVeiSimpleCutVideoAppUi::HandleScreenDeviceChangedL() - { - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleScreenDeviceChangedL: In"); - - CAknAppUi::HandleScreenDeviceChangedL(); - - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleScreenDeviceChangedL: Out"); - } - -//============================================================================= -void CVeiSimpleCutVideoAppUi::HandleResourceChangeL(TInt aType) - { - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleResourceChangeL: In"); - CAknAppUi::HandleResourceChangeL(aType); - if ( iSimpleCutVideoView ) - { - iSimpleCutVideoView->HandleResourceChange(aType); - } - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleResourceChangeL: Out"); - } - -//============================================================================= -void CVeiSimpleCutVideoAppUi::HandleFileNotificationEventL() - { - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleFileNotificationEventL: In"); - /*if ( iSimpleCutVideoView ) - { - if( iSimpleCutVideoView->WaitMode() == CVeiEditVideoView::EProcessingMovieSaveThenQuit ) - { - HandleCommandL( EAknCmdExit ); - } - }*/ - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleFileNotificationEventL: Out"); - } - -//============================================================================= -void CVeiSimpleCutVideoAppUi::HandleForegroundEventL ( TBool aForeground ) - { - LOGFMT(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleForegroundEventL: In: %d", aForeground); - CAknViewAppUi::HandleForegroundEventL( aForeground ); - if ( !aForeground ) - { - // Set the priority to low. This is needed to handle the situations - // where the engine is performing heavy processing while the application - // is in background. - RProcess myProcess; - iOriginalProcessPriority = myProcess.Priority(); - LOGFMT3(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleForegroundEventL: changing priority of process %Ld from %d to %d", myProcess.Id().Id(), iOriginalProcessPriority, EPriorityLow); - myProcess.SetPriority( EPriorityLow ); - iProcessPriorityAltered = ETrue; - } - else if ( iProcessPriorityAltered ) - { - // Return to normal priority. - RProcess myProcess; - TProcessPriority priority = myProcess.Priority(); - if ( priority < iOriginalProcessPriority ) - { - myProcess.SetPriority( iOriginalProcessPriority ); - } - iProcessPriorityAltered = EFalse; - LOGFMT2(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleForegroundEventL: process %Ld back to normal priority %d", myProcess.Id().Id(), priority); - } - - LOG(KVideoEditorLogFile, "CVeiSimpleCutVideoAppUi::HandleForegroundEventL: Out"); - } - -// End of File