--- a/mmsharing/mmshui/src/musuistatuspanehandler.cpp Thu Aug 19 09:51:39 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,325 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-
-#include "musuistatuspanehandler.h"
-#include "musuidefinitions.h"
-#include "muslogger.h" // debug logging
-#include <musui.mbg>
-
-#include <eikspane.h>
-#include <barsread.h>
-#include <StringLoader.h>
-#include <akntitle.h>
-#include <aknenv.h>
-#include <akncontext.h>
-#include <AknIndicatorContainer.h>
-#include <aknnavi.h> // Navi pane container ( CAknNavigationControlContainer )
-#include <AknVolumePopup.h>
-#include <eikapp.h>
-#include <eikenv.h>
-#include <eikappui.h>
-
-
-// constants
-#define KMUSMBMFILENAME iEikonEnvironment.EikAppUi()->Application()->BitmapStoreName()
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusUiStatusPaneHandler* CMusUiStatusPaneHandler::NewL( CEikonEnv& aEikonEnv )
- {
- CMusUiStatusPaneHandler* self =
- new ( ELeave ) CMusUiStatusPaneHandler( aEikonEnv );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusUiStatusPaneHandler::~CMusUiStatusPaneHandler()
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::~CMusUiStatusPaneHandler" );
-
- delete iNaviPaneText;
- delete iMediaControl;
- delete iVolumePopup;
-
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::~CMusUiStatusPaneHandler" );
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusUiStatusPaneHandler::CMusUiStatusPaneHandler( CEikonEnv& aEikonEnv )
- :iEikonEnvironment( aEikonEnv )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::ConstructL()
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::ConstructL" );
-
- CEikStatusPane* statusPane = iEikonEnvironment.AppUiFactory()->StatusPane();
-
- iNaviPane = STATIC_CAST(
- CAknNavigationControlContainer*,
- statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
- iTitlePane = STATIC_CAST(
- CAknTitlePane*,
- statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
- iContextPane = STATIC_CAST(
- CAknContextPane*,
- statusPane->ControlL( TUid::Uid( EEikStatusPaneUidContext ) ) );
-
- iVolumePopup = CAknVolumePopup::ConstructFromResourceL(
- R_AVKON_NAVI_PANE_VOLUME_INDICATOR );
-
- iMediaControl = CreateMediaNaviL();
-
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::ConstructL" );
- }
-
-
-// -----------------------------------------------------------------------------
-// Updates statuspane icons
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::SetStatusPaneIconsL( TInt32 aIconId,
- TInt32 aIconMaskId )
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::SetStatusPaneIconsL" )
-
- iContextPane->SetPictureFromFileL( KMUSMBMFILENAME, aIconId, aIconMaskId );
-
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::SetStatusPaneIconsL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// Updates statuspane icons
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::SetStatusPaneIconsL( CFbsBitmap* aBitmap )
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::SetStatusPaneIconsL" );
- CEikImage* image = new (ELeave) CEikImage();
- image->SetBitmap( aBitmap );
- CEikImage* oldImage = iContextPane->SwapPicture( image );
- delete oldImage;
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::SetStatusPaneIconsL" );
- }
-
-
-// -----------------------------------------------------------------------------
-// Hides navi-pane decorators and clears text
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::ClearNaviPaneL()
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::ClearNaviPaneL" );
- delete iNaviPaneText;
- iNaviPaneText = NULL;
-
- // Pushes default decorator object (empty one) to top of the stack
- // and draws it
- iNaviPane->PushDefaultL();
-
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::ClearNaviPaneL" );
- }
-
-
-// -----------------------------------------------------------------------------
-// Sets title-pane text
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::SetTitleL( const TDesC& aTitle )
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::SetTitleL" );
- iTitlePane->SetTextL( aTitle );
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::SetTitleL" );
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::SetTitleFromResourceL( TInt aResourceId )
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::SetTitleFromResourceL" );
- HBufC* titlePaneTitle = StringLoader::LoadLC( aResourceId );
- iTitlePane->SetTextL( *titlePaneTitle );
- CleanupStack::PopAndDestroy( titlePaneTitle );
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::SetTitleFromResourceL" );
- }
-
-
-// -----------------------------------------------------------------------------
-// Get the current volume setting.
-// -----------------------------------------------------------------------------
-//
-TInt CMusUiStatusPaneHandler::GetVolumeControlValue() const
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::GetVolumeControlValue" );
-
- TInt volume = iVolumePopup->Value();
-
- MUS_LOG1( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::GetVolumeControlValue: [%d]",
- volume );
- return volume;
- }
-
-
-// -----------------------------------------------------------------------------
-// Activates volume control.
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::ActivateVolumeControlL( TInt aVolume, TBool aOnlyIfVisible )
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::ActivateVolumeControlL" );
-
- if ( aVolume < KMusVolumeMuted || aVolume > KMusVolumeMaximum )
- {
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::SetVolumeControlValue: returning" );
- return;
- }
-
- if ( !aOnlyIfVisible || (aOnlyIfVisible && iVolumePopup->IsVisible()) )
- {
- iVolumePopup->SetValue( aVolume );
- iVolumePopup->ShowVolumePopupL();
- }
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::ActivateVolumeControlL" );
- }
-
-
-// -----------------------------------------------------------------------------
-// Activate media navi pane.
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::ActivateNaviPaneMediaL()
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::ActivateNaviPaneMediaL" );
- iNaviPane->PushL( *iMediaControl );
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::ActivateNaviPaneMediaL" );
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::ShowNaviPaneIconL(
- TMusUiNaviMediaDecorator aIcon )
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::ShowNaviPaneIconL" );
- CMusUiNaviMediaDecorator* mediaNavi =
- static_cast<CMusUiNaviMediaDecorator*>(
- iMediaControl->DecoratedControl() );
- mediaNavi->ShowIcon( aIcon );
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::ShowNaviPaneIconL" );
- }
-
-
-// -----------------------------------------------------------------------------
-// Sets navi-pane label for left side
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::SetLeftLabelL( const TDesC& aLabel )
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::SetLeftLabelL" );
-
- static_cast<CMusUiNaviMediaDecorator*>
- ( iMediaControl->DecoratedControl() )->SetLeftLabelL( aLabel );
- iNaviPane->DrawNow();
-
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::SetLeftLabelL" );
- }
-
-
-// -----------------------------------------------------------------------------
-// Sets navi-pane label for right side
-// -----------------------------------------------------------------------------
-//
-void CMusUiStatusPaneHandler::SetRightLabelL( const TDesC& aLabel )
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::SetRightLabelL" );
-
- static_cast<CMusUiNaviMediaDecorator*>
- ( iMediaControl->DecoratedControl() )->SetRightLabelL( aLabel );
- iNaviPane->DrawNow();
-
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::SetRightLabelL" );
- }
-
-
-// -----------------------------------------------------------------------------
-// Create media navi pane.
-// -----------------------------------------------------------------------------
-//
-CAknNavigationDecorator* CMusUiStatusPaneHandler::CreateMediaNaviL()
- {
- MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::CreateMediaNaviL" );
- CMusUiNaviMediaDecorator* naviDecorator = CMusUiNaviMediaDecorator::NewL();
- CleanupStack::PushL( naviDecorator );
-
- CAknNavigationDecorator* decoratedFolder =
- CAknNavigationDecorator::NewL(
- iNaviPane,
- naviDecorator,
- CAknNavigationDecorator::ENotSpecified );
- CleanupStack::Pop( naviDecorator );// decoratedFolder owns naviDecorator now
-
- CleanupStack::PushL( decoratedFolder );
- decoratedFolder->SetContainerWindowL( *iNaviPane );
- naviDecorator->SetContainerWindowL( *decoratedFolder );
- CleanupStack::Pop( decoratedFolder );
-
- decoratedFolder->MakeScrollButtonVisible( EFalse );
-
- MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::CreateMediaNaviL" );
- return decoratedFolder;
- }
-
-
-// -----------------------------------------------------------------------------
-// Get Volump Popup control pointer
-// -----------------------------------------------------------------------------
-//
-CAknVolumePopup* CMusUiStatusPaneHandler::GetVolumePopup() const
- {
- return iVolumePopup;
- }
-
-
-// end of file