diff -r 000000000000 -r 09774dfdd46b internetradio2.0/uisrc/irbaseview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/internetradio2.0/uisrc/irbaseview.cpp Mon Apr 19 14:01:53 2010 +0300 @@ -0,0 +1,298 @@ +/* +* Copyright (c) 2008-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: Base view from which other views are derived (with a few +* exceptions). +* +*/ + + +#include +#include +#include +#include +#include + +#include "irui.h" +#include "ir.hrh" +#include "ircommon.h" +#include "irdebug.h" +#include "irbaseview.h" +#include "irapplication.h" +#include "IRIsdsWrapper.h" +#include "irviewstack.h" +#include "irsystemeventcollector.h" //For system events +#include "irnowplayingwrapper.h" +#include "irdialoglauncher.h" +#include "irisdspreset.h" + +// --------------------------------------------------------- +// CIRBaseView::CIRBaseView +// C++ default constructor can NOT contain any code, that +// might leave. +// --------------------------------------------------------- +// +CIRBaseView::CIRBaseView() + { + IRLOG_DEBUG( "CIRBaseView::CIRBaseView" ); + } + +// --------------------------------------------------------- +// CIRBaseView::~CIRBaseView +// Destructor +// --------------------------------------------------------- +// +CIRBaseView::~CIRBaseView() + { + IRLOG_DEBUG( "CIRBaseView::~CIRBaseView - Entering" ); + IRLOG_DEBUG( "CIRBaseView::~CIRBaseView - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::ConstructL +// EPOC default constructor can leave. +// --------------------------------------------------------- +// +void CIRBaseView::ConstructL( TInt aResourceId ) + { + IRLOG_DEBUG( "CIRBaseView::ConstructL - Entering" ); + CIRUi* appUi = static_cast( AppUi() ); + BaseConstructL( aResourceId ); + iUi = REINTERPRET_CAST(CIRUi*,iEikonEnv->EikAppUi()); + //get the instance of the Wrapper class from AppUi + iIsdsWrapper = appUi->GetWrapperInstance(); + iNowPlayingWrapper = appUi->GetNowPlayingWrapperInstance(); + IRLOG_DEBUG( "CIRBaseView::ConstructL - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::EnableObserverL +// (other items were commented in a header). +// --------------------------------------------------------- +// + void CIRBaseView::EnableObserverL( TInt aObservers ) + { + IRLOG_DEBUG( "CIRBaseView::EnableObserverL - Entering" ); + CIRUi* appUi = static_cast( AppUi() ); + if (aObservers & EIRSystemEventObserver ) + { + appUi->SystemEventCollector().AddObserverL( this ); + iObserverEnabled |= EIRSystemEventObserver; + } + IRLOG_DEBUG( "CIRBaseView::EnableObserverL - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::DisableObserver +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CIRBaseView::DisableObserver( TInt aObservers ) + { + IRLOG_DEBUG( "CIRBaseView::DisableObserver - Entering" ); + CIRUi* appUi = static_cast( AppUi() ); + if (aObservers & EIRSystemEventObserver ) + { + appUi->SystemEventCollector().RemoveObserver( this ); + iObserverEnabled &= ~EIRSystemEventObserver; + } + IRLOG_DEBUG( "CIRBaseView::DisableObserver - Exiting" ); + } +// --------------------------------------------------------- +// CIRBaseView::SetTitleL +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CIRBaseView::SetTitleL( TInt aResourceId ) + { + IRLOG_DEBUG( "CIRBaseView::SetTitleL - Entering" ); + HBufC* title = StringLoader::LoadLC(aResourceId); + static_cast( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) )-> + SetTextL( *title ); + CleanupStack::PopAndDestroy( title ); + IRLOG_DEBUG( "CIRBaseView::SetTitleL - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::SetTitleL +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CIRBaseView::SetTitleL( const TDesC& aTitleText ) + { + IRLOG_DEBUG( "CIRBaseView::SetTitleL - Entering" ); + static_cast( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) )-> + SetTextL( aTitleText ); + IRLOG_DEBUG( "CIRBaseView::SetTitleL - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::DoActivateL +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CIRBaseView::DoActivateL( const TVwsViewId& /*aPrevViewId*/, TUid aCustomMessageId, const TDesC8& /*aCustomMessage*/ ) + { + IRLOG_DEBUG( "CIRBaseView::DoActivateL - Entering" ); + CEikStatusPane* statP = StatusPane(); + if(iUi->IsLandscapeOrientation()) + { + statP->SwitchLayoutL(R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL); + } + else + { + statP->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT); + } + if(aCustomMessageId==TUid::Uid(1)) + { + return; + } + HandleViewStackL( aCustomMessageId); + IRLOG_DEBUG( "CIRBaseView::DoActivateL - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::DoDeactivate +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CIRBaseView::DoDeactivate() + { + IRLOG_DEBUG( "CIRBaseView::DoDeactivate" ); + // Nothing here at the moment + } + + +// --------------------------------------------------------- +// CIRBaseView::HandleCommandL +// --------------------------------------------------------- +// +void CIRBaseView::HandleCommandL( TInt aCommand ) + { + IRLOG_DEBUG( "CIRBaseView::HandleCommandL - Exiting" ); + CIRUi* appUi = static_cast< CIRUi*>(AppUi()); + CIRViewStack& viewStack = appUi->ViewStack(); + switch ( aCommand ) + { + case EIRBack: + case EAknSoftkeyBack: + { + // Check if Back Stepping Service consumes the command. + if ( !static_cast< CIRUi* >( AppUi() )->ForwardBackCommandToBsWrapperL() ) + { + // Command not consumed by Back Stepping Service, handle here. + appUi->ActivateLocalViewL( viewStack.Peek() ); + } + } + break; + default: + appUi->HandleCommandL(aCommand); + break; + } + IRLOG_DEBUG( "CIRBaseView::HandleCommandL - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::HandleForegroundEventL +// --------------------------------------------------------- +// +void CIRBaseView::HandleForegroundEventL( TBool aForeground ) + { + IRLOG_DEBUG( "CIRBaseView::HandleForegroundEventL - Entering" ); + CAknView::HandleForegroundEventL(aForeground); + IRLOG_DEBUG( "CIRBaseView::HandleForegroundEventL - Exiting" ); + } + + +// --------------------------------------------------------- +// From class MIRSystemEventObserver. +// CIRBaseView::HandleSystemEventL +// --------------------------------------------------------- +// +void CIRBaseView::HandleSystemEventL(TIRSystemEventType /*aEventType*/) + { + IRLOG_DEBUG( "CIRBaseView::HandleSystemEventL" ); + } + +// --------------------------------------------------------- +// From class MIRSystemEventObserver. +// CIRBaseView::HandleSystemEventL +// --------------------------------------------------------- +// +void CIRBaseView::HandleViewStackL(TUid aCustomMessageId ) + { + IRLOG_DEBUG( "CIRBaseView::HandleViewStackL - Entering" ); + CIRUi* appUi = static_cast( AppUi() ); + CIRViewStack& viewStack = appUi->ViewStack(); + + if( viewStack.Peek() == Id() && !(aCustomMessageId==KHistoryLaunch ) + && !(aCustomMessageId==KMainViewLaunch) + && !(aCustomMessageId==KNowPlayingLaunch) + && !(aCustomMessageId==KNowPlayingFrmMainView)) + { + viewStack.Pop(); + } + else if( appUi->ActiveView() != Id() ) + { + viewStack.PushL( appUi->ActiveView() ); + } + else + { + // DONE + } + IRLOG_DEBUG( "CIRBaseView::HandleViewStackL - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::GetCurrentFocus +// --------------------------------------------------------- +// +TInt CIRBaseView::GetCurrentFocus() + { + IRLOG_DEBUG( "CIRBaseView::GetCurrentFocus" ); + return iCurrentFocus; + } + +// --------------------------------------------------------- +// CIRBaseView::GetCurrentTopItemInstance +// --------------------------------------------------------- +// +TInt CIRBaseView::GetCurrentTopItem() + { + IRLOG_DEBUG( "CIRBaseView::GetCurrentTopItem" ); + return iTopItemIndex; + } + +// --------------------------------------------------------- +// CIRBaseView::SetCurrentFocus +// --------------------------------------------------------- +// +void CIRBaseView::SetCurrentFocus(TInt aCurrentFocus) + { + IRLOG_DEBUG( "CIRBaseView::SetCurrentFocus - Entering" ); + iCurrentFocus = aCurrentFocus; + IRLOG_DEBUG( "CIRBaseView::SetCurrentFocus - Exiting" ); + } + +// --------------------------------------------------------- +// CIRBaseView::SetCurrentTopItemInstance +// --------------------------------------------------------- +// +void CIRBaseView::SetCurrentTopItem(TInt aTopItemIndex) + { + IRLOG_DEBUG( "CIRBaseView::SetCurrentTopItem - Entering" ); + iTopItemIndex = aTopItemIndex; + IRLOG_DEBUG( "CIRBaseView::SetCurrentTopItem - Exiting" ); + } + +// End of file