photosgallery/contentharvesterplugin/src/glxcontentharvesterplugintags.cpp
changeset 2 7d9067c6fcb1
parent 1 9ba538e329bd
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugintags.cpp	Thu Jan 07 12:46:23 2010 +0200
+++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugintags.cpp	Mon Jan 18 20:19:20 2010 +0200
@@ -38,13 +38,8 @@
 #include "glxcontentharvesterplugin.hrh"
 #include "glxmapconstants.h"
 
+
 // ============================ MEMBER FUNCTIONS ==============================
-LOCAL_C TInt TimerCallbackL( TAny* aPtr )
-    {
-    TRACER( "CGlxContentHarvesterPluginTags::TimerCallbackL" );
-    static_cast<CGlxContentHarvesterPluginTags*>(aPtr)->UpdateDataL();
-    return KErrNone;
-    }
 
 // ----------------------------------------------------------------------------
 // Constructor
@@ -71,8 +66,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);
 
@@ -108,12 +101,6 @@
     TRACER( "CGlxContentHarvesterPluginTags::~CGlxContentHarvesterPluginTags" );
 
     DestroyMedialist();
-    if ( iPeriodic )
-        {
-        iPeriodic->Cancel();
-        }
-    delete iPeriodic;
-
     }
 
 // ----------------------------------------------------------------------------
@@ -123,30 +110,31 @@
 void CGlxContentHarvesterPluginTags::UpdateDataL() 
     {
     TRACER( "CGlxContentHarvesterPluginTags::UpdateDataL" );
-    if(iMediaList && iMediaList->Count() && iPreviewItemCount.Count() )
+    
+    if (!iMediaList)
         {
-        GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::UpdateDataL(),iProgressIndex=%d",iProgressIndex);
-        TInt ret = UpdateItem(iPreviewItemCount[iProgressIndex]);
-        if(ret != KErrNotFound)
+        return;
+        }
+
+    if (iMediaList->Count())
+        {
+        TInt ret = UpdateItem(KPreviewItemIndex);
+        if (ret != KErrNotFound)
             {
             //Updates the thumbnail in the collection 
             UpdateDataInCPSL(ret);
             }
-        else
-            {
-            UpdateDataInCPSL(GetBitmapHandle());
-            }
         }
     else
         {
         // Show previous thumbnail until the new thumbnail is
         // fecthed.Added this check to avoid flicker
-        if(!GetCHPlugin()->IsRefreshNeeded() || (iMediaList->Count() == 0))
-        	{
-			//Don't Show the Thumbnail/Show nothing
-			GLX_LOG_INFO("CGlxContentHarvesterPluginTags::UpdateDataL() --O");
-			UpdateDataInCPSL(GetBitmapHandle());
-        	}
+        if (!GetCHPlugin()->IsRefreshNeeded() || (iMediaList->Count() == 0))
+            {
+            //Don't Show the Thumbnail/Show nothing
+            GLX_LOG_INFO("CGlxContentHarvesterPluginTags::UpdateDataL() --O");
+            UpdateDataInCPSL(GetBitmapHandle());
+            }
         }
     }
 
@@ -165,51 +153,6 @@
     return KErrNone;
     }
 
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleItemChanged()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleItemChanged()
-    {
-    TRACER("CGlxContentHarvesterPluginTags::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("CGlxContentHarvesterPluginTags:: 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 in Focus,retrieve only one thumbnail and break
-                    GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::HandleItemChanged,iRange=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("CGlxContentHarvesterPluginTags::HandleItemChanged,iRange=15,aItemIndex=%d",aItemIndex);
-                    break;
-                    }
-
-                }
-            }
-        }
-    }
 
 // ----------------------------------------------------------------------------
 // CGlxContentHarvesterPluginTags::UpdateDataInCPSL()
@@ -252,14 +195,6 @@
     const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
     if (value)
         {
-        GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::UpdateItem,iProgressIndex=%d ",iProgressIndex);
-        iProgressIndex++;
-        if (iProgressIndex >= KPreviewThumbnailFetchCount || 
-                iProgressIndex >= iPreviewItemCount.Count() ||
-                iProgressIndex >= iMediaList->Count())
-            {
-            iProgressIndex = 0;
-            }
         return value->iBitmap->Handle();
         }
     return KErrNotFound;
@@ -276,7 +211,7 @@
     GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::ActivateL aOn =%d",aOn);
     SetFocus(aOn);
 
-    if (IsMatrixMenuInForegroundL() && aOn && !iPeriodic->IsActive() )
+    if (IsMatrixMenuInForegroundL() && aOn )
         {
         if(GetCHPlugin()->IsRefreshNeeded())
             {
@@ -289,10 +224,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 )
         {
@@ -303,7 +234,6 @@
             GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::ActivateL !aOn =%d and matrix not in foreground",aOn);
             GetCHPlugin()->UpdatePlugins(aOn);    
             }
-        iPeriodic->Cancel();
         }
     }
 
@@ -370,25 +300,12 @@
         if (value)
             {
             GLX_LOG_INFO("CGlxContentHarvesterPluginTags::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("CGlxContentHarvesterPluginTags::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("CGlxContentHarvesterPluginTags::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
     }
@@ -460,17 +377,8 @@
     TRACER( "CGlxContentHarvesterPluginTags::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 );
-            }
-
+    
         iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId( 
         		KGlxTagCollectionPluginImplementationUid ),
         		iUriAttributeContext, iThumbnailAttributeContext); 
@@ -491,10 +399,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
@@ -503,28 +409,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
@@ -538,7 +428,7 @@
 	        RemoveContextAndObserver();
 	        AddContextAndObserverL();
 			}
-        }
+	
     }
 
 // ---------------------------------------------------------------------------