diff -r bcb43dc84c44 -r 2dac0fdba72b photosgallery/viewframework/uiutilities/src/glxprogressindicator.cpp --- a/photosgallery/viewframework/uiutilities/src/glxprogressindicator.cpp Wed Mar 31 21:31:03 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/src/glxprogressindicator.cpp Wed Apr 14 15:57:24 2010 +0300 @@ -72,7 +72,7 @@ CGlxProgressIndicator::~CGlxProgressIndicator() { TRACER("CGlxProgressIndicator::~CGlxProgressIndicator()"); - if (iProgressbarTicker && iProgressbarTicker->IsActive()) + if (iProgressbarTicker) { iProgressbarTicker->Cancel(); delete iProgressbarTicker; @@ -83,13 +83,11 @@ } // Stop force generation of thumbnails when progress dialog is dismissed - CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL(); - CleanupClosePushL(*uiUtility); - if ( uiUtility ) - { - uiUtility->StopTNMDaemonL(); - } - CleanupStack::PopAndDestroy(uiUtility); + if (iUiUtility) + { + iUiUtility->StopTNMDaemon(); + iUiUtility->Close(); + } } // --------------------------------------------------------- @@ -99,39 +97,16 @@ void CGlxProgressIndicator::ConstructL() { TRACER("CGlxProgressIndicator::ConstructL()"); - CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL(); - CleanupClosePushL(*uiUtility); - TRAPD(err,uiUtility->StartTNMDaemonL()); + iUiUtility->StartTNMDaemon(); - if(err != KErrNone) - { - GLX_LOG_INFO1("CGlxProgressIndicator RProperty::Set errorcode %d",err); - //need to check what to do in fail cases - } if(!iProgressbarTicker) { iProgressbarTicker = CPeriodic::NewL(CActive::EPriorityStandard); } - iFinalCount = uiUtility->GetItemsLeftCountL(); + iFinalCount = iUiUtility->GetItemsLeftCount(); GLX_LOG_INFO1("final count in viewactivate = %d",iFinalCount); - - if(iFinalCount) - { - StartProgressNoteL(iFinalCount,ETrue); - if ( !iProgressbarTicker->IsActive()) - { - iProgressbarTicker->Start( KPeriodicStartDelay, KPeriodicStartDelay, TCallBack( - &PeriodicCallbackL, static_cast( this ) ) ); - } - } - else - { - GLX_LOG_INFO("Reset the RProperty flag to EFalse"); - uiUtility->StopTNMDaemonL(); - } - CleanupStack::PopAndDestroy(uiUtility); } @@ -153,16 +128,10 @@ inline void CGlxProgressIndicator::DisplayProgressBarL() { TRACER("CGlxProgressIndicator::DisplayProgressBarL"); - CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL(); - CleanupClosePushL(*uiUtility); - TInt itemsLeft = uiUtility->GetItemsLeftCountL(); - CleanupStack::PopAndDestroy(uiUtility); + TInt itemsLeft = iUiUtility->GetItemsLeftCount(); GLX_LOG_INFO1("itemsLeft in DisplayProgressBarL = %d",iFinalCount); - if(itemsLeft) - { - UpdateProgressBar(); - } - else + UpdateProgressBar(); + if(!itemsLeft) { if(iProgressbarTicker->IsActive()) { @@ -179,12 +148,14 @@ void CGlxProgressIndicator::StartProgressNoteL(TInt aFinalValue,TBool aShow) { TRACER("CGlxProgressIndicator::StartProgressNoteL()"); - + TInt itemsLeft = iUiUtility->GetItemsLeftCount(); if(aShow) { if(!iProgressDialog) { - iProgressDialog = new (ELeave)CAknProgressDialog((reinterpret_cast (&iProgressDialog)),ETrue); + iProgressDialog = new (ELeave) CAknProgressDialog( + (reinterpret_cast (&iProgressDialog)), + ETrue); } iProgressDialog->PrepareLC(R_PROGRESS_NOTE); @@ -197,7 +168,7 @@ iProgressDialog->SetTextL(*processingInfo); CleanupStack::PopAndDestroy(processingInfo ); iProgressInfo->SetFinalValue(aFinalValue); - + iProgressInfo->SetAndDraw(iFinalCount-itemsLeft); iProgressDialog->RunLD(); } else @@ -229,7 +200,7 @@ * GlxGeneralUiUtilities::FormatString(text,*processingInfo,-1,count,ETrue); * CleanupStack::PopAndDestroy(processingInfo); */ - iProgressInfo->SetAndDraw(CalculateDisplayBarIncrementL()); + iProgressInfo->SetAndDraw(CalculateDisplayBarIncrement()); } } @@ -240,10 +211,6 @@ void CGlxProgressIndicator::DialogDismissedL(TInt aButtonId) { TRACER("CGlxProgressIndicator::DialogDismissedL()"); - CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL(); - CleanupClosePushL(*uiUtility); - uiUtility->StopTNMDaemonL(); - CleanupStack::PopAndDestroy(uiUtility); if(iProgressbarTicker) { iProgressbarTicker->Cancel(); @@ -254,27 +221,65 @@ { iProgressDialog = NULL; iProgressInfo = NULL; - } + } + } + +// ----------------------------------------------------------------------------- +// CalculateDisplayBarIncrement +// ----------------------------------------------------------------------------- +// +TInt CGlxProgressIndicator::CalculateDisplayBarIncrement() + { + TRACER("CGlxProgressIndicator::CalculateDisplayBarIncrement()"); + + TInt itemsLeft = iUiUtility->GetItemsLeftCount(); + + if (iFinalCount < itemsLeft) + { + iProgressInfo->SetFinalValue(itemsLeft); + iFinalCount = itemsLeft; + } + + GLX_LOG_INFO1("CalculateDisplayBarIncrement = %d ",(iFinalCount - itemsLeft)); + return (iFinalCount - itemsLeft); } // ----------------------------------------------------------------------------- -// CalculateDisplayBarIncrementL +// ShowProgressbar // ----------------------------------------------------------------------------- -// -TInt CGlxProgressIndicator::CalculateDisplayBarIncrementL() +// +void EXPORT_C CGlxProgressIndicator::ShowProgressbarL() { - TRACER("CGlxProgressIndicator::CalculateDisplayBarIncrement()"); - CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL(); - CleanupClosePushL(*uiUtility); - TInt itemsLeft = uiUtility->GetItemsLeftCountL(); - CleanupStack::PopAndDestroy(uiUtility); - GLX_LOG_INFO1("CalculateDisplayBarIncrement = %d ",(iFinalCount - itemsLeft)); - - if(iFinalCount < itemsLeft) + TRACER("CGlxProgressIndicator::ShowProgressbarL"); + iUiUtility->StartTNMDaemon(); + TInt itemsLeft = iUiUtility->GetItemsLeftCount(); + + GLX_LOG_INFO1("ShowProgressbar itemsLeft = %d ",itemsLeft); + GLX_LOG_INFO1("ShowProgressbar iFinalCount = %d ",iFinalCount); + if (iFinalCount < itemsLeft) { - iProgressInfo->SetFinalValue( itemsLeft ); + /* + *if user is in List view and inserts the MMC,update the total count + */ iFinalCount = itemsLeft; } - - return (iFinalCount - itemsLeft); + if (iFinalCount) + { + StartProgressNoteL(iFinalCount, ETrue); + if (!iProgressbarTicker) + { + iProgressbarTicker = CPeriodic::NewL(CActive::EPriorityStandard); + } + if (!iProgressbarTicker->IsActive()) + { + iProgressbarTicker->Start(KPeriodicStartDelay, + KPeriodicStartDelay, TCallBack(&PeriodicCallbackL, + static_cast (this))); + } + } + else + { + GLX_LOG_INFO("Reset the RProperty flag to EFalse"); + iUiUtility->StopTNMDaemon(); + } }