diff -r 83e6409f1e6e -r 4cd5f847237f profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfile3dSettingPage.cpp --- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfile3dSettingPage.cpp Tue Feb 02 00:10:48 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,269 +0,0 @@ -/* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* -* Description: Setting page class for 3D settings. -* -*/ - - - -// INCLUDES -#include "CProfile3dSettingPage.h" -#include "ProfileSettingsView.hrh" - -#include -#include -#include // For RApaLsSession -#include // For BaflUtils -#include -#include -#include - -// CONSTANTS -namespace - { - const TInt K3DEffectBase( 1000 ); - const TInt K3DEchoBase( 2000 ); - - const TInt KRepeatDelayInMicroSeconds( 1000000 ); // One second - -#ifdef RD_VIDEO_AS_RINGING_TONE - _LIT( KFLDCommonVideoType, "video/*" ); - _LIT( KFLDRM1VideoMimeType, "application/vnd.rn-realmedia" ); - _LIT( KFLDRM2VideoMimeType, "application/x-pn-realmedia" ); - _LIT( KFLDSDPVideoMimeType, "application/sdp" ); -#endif - - } -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CProfile3dSettingPage::CProfile3dSettingPage -// C++ constructor can NOT contain any code, that might leave. -// ----------------------------------------------------------------------------- -// -CProfile3dSettingPage::CProfile3dSettingPage( - TInt aResourceID, - MAknQueryValue& aQueryValue, - const TDesC& aRingingTone, - const TInt& aRingingType, - const TBool& aVibratingAlert, - const TInt& aVolume, - const TInt& a3DEffectOrEcho, - TInt aIdentifier ) - : CAknPopupSettingPage( aResourceID, aQueryValue ), - iRingingTone( aRingingTone ), - iRingingType( aRingingType ), - iVibratingAlert( aVibratingAlert ), - iVolume( aVolume ), - i3DEffectOrEcho( a3DEffectOrEcho ), - iIdentifier( aIdentifier ) - { - } - -// ----------------------------------------------------------------------------- -// CProfile3dSettingPage::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CProfile3dSettingPage::ConstructL() - { - CAknPopupSettingPage::ConstructL(); - - TBool showErrorMsgs( EFalse ); - - iFs = new ( ELeave ) RFs; - User::LeaveIfError( iFs->Connect() ); - - CheckRingingToneTypeL(); - - iController = CFLDController::NewL( showErrorMsgs, KRepeatDelayInMicroSeconds ); - iController->CompleteConstructionL( Window() ); - iController->SetRingingType( iRingingType ); - iController->SetVibra( iVibratingAlert ); - iController->SetVolume( iVolume ); - } - -// Destructor. -CProfile3dSettingPage::~CProfile3dSettingPage() - { - if( iFs ) - { - iFs->Close(); - } - delete iFs; - delete iController; - delete iPreviewTone; - } - -// ----------------------------------------------------------------------------- -// CProfile3dSettingPage::OfferKeyEventL -// ----------------------------------------------------------------------------- -// -TKeyResponse CProfile3dSettingPage::OfferKeyEventL( - const TKeyEvent& aKeyEvent, TEventCode aType ) - { - if( aType == EEventKey ) - { - if( ( aKeyEvent.iCode == EKeyUpArrow ) || - ( aKeyEvent.iCode == EKeyDownArrow ) ) - { - // Get current setting - TInt currentValue = PopupSettingListBox()->CurrentItemIndex(); - - // Call base classes method - TKeyResponse response( CAknPopupSettingPage::OfferKeyEventL( aKeyEvent, aType ) ); - - // Get new setting - TInt newValue = PopupSettingListBox()->CurrentItemIndex(); - - if( newValue != currentValue ) - { - // Setting has changed - if( ( iIdentifier == EProfileSetting3dEffectId && newValue != EProfile3DEffectOff ) || - ( iIdentifier == EProfileSetting3dEchoId && i3DEffectOrEcho != EProfile3DEffectOff ) ) - { - // Set 3D parameters - if( iIdentifier == EProfileSetting3dEffectId ) - { - iController->Set3dEffects( K3DEffectBase + newValue ); - iController->Set3dEffects( K3DEchoBase + i3DEffectOrEcho ); - } - else - { - iController->Set3dEffects( K3DEffectBase + i3DEffectOrEcho ); - iController->Set3dEffects( K3DEchoBase + newValue ); - } - iController->Set3dEffects( ETrue ); - } - else - { - iController->Set3dEffects( EFalse ); - } - iController->HandleFileListBoxEventL( - MFLDFileListBoxObserver::EFocusChanged, iPreviewTone->Des() ); - } - return response; - } - // Cancels playback on any key event - iController->HandleFileListBoxEventL( - MFLDFileListBoxObserver::EOtherKeyEvent, iPreviewTone->Des() ); - } - - return CAknPopupSettingPage::OfferKeyEventL( aKeyEvent, aType ); - } - - -// ----------------------------------------------------------------------------- -// CProfile3dSettingPage::HandlePointerEventL -// ----------------------------------------------------------------------------- -// -void CProfile3dSettingPage::HandlePointerEventL( - const TPointerEvent& aPointerEvent ) - { - if( aPointerEvent.iType == TPointerEvent::EButton1Down ) - { - // Get current setting - iTempValue = PopupSettingListBox()->CurrentItemIndex(); - } - else if( aPointerEvent.iType == TPointerEvent::EButton1Up ) - { - CAknPopupSettingPage::HandlePointerEventL( aPointerEvent ); - // Get new setting - TInt newValue = PopupSettingListBox()->CurrentItemIndex(); - if( newValue != iTempValue ) - { - // Setting has changed - if( ( iIdentifier == EProfileSetting3dEffectId && newValue != EProfile3DEffectOff ) || - ( iIdentifier == EProfileSetting3dEchoId && i3DEffectOrEcho != EProfile3DEffectOff ) ) - { - // Set 3D parameters - if( iIdentifier == EProfileSetting3dEffectId ) - { - iController->Set3dEffects( K3DEffectBase + newValue ); - iController->Set3dEffects( K3DEchoBase + i3DEffectOrEcho ); - } - else - { - iController->Set3dEffects( K3DEffectBase + i3DEffectOrEcho ); - iController->Set3dEffects( K3DEchoBase + newValue ); - } - iController->Set3dEffects( ETrue ); - } - else - { - iController->Set3dEffects( EFalse ); - } - - iController->HandleFileListBoxEventL( - MFLDFileListBoxObserver::EFocusChanged, iPreviewTone->Des() ); - } - return; - } - // Cancels playback on any key event - iController->HandleFileListBoxEventL( - MFLDFileListBoxObserver::EOtherKeyEvent, iPreviewTone->Des() ); - - CAknPopupSettingPage::HandlePointerEventL( aPointerEvent ); - } - - -// ----------------------------------------------------------------------------- -// CProfile3dSettingPage::CheckRingingToneTypeL -// ----------------------------------------------------------------------------- -// -void CProfile3dSettingPage::CheckRingingToneTypeL() - { - // Get default tone from cenrep - TFileName defaultTone; - CRepository* cenrep = CRepository::NewL( KCRUidProfileEngine ); - CleanupStack::PushL( cenrep ); - User::LeaveIfError( cenrep->Get( KProEngDefaultRingingTone, defaultTone ) ); - CleanupStack::PopAndDestroy( cenrep ); - - if( !BaflUtils::FileExists( *iFs, iRingingTone ) ) - { - // If the file does not exist, use default tone for volume preview - iPreviewTone = defaultTone.AllocL(); - return; - } - -#ifdef RD_VIDEO_AS_RINGING_TONE - // Find out MIME type - RApaLsSession apaLsSession; - User::LeaveIfError( apaLsSession.Connect() ); - CleanupClosePushL( apaLsSession ); - TUid dummyUid = { 0 }; // instantiate as zero - TDataType dataType( dummyUid ); - User::LeaveIfError( - apaLsSession.AppForDocument( iRingingTone, dummyUid, dataType ) ); - CleanupStack::PopAndDestroy(); // apaLsSession.Close() - - // See if this is a video MIME type - if ( dataType.Des().MatchF( KFLDCommonVideoType ) == 0 || - dataType.Des().CompareF( KFLDRM1VideoMimeType ) == 0 || - dataType.Des().CompareF( KFLDRM2VideoMimeType ) == 0 || - dataType.Des().CompareF( KFLDSDPVideoMimeType ) == 0 ) - { - iPreviewTone = defaultTone.AllocL(); - } - else - { - iPreviewTone = iRingingTone.AllocL(); - } -#else - iPreviewTone = iRingingTone.AllocL(); -#endif - } - -// End of File