diff -r f15ac8e65a02 -r 779871d1e4f4 vtuis/videotelui/src/features/prefs/cvtuiprefpopupbase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vtuis/videotelui/src/features/prefs/cvtuiprefpopupbase.cpp Wed Sep 01 12:29:12 2010 +0100 @@ -0,0 +1,189 @@ +/* +* Copyright (c) 2007 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: Implementation of base class for video preference popups +* +*/ + + +#include +#include +#include + +#include "cvtuiprefpopupbase.h" +#include "mvtuicomponentmanager.h" +#include "mvtuicomponentstateobserver.h" +#include "cvtuifeaturemanager.h" +#include "CVtUiAppUi.h" + +// Number of steps +static const TInt KStepCount = 20; + +// Slider min value +static const TInt KSLiderMinValue = -100; + +// Slider min value +static const TInt KSLiderDefaultValue = 0; + +// Slider max value +static const TInt KSLiderMaxValue = 100; + +// Min adjust value +static const TInt KMinAdjustValue = 0; + +// Max adjust value +static const TInt KMaxAdjustValue = 20; + +// default time out time for zoom popup +const TInt KDefaultPrefTimeOutTime = 5; + +// --------------------------------------------------------------------------- +// CVtUiPrefPopupBase::~CVtUiPrefPopupBase +// --------------------------------------------------------------------------- +// +CVtUiPrefPopupBase::~CVtUiPrefPopupBase() + { + __VTPRINTENTER( "CVtUiPrefPopupBase.~CVtUiPrefPopupBase" ) + __VTPRINTEXIT( "CVtUiPrefPopupBase.~CVtUiPrefPopupBase" ) + } + +// --------------------------------------------------------------------------- +// CVtUiPrefPopupBase::HandleControlEventL() +// --------------------------------------------------------------------------- +// +void CVtUiPrefPopupBase::HandleControlEventL( + CCoeControl* aControl,TCoeEvent aEventType ) + { + __VTPRINTENTER( "CVtUiPrefPopupBase.HandleControlEventL" ) + CVtUiPopupBase::HandleControlEventL( aControl, aEventType ); + if ( aEventType == EEventStateChanged ) + { + const TInt value( Value() ); + if ( value != iCurrent ) + { + __VTPRINT( DEBUG_GEN, "CVtUiPrefPopupBase.OfferKeyEventL value != current " ) + iCurrent = value; + __VTPRINT2( DEBUG_GEN, "CVtUiPrefPopupBase.HandleControlEventL = %d", ScaledValue() ) + AdjustVideoL( ScaledValue() ); + } + } + + __VTPRINTEXIT( "CVtUiPrefPopupBase.HandleControlEventL" ) + } + +// --------------------------------------------------------------------------- +// CVtUiPrefPopupBase::UpdatePopupL() +// --------------------------------------------------------------------------- +// +void CVtUiPrefPopupBase::UpdatePopupL() + { + __VTPRINTENTER( "CVtUiPrefPopupBase.UpdatePrefPopupL" ) + + AdjustVideoL( ScaledValue() ); + + __VTPRINTEXIT( "CVtUiPrefPopupBase.UpdatePrefPopupL" ) + } + +// --------------------------------------------------------------------------- +// CVtUiPrefPopupBase::OfferKeyEventL() +// --------------------------------------------------------------------------- +// +TKeyResponse CVtUiPrefPopupBase::OfferKeyEventL( const TKeyEvent& aEvent, + TEventCode aCode ) + { + __VTPRINTENTER( "CVtUiPrefPopupBase.OfferKeyEventL" ) + TKeyResponse response = + CVtUiPopupBase::OfferKeyEventL( aEvent, aCode ); + + if ( response == EKeyWasConsumed ) + { + AdjustVideoL( ScaledValue() ); + } + + __VTPRINTEXIT( "CVtUiPrefPopupBase.OfferKeyEventL" ) + return response; + } + +// CVtUiPrefPopupBase::AdjustVideoL() +// --------------------------------------------------------------------------- +// +void CVtUiPrefPopupBase::AdjustVideoL( TInt aValue ) + { + __VTPRINTENTER( "CVtUiPrefPopupBase.AdjustVideoL" ) + // cast the parameter + TPtrC8 params( reinterpret_cast< TUint8* >( &aValue ), sizeof( TInt ) ); + + // Adjust Contrast + iFeatureManager.AppUi().DoExecuteCmdL( iEngineCommandId, ¶ms ); + __VTPRINTEXIT( "CVtUiPrefPopupBase.AdjustVideoL" ) + } + +// --------------------------------------------------------------------------- +// CVtUiPrefPopupBase::DoActivateL() +// --------------------------------------------------------------------------- +// +void CVtUiPrefPopupBase::DoActivateL() + { + __VTPRINTENTER( "CVtUiPrefPopupBase.DoActivateL" ) + CVtUiPopupBase::DoActivateL(); + // Set current value + __VTPRINT2( DEBUG_GEN, "CVtUiPrefPopupBase.DoActivateL = %d", CurrentValue() ) + ScaleAndSetValue( CurrentValue() ); + AdjustVideoL( ScaledValue() ); + __VTPRINTEXIT( "CVtUiPrefPopupBase.DoActivateL" ) + } + +// CVtUiPrefPopupBase::CVtUiPrefPopupBase +// --------------------------------------------------------------------------- +// +CVtUiPrefPopupBase::CVtUiPrefPopupBase( CVtUiFeatureManager& aFeatureManager, + TVtUiBlockListBitField aBitField, TComponentId aComponentId, TInt aCmdId ) : + CVtUiPopupBase( aFeatureManager.ComponentManager(), aBitField, + aComponentId ), iFeatureManager( aFeatureManager ), + iEngineCommandId ( aCmdId ) + { + __VTPRINTENTER( "CVtUiPrefPopupBase.CVtUiPrefPopupBase" ) + __VTPRINTEXIT( "CVtUiPrefPopupBase.CVtUiPrefPopupBase" ) + } + + +// --------------------------------------------------------------------------- +// CVtUiPrefPopupBase::BaseConstructL +// --------------------------------------------------------------------------- +// +void CVtUiPrefPopupBase::BaseConstructL() + { + __VTPRINTENTER( "CVtUiPrefPopupBase.BaseConstructL" ) + CVtUiPopupBase::BaseConstructL(); + // Get camera preferences extension. + iCameraPref = static_cast ( iFeatureManager. + AppUi().Model().Extension( KVtEngExtensionCameraPreferences ) ); + + // Set range and step count for the slider + SetAdjustRange( KMinAdjustValue, KMaxAdjustValue, KStepCount ); + + // Set value range to baseclass + // range e.g. 0-20 + SetMinAndMaxValues( KSLiderMinValue , KSLiderMaxValue ); + + // Set slider type to percentage + SetValueType( EAknSliderValuePercentage ); + + // Set default value + ScaleAndSetValue( KSLiderDefaultValue ); + + // Set timeout + SetTimeOut( KDefaultPrefTimeOutTime ); + + __VTPRINTEXIT( "CVtUiPrefPopupBase.BaseConstructL" ) + }