diff -r 000000000000 -r f0cf47e981f9 mmsharing/mmshui/src/musuilivesharingviewcontainer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/mmshui/src/musuilivesharingviewcontainer.cpp Thu Dec 17 08:44:37 2009 +0200 @@ -0,0 +1,255 @@ +/* +* Copyright (c) 2005 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: The MUS application's UI class. +* +*/ + + +#include "musuidefinitions.h" +#include "musuilivesharingviewcontainer.h" +#include "musuieventcontroller.h" +#include "musuigeneralview.h" +#include "musuilivesharingview.h" +#include "musuiappui.h" +#include "musuilevelindicator.h" +#include "musuidialogutil.h" +#include "musui.hrh" +#include "muslogger.h" // debug logging +#include "mussettings.h" +#include + +#include +#include + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusUiLiveSharingViewContainer::ConstructL( CMusUiGeneralView* aView, + const TRect& aRect ) + { + MUS_LOG( "mus: [MUSUI ] -> CMusUiLiveSharingViewContainer::ConstructL" ); + + CMusUiSendViewContainer::ConstructL( aView, + aRect, + EAknOrientationVertical ); + // check if operator specific functionality is needed + iOperatorSpecificFunctionality = + ( MultimediaSharingSettings::OperatorVariantSettingL() == + MusSettingsKeys::EOperatorSpecific ); + + MUS_LOG( "mus: [MUSUI ] <- CMusUiLiveSharingViewContainer::ConstructL" ); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +CMusUiLiveSharingViewContainer::~CMusUiLiveSharingViewContainer() + { + MUS_LOG( "mus: [MUSUI ] -> CMusUiLiveSharingViewContainer::~CMusUiLiveSharingViewContainer" ); + // NOP + MUS_LOG( "mus: [MUSUI ] <- CMusUiLiveSharingViewContainer::~CMusUiLiveSharingViewContainer" ); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusUiLiveSharingViewContainer::SetZoomValues( TInt aMinZoom, TInt aMaxZoom ) + { + iIndicator->SetRange( aMinZoom, aMaxZoom, ETrue ); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusUiLiveSharingViewContainer::SetBrightnessValues( TInt aMinBrightness, + TInt aMaxBrightness ) + { + iIndicator->SetRange( aMinBrightness, aMaxBrightness, ETrue ); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusUiLiveSharingViewContainer::SetZoomL( TInt aZoomLevel ) + { + MUS_LOG( "mus: [MUSUI ] -> CMusUiLiveSharingViewContainer::SetZoomL" ) + + iIndicator->SetLevelL( EMusUiIndicatorTypeZoom, + aZoomLevel, + ETrue /* use timer */ ); + + MUS_LOG( "mus: [MUSUI ] <- CMusUiLiveSharingViewContainer::SetZoomL" ) + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusUiLiveSharingViewContainer::SetBrightnessL( TInt aBrightnessLevel ) + { + MUS_LOG( "mus: [MUSUI ] -> CMusUiLiveSharingViewContainer::SetBrightnessL" ) + + iIndicator->SetLevelL( EMusUiIndicatorTypeBrightness, + aBrightnessLevel, + ETrue /* use timer */ ); + + MUS_LOG( "mus: [MUSUI ] <- CMusUiLiveSharingViewContainer::SetBrightnessL" ) + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusUiLiveSharingViewContainer::SetZoomVisible( TBool aVisible ) + { + iIndicator->SetIndicatorType( EMusUiIndicatorTypeZoom ); + MakeVisible( aVisible ); + SetGloballyCapturing( aVisible ); + SetPointerCapture( aVisible ); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusUiLiveSharingViewContainer::SetBrightnessVisible( TBool aVisible) + { + iIndicator->SetIndicatorType(EMusUiIndicatorTypeBrightness); + MakeVisible( aVisible ); + SetGloballyCapturing( aVisible ); + SetPointerCapture( aVisible ); + } + + +// ----------------------------------------------------------------------------- +// Called by framework when to retrieve the no. of controls. +// ----------------------------------------------------------------------------- +// +TInt CMusUiLiveSharingViewContainer::CountComponentControls() const + { + return 1; // return nbr of controls inside this container + } + + +// ----------------------------------------------------------------------------- +// Called by framework to retrieve the control specified by index. +// ----------------------------------------------------------------------------- +// +CCoeControl* CMusUiLiveSharingViewContainer::ComponentControl( TInt aIndex ) const + { + CCoeControl* control = NULL; + switch ( aIndex ) + { + case 0: + control = iIndicator; + break; + default: + break; + } + return control; + } + + +// ----------------------------------------------------------------------------- +// Called by framework to act on key events if required. +// ----------------------------------------------------------------------------- +// +TKeyResponse CMusUiLiveSharingViewContainer::OfferKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode /*aType*/ ) + { + MUS_LOG1( "mus: [MUSUI ] -> CMusUiLiveSharingViewContainer::OfferKeyEventL: %d", + aKeyEvent.iCode ); + MUS_LOG1( "mus: [MUSUI ] -> CMusUiLiveSharingViewContainer::OfferKeyEventL: %d", + aKeyEvent.iScanCode ); + + TKeyResponse ret( EKeyWasNotConsumed ); + + if ( MUS_NO_TOOLBAR ) + { + CMusUiLiveSharingView* view = + static_cast< CMusUiLiveSharingView* >( MusUiView() ); + switch ( aKeyEvent.iCode ) + { + case EKeyLeftArrow: + { + view->HandleCommandL( EMusuiCmdViewVolumeDown ); + ret = EKeyWasConsumed; + break; + } + case EKeyRightArrow: + { + view->HandleCommandL( EMusuiCmdViewVolumeUp ); + ret = EKeyWasConsumed; + break; + } + case EKeyUpArrow: + { + view->HandleKeyUpArrowL(); + ret = EKeyWasConsumed; + break; + } + case EKeyDownArrow: + { + view->HandleKeyDownArrowL(); + ret = EKeyWasConsumed; + break; + } + default: + break; + } + } + + MUS_LOG( "mus: [MUSUI ] <- CMusUiLiveSharingViewContainer::OfferKeyEventL" ); + return ret; + } + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusUiLiveSharingViewContainer::HandlePointerEventL( + const TPointerEvent& aPointerEvent) + { + if ( Rect().Contains( aPointerEvent.iPosition ) ) + { + // Forward to base class in order to use slider + CCoeControl::HandlePointerEventL( aPointerEvent ); + } + else + { + // Tapping outside slider area means ending of zoom or brightness + // adjustment + SetZoomVisible( EFalse ); // This hides also the brightness slider + CMusUiLiveSharingView* liveView = + (CMusUiLiveSharingView*)this->MusUiView(); + liveView->ResetToolBarSelected(); + } + } + + +// end of file