--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginmonths.cpp Thu Jan 07 12:46:23 2010 +0200
+++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginmonths.cpp Mon Jan 18 20:19:20 2010 +0200
@@ -39,13 +39,8 @@
#include "glxcontentharvesterplugin.hrh"
#include "glxmapconstants.h"
+
// ============================ MEMBER FUNCTIONS ==============================
-LOCAL_C TInt TimerCallbackL( TAny* aPtr )
- {
- TRACER( "CGlxContentHarvesterPluginMonths::TimerCallbackL" );
- static_cast<CGlxContentHarvesterPluginMonths*>(aPtr)->UpdateDataL();
- return KErrNone;
- }
// ----------------------------------------------------------------------------
// Constructor
@@ -72,8 +67,6 @@
//Call the base class ConstructL to create default bitmap
CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated);
- iPeriodic = CPeriodic::NewL( CActive::EPriorityLow );
-
iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
@@ -107,12 +100,6 @@
{
TRACER( "CGlxContentHarvesterPluginMonths::~CGlxContentHarvesterPluginMonths" );
DestroyMedialist();
- if ( iPeriodic )
- {
- iPeriodic->Cancel();
- }
- delete iPeriodic;
-
}
// ----------------------------------------------------------------------------
@@ -122,19 +109,20 @@
void CGlxContentHarvesterPluginMonths::UpdateDataL()
{
TRACER( "CGlxContentHarvesterPluginMonths::UpdateDataL" );
- if(iMediaList && iMediaList->Count() && iPreviewItemCount.Count() )
+
+ if (!iMediaList)
{
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::UpdateDataL(),iProgressIndex=%d",iProgressIndex);
- TInt ret = UpdateItem(iPreviewItemCount[iProgressIndex]);
+ return;
+ }
+
+ if (iMediaList->Count())
+ {
+ TInt ret = UpdateItem(KPreviewItemIndex);
if(ret != KErrNotFound)
{
//Updates the thumbnail in the collection
UpdateDataInCPSL(ret);
}
- else
- {
- UpdateDataInCPSL(GetBitmapHandle());
- }
}
else
{
@@ -165,52 +153,6 @@
}
// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleItemChanged()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleItemChanged()
- {
- TRACER("CGlxContentHarvesterPluginMonths::HandleItemChanged");
-
- iProgressIndex = 0;
- iPreviewItemCount.Reset();
-
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- if(iMediaList)
- {
- TInt count = iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths:: HandleItemChanged ,count=%d",count);
-
- TBool inFocus = IsFocused();
- for(TInt aItemIndex = 0; aItemIndex < count; aItemIndex++)
- {
- const TGlxMedia& item = iMediaList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- iPreviewItemCount.InsertInOrder(aItemIndex);
- if(!inFocus)
- {
- //if the collection is NOT in Focus,retrieve only one thumbnail and break
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::HandleItemChanged,Range=1,aItemIndex=%d",aItemIndex);
- break;
- }
- else if(iPreviewItemCount.Count() == KPreviewThumbnailFetchCount ||
- iPreviewItemCount.Count() == count )
- {
- //if the collection is not in Focus,retrieve 15 thumbnail and break
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::HandleItemChanged,Range=15,aItemIndex=%d",aItemIndex);
- break;
- }
-
- }
- }
- }
- }
-
-// ----------------------------------------------------------------------------
// CGlxContentHarvesterPluginMonths::UpdateDataInCPSL()
// ----------------------------------------------------------------------------
//
@@ -251,14 +193,6 @@
const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
if (value)
{
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::UpdateItem,iProgressIndex=%d ",iProgressIndex);
- iProgressIndex++;
- if (iProgressIndex >= KPreviewThumbnailFetchCount ||
- iProgressIndex >= iPreviewItemCount.Count() ||
- iProgressIndex >= iMediaList->Count())
- {
- iProgressIndex = 0;
- }
return value->iBitmap->Handle();
}
return KErrNotFound;
@@ -275,7 +209,7 @@
GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::ActivateL aOn =%d",aOn);
SetFocus(aOn);
- if (IsMatrixMenuInForegroundL() && aOn && !iPeriodic->IsActive() )
+ if (IsMatrixMenuInForegroundL() && aOn )
{
if(GetCHPlugin()->IsRefreshNeeded())
{
@@ -288,10 +222,6 @@
//to update the thumbnails on the focus , need to call the below function
UpdatePreviewThumbnailListL();
}
-
- iPeriodic->Start( KTimerInterval,
- KTimerInterval,
- TCallBack( TimerCallbackL, this ) );
}
else if ( !aOn )
{
@@ -302,7 +232,6 @@
GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::ActivateL !aOn =%d and matrix not in foreground",aOn);
GetCHPlugin()->UpdatePlugins(aOn);
}
- iPeriodic->Cancel();
}
}
@@ -369,25 +298,12 @@
if (value)
{
GLX_LOG_INFO("CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL Thumbnail is present ");
- iPreviewItemCount.InsertInOrder(aItemIndex);
- //if the collection on the matrix menu is not focused,then show only one thumbnail
- if(!IsFocused())
- {
+ // Update the preview thumbnail
+ //remove the observer as client need not listen to the callbacks
GLX_LOG_INFO("CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL,one thumbnail fetched");
- UpdateDataInCPSL( value->iBitmap->Handle());
- //if one thumbnail is fetched,it is sufficent when the collection is not in focus.
- //remove the observer as client need not listen to the callbacks
- iMediaList->RemoveMediaListObserver( this );
- }
- else if (iPreviewItemCount.Count() == KPreviewThumbnailFetchCount ||
- iPreviewItemCount.Count() == aList->Count() )
- {
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL,media list count=%d",aList->Count());
- //if the PreviewItemCount equals 15 or if it is eqaul to the total count
- //remove the observer as client need not listen to the callbacks
- iMediaList->RemoveMediaListObserver( this );
- }
+ UpdateDataInCPSL( value->iBitmap->Handle());
+ iMediaList->RemoveMediaListObserver( this );
}//end of check against value
}//end of attribute match
}
@@ -459,16 +375,7 @@
TRACER( "CGlxContentHarvesterPluginMonths::CreateMedialistL" );
if(!iMediaList)
{
- //if the collection is in focus then , create media list with context of 15 items else
- // with context of single item.
- if(IsFocused())
- {
- iThumbnailIterator.SetRange( KPreviewThumbnailFetchCount );
- }
- else
- {
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- }
+ iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId(
KGlxCollectionPluginMonthsImplementationUid ),
@@ -489,10 +396,8 @@
//this function is executed or when the collection recives the focus.
if(!iMediaList)
{
- //medis list is not created yet,create it.
+ //media list is not created yet,create it.
CreateMedialistL( );
- //This is called to show the preview thumbnails. If no thumbnails are
- //present, display nothing
UpdateDataL();
}
else
@@ -501,28 +406,12 @@
{
ContainerCacheCleanupL(iMediaList);
}
- if(IsFocused())
- {
- //1.This loop is executed,when the collection gets focus
- //2.This loop is executed,when the contents are updated for this collection
- //and this collection has focus,so 15 thumbnails are fetched.
- HandleItemChanged();
- iThumbnailIterator.SetRange( KPreviewThumbnailFetchCount );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
- else
- {
- //1.This loop is executed,when the contents are updated for this collection
- //and this collection doesn't have the focus,so only one thumbnail is fetched.
- //here we need to fetch only one item
//1.if the content is deleted,then creating a context doesn't fetch the attributes
//2.if the content is added and the content is not the latest as per the sorted order of the
// media list,then the thumbnails are not fetched.
// so show the first available thumbnail in the media list.
- HandleItemChanged();
UpdateDataL();
//Adding the context doesn't gaurantee we get a call back for
@@ -536,7 +425,7 @@
RemoveContextAndObserver();
AddContextAndObserverL();
}
- }
+
}