diff -r 4baee4f15982 -r 6385c4c93049 browserui/browser/BrowserAppSrc/BrowserDisplay.cpp --- a/browserui/browser/BrowserAppSrc/BrowserDisplay.cpp Thu Aug 19 09:57:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,879 +0,0 @@ -/* -* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: -* Access to display components -* -* -*/ - - -// INCLUDE FILES -// System includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include // For WLAN state checking - -#include // For Layout_Meta_Data landscape/portrait status - -// User includes -#include "ApiProvider.h" -#include "BrowserProgressIndicator.h" -#include "BrowserDisplay.h" -#include "BrowserUtil.h" -#include "Preferences.h" -#include "CommonConstants.h" -#include "BrowserWindow.h" -#include "BrowserWindowManager.h" -#include "Logger.h" - -#include "WlanObserver.h" - -#include - -// TYPES - -struct TIndicatorContainer { - TInt locName; // indicator's local name - TInt aknName; // indicator's avkon name - TInt indState; // indicator's value -}; - -// cosmetic macros -#define _AKN_IND( a ) EAknNaviPaneEditorIndicator ## a -#define _LOC_IND( a ) ELocalIndicator ## a -#define _IND_STATE( a ) KLocalIndicators[ _LOC_IND( a ) ].indState -#define _SET_INDIC( a ) SetIndicatorState( \ - TUid::Uid( _AKN_IND( a ) ), _IND_STATE( a ) ) -#define _SET_INDIC2( a, b ) SetIndicatorState( \ - TUid::Uid( _AKN_IND( a ) ), _IND_STATE( a ), b ) - -// indicators used in this module -enum { - _LOC_IND( SecuredConnection ), - _LOC_IND( MessageInfo ), - _LOC_IND( ProgressBar ), - // _LOC_IND( WaitBar ), // - // _LOC_IND( T9 ), // - // _LOC_IND( UpperCase ), // - // _LOC_IND( LowerCase ), // - // _LOC_IND( AudioAttached ), // - // _LOC_IND( Objects ), // - // _LOC_IND( WmlWaitGlobe ), - _LOC_IND( Gprs ), - _LOC_IND( WlanAvailable ), - _LOC_IND( WlanActive ), - _LOC_IND( WlanActiveSecure ), - _LOC_IND( FileSize ), - // _LOC_IND( MessageLength ), // - _LOC_IND( WmlWindows ), - _LOC_IND( WmlWindowsText ), - _LOC_IND( LastItem ) -}; - -// CONSTANTS -_LIT( KBrowserSpaceChar, " " ); - -// order of the indicators in this structure MUST match the enum definition above! -LOCAL_D TIndicatorContainer KLocalIndicators[] = -{ - { _LOC_IND( SecuredConnection ), _AKN_IND( SecuredConnection ), EAknIndicatorStateOff }, - { _LOC_IND( MessageInfo ), _AKN_IND( MessageInfo ), EAknIndicatorStateOff }, - { _LOC_IND( ProgressBar ), _AKN_IND( ProgressBar ), EAknIndicatorStateOff }, - // { _LOC_IND( WaitBar ), _AKN_IND( WaitBar ), EAknIndicatorStateOff }, - // { _LOC_IND( T9 ), _AKN_IND( T9 ), EAknIndicatorStateOff }, - // { _LOC_IND( UpperCase ), _AKN_IND( UpperCase ), EAknIndicatorStateOff }, - // { _LOC_IND( LowerCase ), _AKN_IND( LowerCase ), EAknIndicatorStateOff }, - // { _LOC_IND( AudioAttached ), _AKN_IND( AudioAttached ), EAknIndicatorStateOff }, - // { _LOC_IND( Objects ), _AKN_IND( Objects ), EAknIndicatorStateOff }, - // { _LOC_IND( WmlWaitGlobe ), _AKN_IND( WmlWaitGlobe ), EAknIndicatorStateOff }, - { _LOC_IND( Gprs ), _AKN_IND( Gprs ), EAknIndicatorStateOn }, - { _LOC_IND( WlanAvailable ), _AKN_IND( WlanAvailable ), EAknIndicatorStateOff }, - { _LOC_IND( WlanActive ), _AKN_IND( WlanActive ), EAknIndicatorStateOff }, - { _LOC_IND( WlanActiveSecure ), _AKN_IND( WlanActiveSecure ), EAknIndicatorStateOff }, - { _LOC_IND( FileSize ), _AKN_IND( FileSize ), EAknIndicatorStateOff }, - // { _LOC_IND( MessageLength ), _AKN_IND( MessageLength ), EAknIndicatorStateOff }, - { _LOC_IND( WmlWindows ), _AKN_IND( WmlWindows ), EAknIndicatorStateOff }, - { _LOC_IND( WmlWindowsText ), _AKN_IND( WmlWindowsText ), EAknIndicatorStateOff }, - { _LOC_IND( LastItem ), 0, 0 } -}; - -// ================= MEMBER FUNCTIONS ======================= - -// C++ default constructor can NOT contain any code, that -// might leave. -// -CBrowserDisplay::CBrowserDisplay( MApiProvider& aApiProvider, CBrowserWindow& aWindow ) -: iApiProvider( aApiProvider ), iWindow( &aWindow ) - { - } - -// --------------------------------------------------------------------------- -// CBrowserDisplay::ConstructL() -// --------------------------------------------------------------------------- -// -void CBrowserDisplay::ConstructL() - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - iProgressIndicator = CBrowserProgressIndicator::NewL( iApiProvider ); - iEditorIndicatorContainer = NULL; - iTitle = NULL; -PERFLOG_STOP_WRITE("BrProgressIndicator") - InitIndicatorsL(); //for full screen - -#ifdef _DEBUG - // check the indicator array's integrity - TInt i = 0; - while( KLocalIndicators[i].locName != _LOC_IND( LastItem ) ) - { - __ASSERT_DEBUG( KLocalIndicators[i].locName == i, - Util::Panic( Util::EUnExpected ) ); - ++i; - } -#endif // _DEBUG - } - -// --------------------------------------------------------------------------- -// CBrowserDisplay::NewL() -// --------------------------------------------------------------------------- -// -CBrowserDisplay* CBrowserDisplay::NewL( MApiProvider& aApiProvider, CBrowserWindow& aWindow ) - { - CBrowserDisplay* self = new (ELeave) CBrowserDisplay( aApiProvider, aWindow ); - - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); // self - - return self; - } - -// --------------------------------------------------------------------------- -// CBrowserDisplay::~CBrowserDisplay() -// --------------------------------------------------------------------------- -// -CBrowserDisplay::~CBrowserDisplay() - { - delete iProgressIndicator; - delete iEditorIndicatorContainer; - delete iTitle; - delete iWlanObserver; - } - -// --------------------------------------------------------------------------- -// CBrowserDisplay::StatusPane() -// --------------------------------------------------------------------------- -// -CEikStatusPane* CBrowserDisplay::StatusPane() const - { - return STATIC_CAST( CAknAppUi*, CEikonEnv::Static()->EikAppUi() )-> - StatusPane(); - } - -// --------------------------------------------------------------------------- -// CBrowserDisplay::NaviPaneL() -// --------------------------------------------------------------------------- -// -CAknNavigationControlContainer* CBrowserDisplay::NaviPaneL() const - { - CEikStatusPane* sp = StatusPane(); - User::LeaveIfNull( sp ); - return STATIC_CAST( CAknNavigationControlContainer*, - sp->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) ); - } - -// --------------------------------------------------------- -// CBrowserDisplay::SetTitleL() -// --------------------------------------------------------- -// -void CBrowserDisplay::SetTitleL( const TDesC& aTitle ) - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - HBufC* temp = aTitle.AllocL(); - delete iTitle; - iTitle = temp; - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - // Checking to see if we are in contentview so that title is updated for other views like - // Bookmarks and Settings. In landscape mode title could be updated all the time regardless of progress bar. - if ( !Layout_Meta_Data::IsLandscapeOrientation() && - (indicContainerEditing) && (ApiProvider().LastActiveViewId() == KUidBrowserContentViewId )) - { - //Under full screen mode, the progress bar is at the bottom and the title should be updated - //all the time. - if (indicContainerEditing->IndicatorState( - TUid::Uid(EAknNaviPaneEditorIndicatorProgressBar) ) != EAknIndicatorStateOn) - { - RestoreTitleL(); - } - } - else - { - RestoreTitleL(); - } -PERFLOG_STOP_WRITE("BrDsply:SetTitle") - } - -// --------------------------------------------------------- -// CBrowserDisplay::ClearMessageInfo() -// --------------------------------------------------------- -// -void CBrowserDisplay::ClearMessageInfo() - { - - if( iEditorIndicatorContainer != NULL ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - - _IND_STATE( MessageInfo ) = EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( MessageInfo ); - indicContainerOwn->_SET_INDIC( MessageInfo ); - } - } -// --------------------------------------------------------- -// CBrowserDisplay::RestoreTitleL() -// --------------------------------------------------------- -// -void CBrowserDisplay::RestoreTitleL() - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - if ( (iTitle !=NULL) ) - { - - if(( iApiProvider.LastActiveViewId() == KUidBrowserContentViewId ) - && ( iEditorIndicatorContainer != NULL ) - && (!(AknStatuspaneUtils::StaconPaneActive())) ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - - if ( Layout_Meta_Data::IsLandscapeOrientation() ) - { - // Lanscape mode - Title in title pane not navipane/messageinfo - ClearMessageInfo(); - } - else - { // Portrait mode - Title in navipane/messageinfo - _IND_STATE( MessageInfo ) = EAknIndicatorStateOn; - indicContainerEditing->_SET_INDIC( MessageInfo ); - indicContainerOwn->_SET_INDIC( MessageInfo ); - indicContainerEditing->SetIndicatorValueL( - TUid::Uid( _AKN_IND( MessageInfo ) ), *iTitle); - indicContainerOwn->SetIndicatorValueL( - TUid::Uid( _AKN_IND( MessageInfo ) ), *iTitle); - } - - CEikStatusPane* sp = STATIC_CAST( CAknAppUi*, - CEikonEnv::Static()->EikAppUi() )->StatusPane(); - CAknTitlePane* title = STATIC_CAST( CAknTitlePane*, - sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); - title->SetTextL( *iTitle ); - } - else - { - if( ( iEditorIndicatorContainer != NULL ) - && ( AknStatuspaneUtils::StaconPaneActive() ) ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - //turn off other indicator, because both are visible in landscape mode - _IND_STATE( MessageInfo ) = EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC2( MessageInfo, ETrue ); - indicContainerOwn->_SET_INDIC2( MessageInfo, ETrue ); - } - - // Set title to be page title - CEikStatusPane* sp = STATIC_CAST( CAknAppUi*, - CEikonEnv::Static()->EikAppUi() )->StatusPane(); - CAknTitlePane* title = STATIC_CAST( CAknTitlePane*, - sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); - title->SetTextL( *iTitle ); - } - -#ifndef __WINSCW__ - // Wireless Lan Indicator - TInt wlanStateValue; - StartWlanObserverL(); // if needed - if ( iWlanObserver && iWlanObserver->GetCurrentState(wlanStateValue) ) - { - UpdateWlanIndicator(wlanStateValue); - } -#endif // __WINSCW__ - - // Multiple Windows Indicator - TInt winCount = iApiProvider.WindowMgr().WindowCount(); - TBool showMWIndic = (( winCount > 1 ) && - (ApiProvider().LastActiveViewId() == KUidBrowserContentViewId )) ? - ETrue : EFalse; - UpdateMultipleWindowsIndicatorL( showMWIndic, winCount ); - } -PERFLOG_STOP_WRITE("BrDsply:RestoreTitle") - } - -// --------------------------------------------------------- -// CBrowserDisplay::SetTitleL() -// --------------------------------------------------------- -// -void CBrowserDisplay::SetTitleL( TInt aResourceId ) - { - HBufC* title = CEikonEnv::Static()->AllocReadResourceLC( aResourceId ); - SetTitleL( *title ); - CleanupStack::PopAndDestroy(); // title - } - -// --------------------------------------------------------- -// CBrowserDisplay::StartProgressAnimationL() -// --------------------------------------------------------- -// -void CBrowserDisplay::StartProgressAnimationL() - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START -LOG_ENTERFN( "Display::StartProgressAnimationL" ); -BROWSER_LOG( ( _L("myWindow: %d, active: %d"), - iWindow->WindowId(), iWindow->IsWindowActive() ) ); - if ( iApiProvider.IsProgressShown() ) - { - // ProgressIndicator doesn't have pointer to its Window or parent Display - // so check validity here - if( iWindow->IsWindowActive() ) - { - iProgressIndicator->StartL(); - } - // start globe animation - iApiProvider.StartProgressAnimationL(); - } -PERFLOG_STOP_WRITE("BrDsply: StartPrgAnim") - } - -// --------------------------------------------------------- -// CBrowserDisplay::StopProgressAnimationL() -// --------------------------------------------------------- -// -void CBrowserDisplay::StopProgressAnimationL() - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START -LOG_ENTERFN( "Display::StopProgressAnimationL" ); -BROWSER_LOG( ( _L("myWindow: %d"), iWindow->WindowId() ) ); - if ( iApiProvider.IsProgressShown() ) - { - // always stop spinning globe in FavouritesView - // most of the cases View::DoDeactivateL() does it - // other: e.g. Cancel load in BookmarksView - iApiProvider.StopProgressAnimationL(); - - if ( !ApiProvider().Fetching() ) - { - if ( iEditorIndicatorContainer != NULL ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - - _IND_STATE( FileSize ) = EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( FileSize ); - indicContainerOwn->_SET_INDIC( FileSize ); - - indicContainerOwn->SetIndicatorValueL( - TUid::Uid( _AKN_IND( FileSize ) ), KNullDesC() ); - - _IND_STATE( ProgressBar ) = EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( ProgressBar ); - indicContainerOwn->_SET_INDIC( ProgressBar ); - - if( iTitle ) - { - RestoreTitleL(); - } - iApiProvider.SetProgressShown( EFalse ); - } - iProgressIndicator->StopL(); - } - } - PERFLOG_STOP_WRITE("BrDsply: StopPrgAnim") - } - -// --------------------------------------------------------- -// CBrowserDisplay::SelectIndicContainerEditing() -// --------------------------------------------------------- -// -CAknIndicatorContainer* CBrowserDisplay::SelectIndicContainerEditing() - { - CAknIndicatorContainer* indicContainer1 = CAknEnv::Static()-> - EditingStateIndicator()->IndicatorContainer(); - return indicContainer1; - } - -// --------------------------------------------------------- -// CBrowserDisplay::SelectIndicContainerOwn() -// --------------------------------------------------------- -// -CAknIndicatorContainer* CBrowserDisplay::SelectIndicContainerOwn() - { - CAknIndicatorContainer* indicContainer2 = STATIC_CAST( - CAknIndicatorContainer*, iEditorIndicatorContainer->DecoratedControl() ); - return indicContainer2; - } - -// --------------------------------------------------------- -// CBrowserDisplay::InitIndicatorsL() -// --------------------------------------------------------- -// -void CBrowserDisplay::InitIndicatorsL() - { - PERFLOG_LOCAL_INIT - PERFLOG_STOPWATCH_START - - if (iEditorIndicatorContainer) - { - return; - } - - if ((iEditorIndicatorContainer == NULL)) - { - PERFLOG_LOCAL_INIT - PERFLOG_STOPWATCH_START - iEditorIndicatorContainer = NaviPaneL()->CreateEditorIndicatorContainerL(); - PERFLOG_STOP_WRITE(" -> BrDsply: EditorContainer") - } - - PERFLOG_STOPWATCH_START - CAknIndicatorContainer* indicContainer = SelectIndicContainerOwn(); - - _IND_STATE( SecuredConnection ) = EAknIndicatorStateOff; - _IND_STATE( MessageInfo ) = EAknIndicatorStateOff; - _IND_STATE( ProgressBar ) = EAknIndicatorStateOff; - // _IND_STATE( WaitBar ) = EAknIndicatorStateOff; - // _IND_STATE( T9 ) = EAknIndicatorStateOff; - // _IND_STATE( UpperCase ) = EAknIndicatorStateOff; - // _IND_STATE( LowerCase ) = EAknIndicatorStateOff; - // _IND_STATE( AudioAttached ) = EAknIndicatorStateOff; - // _IND_STATE( Objects ) = EAknIndicatorStateOff; - // _IND_STATE( WmlWaitGlobe ) = EAknIndicatorStateOff; - _IND_STATE( Gprs ) = EAknIndicatorStateOn; - - _IND_STATE( WlanAvailable ) = EAknIndicatorStateOff; - _IND_STATE( WlanActive ) = EAknIndicatorStateOff; - _IND_STATE( WlanActiveSecure ) = EAknIndicatorStateOff; - - _IND_STATE( FileSize ) = EAknIndicatorStateOff; - // _IND_STATE( MessageLength ) = EAknIndicatorStateOff; - _IND_STATE( WmlWindows ) = EAknIndicatorStateOff; - _IND_STATE( WmlWindowsText ) = EAknIndicatorStateOff; - - indicContainer->_SET_INDIC( SecuredConnection ); - indicContainer->_SET_INDIC( MessageInfo ); - indicContainer->_SET_INDIC( ProgressBar ); - // indicContainer->_SET_INDIC( WaitBar ); - // indicContainer->_SET_INDIC( T9 ); - // indicContainer->_SET_INDIC( UpperCase ); - // indicContainer->_SET_INDIC( LowerCase ); - // indicContainer->_SET_INDIC( AudioAttached ); - // indicContainer->_SET_INDIC( Objects ); - // indicContainer->_SET_INDIC( WmlWaitGlobe ); - indicContainer->_SET_INDIC( Gprs ); - - indicContainer->_SET_INDIC( WlanAvailable ); - indicContainer->_SET_INDIC( WlanActive ); - indicContainer->_SET_INDIC( WlanActiveSecure ); - - indicContainer->_SET_INDIC( FileSize ); - // indicContainer->_SET_INDIC( MessageLength ); - indicContainer->_SET_INDIC( WmlWindows ); - indicContainer->_SET_INDIC( WmlWindowsText ); - PERFLOG_STOP_WRITE( "Display:InitIndicators") - } - -// --------------------------------------------------------- -// CBrowserDisplay::UpdateSecureIndicatorL() -// --------------------------------------------------------- -// -void CBrowserDisplay::UpdateSecureIndicatorL( const TInt aState ) - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - if( !iApiProvider.ExitInProgress() ) - { - SetFullScreenSecureIndicatorL(aState); - NaviPaneL()->DrawDeferred(); - } -PERFLOG_STOP_WRITE( "Display:UpdateSecureIndicator") - } - -// --------------------------------------------------------- -// CBrowserDisplay::UpdateFSDownloadInitialIndicator() -// --------------------------------------------------------- -// -void CBrowserDisplay::UpdateFSDownloadInitialIndicator( const TBool aState ) - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - if( !iEditorIndicatorContainer ) - { - InitIndicatorsL(); - } - - if ( iApiProvider.IsProgressShown() && ( iEditorIndicatorContainer != NULL ) ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - if (aState) - { - ClearMessageInfo(); - - _IND_STATE( FileSize ) = EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( FileSize ); - indicContainerOwn->_SET_INDIC( FileSize ); - } - } -PERFLOG_STOP_WRITE("BrDsply: GlobeAnimation init") - } - -// --------------------------------------------------------- -// CBrowserDisplay::SetGPRSIndicatorOnL() -// --------------------------------------------------------- -// -void CBrowserDisplay::SetGPRSIndicatorOnL() - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - if ( iEditorIndicatorContainer != NULL ) - { - // Set GPRS indicator on, it will update itself - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - _IND_STATE( Gprs ) = EAknIndicatorStateOn; - indicContainerEditing->_SET_INDIC( Gprs ); - indicContainerOwn->_SET_INDIC( Gprs ); - } -PERFLOG_STOP_WRITE("BrDsply: Gprsidic on") - } - -// --------------------------------------------------------- -// CBrowserDisplay::UpdateWlanIndicator() -// --------------------------------------------------------- -// -void CBrowserDisplay::UpdateWlanIndicator( const TInt aWlanValue ) - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - - if ( iEditorIndicatorContainer != NULL ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - - _IND_STATE( WlanAvailable ) = EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( WlanAvailable ); - indicContainerOwn->_SET_INDIC( WlanAvailable ); - - _IND_STATE( WlanActive ) = EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( WlanActive ); - indicContainerOwn->_SET_INDIC( WlanActive ); - - _IND_STATE( WlanActiveSecure ) = EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( WlanActiveSecure ); - indicContainerOwn->_SET_INDIC( WlanActiveSecure ); - - switch (aWlanValue) - { - case EPSWlanIndicatorNone: - { - // do nothing. - break; - } - - case EPSWlanIndicatorAvailable: - { - _IND_STATE( WlanAvailable ) = EAknIndicatorStateOn; - indicContainerEditing->_SET_INDIC( WlanAvailable ); - indicContainerOwn->_SET_INDIC( WlanAvailable ); - break; - } - - case EPSWlanIndicatorActive: - { - _IND_STATE( WlanActive ) = EAknIndicatorStateOn; - indicContainerEditing->_SET_INDIC( WlanActive ); - indicContainerOwn->_SET_INDIC( WlanActive ); - break; - } - - case EPSWlanIndicatorActiveSecure: - { - - _IND_STATE( WlanActiveSecure ) = EAknIndicatorStateOn; - indicContainerEditing->_SET_INDIC( WlanActiveSecure ); - indicContainerOwn->_SET_INDIC( WlanActiveSecure ); - break; - } - - default: - { - // do nothing. - break; - } - } - } -PERFLOG_STOP_WRITE("BrDsply: UpdateWlanIndicator") - } - -// --------------------------------------------------------- -// CBrowserDisplay::StartWlanObserverL() -// --------------------------------------------------------- -// -void CBrowserDisplay::StartWlanObserverL() - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - - if (iWlanObserver == NULL) - { - iWlanObserver = new ( ELeave ) CWlanObserver( iApiProvider ); - } - -PERFLOG_STOP_WRITE("BrDsply: Wlan Observer Started") - } - -// --------------------------------------------------------- -// CBrowserDisplay::SetFullScreenSecureIndicatorL() -// --------------------------------------------------------- -// -void CBrowserDisplay::SetFullScreenSecureIndicatorL(const TBool aState) - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START - _IND_STATE( SecuredConnection ) = aState; - if ( iEditorIndicatorContainer != NULL && iWindow->IsWindowActive() ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - _IND_STATE( SecuredConnection ) = aState ? - EAknIndicatorStateOn : EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( SecuredConnection ); - indicContainerOwn->_SET_INDIC( SecuredConnection ); - } -PERFLOG_STOP_WRITE("BrDsply: Secure indic upd") - } - -// --------------------------------------------------------- -// CBrowserDisplay::AddTransActIdL() -// --------------------------------------------------------- -// -void CBrowserDisplay::AddTransActIdL( TUint16 aId ) const - { - iProgressIndicator->AddTransActIdL( aId ); - } - -// --------------------------------------------------------- -// CBrowserDisplay::AddProgressDataL() -// --------------------------------------------------------- -// -void CBrowserDisplay::AddProgressDataL( - TUint16 aId, TUint32 aRecvdData, TUint32 aMaxData ) const - { - iProgressIndicator->AddProgressDataL( aId, aRecvdData, aMaxData ); - } - -// --------------------------------------------------------- -// CBrowserDisplay::TransActIdComplete() -// --------------------------------------------------------- -// -void CBrowserDisplay::TransActIdComplete( TUint16 aId ) const - { - TRAP_IGNORE( iProgressIndicator->TransActIdCompleteL( aId ) ); - } - -// --------------------------------------------------------- -// CBrowserDisplay::StartFSWaitIndicator() -// --------------------------------------------------------- -// -void CBrowserDisplay::StartFSWaitIndicator() - { - if( iEditorIndicatorContainer != NULL && - iWindow->IsWindowActive() ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - } - } - -// --------------------------------------------------------- -// CBrowserDisplay::UpdateFSProgressIndicator() -// --------------------------------------------------------- -// -void CBrowserDisplay::UpdateFSProgressIndicator( const TInt aMaxData, - const TInt aReceivedData ) - { -PERFLOG_LOCAL_INIT -PERFLOG_STOPWATCH_START -LOG_ENTERFN("UpdateFSProgressIndicator"); -BROWSER_LOG( ( _L( "maxData: %d, recData: %d" ), aMaxData, aReceivedData ) ); - if ( iApiProvider.IsProgressShown() && - ( iEditorIndicatorContainer != NULL ) && - iWindow->IsWindowActive() ) - { - CAknIndicatorContainer* indicContainerEditing = SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - - if( indicContainerEditing->IndicatorState( - TUid::Uid( EAknNaviPaneEditorIndicatorProgressBar ) ) - != EAknIndicatorStateOn || - indicContainerOwn->IndicatorState( - TUid::Uid( EAknNaviPaneEditorIndicatorProgressBar ) ) - != EAknIndicatorStateOn - ) - { - _IND_STATE( ProgressBar ) = EAknIndicatorStateOn; - indicContainerEditing->_SET_INDIC2( ProgressBar, ETrue ); - indicContainerOwn->_SET_INDIC2( ProgressBar, ETrue ); - } - - indicContainerEditing->SetIndicatorValue( - TUid::Uid( EAknNaviPaneEditorIndicatorProgressBar ), - aReceivedData, aMaxData ); - indicContainerOwn->SetIndicatorValue( - TUid::Uid( EAknNaviPaneEditorIndicatorProgressBar ), - aReceivedData, aMaxData ); - } -PERFLOG_STOP_WRITE("BrDsply: Prg indic upd") - } - -// --------------------------------------------------------- -// CBrowserDisplay::UpdateFSProgressDataL() -// --------------------------------------------------------- -// -void CBrowserDisplay::UpdateFSProgressDataL( const TDesC16& aReceivedDataText ) - { - PERFLOG_LOCAL_INIT - PERFLOG_STOPWATCH_START - if ( iApiProvider.IsProgressShown() &&( iEditorIndicatorContainer != NULL ) ) - { - CAknIndicatorContainer* indicContainerEditing = - SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - - if( indicContainerEditing->IndicatorState( - TUid::Uid( EAknNaviPaneEditorIndicatorMessageInfo ) ) - != EAknIndicatorStateOff ) - { - ClearMessageInfo(); - } - - if( indicContainerEditing->IndicatorState( - TUid::Uid( EAknNaviPaneEditorIndicatorFileSize ) ) - != EAknIndicatorStateOn || - indicContainerOwn->IndicatorState( - TUid::Uid( EAknNaviPaneEditorIndicatorFileSize ) ) - != EAknIndicatorStateOn ) - { - _IND_STATE( FileSize ) = EAknIndicatorStateOn; - indicContainerEditing->_SET_INDIC( FileSize ); - indicContainerOwn->_SET_INDIC( FileSize ); - } - - indicContainerEditing->SetIndicatorValueL( - TUid::Uid( _AKN_IND( FileSize ) ), aReceivedDataText ); - indicContainerOwn->SetIndicatorValueL( - TUid::Uid( _AKN_IND( FileSize ) ), aReceivedDataText ); - - NaviPaneL()->PushL( *iEditorIndicatorContainer ); - } - PERFLOG_STOP_WRITE("BrDsply: Prg data upd") - } - - -// --------------------------------------------------------- -// CBrowserDisplay::FSPaneOnL() -// --------------------------------------------------------- -// -void CBrowserDisplay::FSPaneOnL() - { - InitIndicatorsL(); - NaviPaneL()->PushL(*iEditorIndicatorContainer); - } - -// --------------------------------------------------------- -// CBrowserDisplay::NotifyProgress() -// --------------------------------------------------------- -// -void CBrowserDisplay::NotifyProgress() - { - if ( iProgressIndicator != NULL && iWindow->IsWindowActive() ) - { - iProgressIndicator->NotifyProgress(); - } - } - -// ---------------------------------------------------------------------------- -// CBrowserDisplay::UpdateMultipleWindowsIndicatorL() -// ---------------------------------------------------------------------------- -// -void CBrowserDisplay::UpdateMultipleWindowsIndicatorL( - TBool aState, TInt aWinCount ) - { - LOG_ENTERFN("CBrowserDisplay::UpdateMultipleWindowsIndicatorL"); - - if ( iEditorIndicatorContainer != NULL ) - { - CAknIndicatorContainer* indicContainerEditing = - SelectIndicContainerEditing(); - CAknIndicatorContainer* indicContainerOwn = SelectIndicContainerOwn(); - - // Show or hide MW Icon - _IND_STATE( WmlWindows ) = aState ? - EAknIndicatorStateOn : EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( WmlWindows ); - indicContainerOwn->_SET_INDIC( WmlWindows ); - - // Show or hide text indicator - _IND_STATE( WmlWindowsText ) = aState ? - EAknIndicatorStateOn : EAknIndicatorStateOff; - indicContainerEditing->_SET_INDIC( WmlWindowsText ); - indicContainerOwn->_SET_INDIC( WmlWindowsText ); - - if ( aState ) - { - // MW Indicator is made of an indicator icon and a number (num wins) - - // Display Number of windows open in text indicator - HBufC* numWins = HBufC::NewLC( 3 ); - numWins->Des().AppendNum( aWinCount ); - numWins->Des().Append( KBrowserSpaceChar ); - indicContainerEditing->SetIndicatorValueL( - TUid::Uid( _AKN_IND( WmlWindowsText ) ), *numWins ); - indicContainerOwn->SetIndicatorValueL( - TUid::Uid( _AKN_IND( WmlWindowsText ) ), *numWins ); - CleanupStack::PopAndDestroy( numWins ); - } - } - } - -// End of File