photosgallery/viewframework/medialists/src/glxcachemanager.cpp
branchRCL_3
changeset 12 ce1c7ad1f18b
parent 11 71da52165949
child 13 bcb43dc84c44
--- a/photosgallery/viewframework/medialists/src/glxcachemanager.cpp	Fri Mar 12 15:42:44 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxcachemanager.cpp	Mon Mar 15 12:40:30 2010 +0200
@@ -320,7 +320,7 @@
 // HandleCollectionMediaL
 // -----------------------------------------------------------------------------
 //
-void CGlxCacheManager::HandleCollectionMediaL(const TGlxIdSpaceId& aIdSpaceId, const CMPXMedia& aMedia, TInt aError)
+void CGlxCacheManager::HandleCollectionMediaL(const TGlxIdSpaceId& aIdSpaceId, const CMPXMedia& aMedia, TInt aError, TBool aRequestNextAttr)
     {
     TRACER("CGlxCacheManager::HandleCollectionMediaL");
     
@@ -362,8 +362,10 @@
 
         CleanupStack::PopAndDestroy( &users );
         }
-    
-    MaintainCacheL();
+    if ( aRequestNextAttr )
+        {
+        MaintainCacheL();
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -647,6 +649,8 @@
                                 }
                             else
                                 {
+                                GLX_DEBUG1("GENERAL NON IV CASE - Fetch TN");
+                                GLX_DEBUG2("itemId = [%d] ", itemId.Value());
                                 CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(item.Uri(), 0);
                                 iThumbnailRequestIds.AppendL(TLoadingTN(
                                         iTnEngine->GetThumbnailL(*source), 
@@ -722,7 +726,17 @@
                                 RFile64& imageHandle = iImageViewerInstance->ImageFileHandle();
                                 if ( &imageHandle )
                                     {
-                                    fileName.Append(imageHandle.FullName(fileName));
+                                    if (iImageViewerInstance->IsPrivateGif())
+                                        {
+                                        __ASSERT_DEBUG(iImageViewerInstance->ImageUri(), Panic(EGlxPanicNullPointer));
+                                        fileName.Append(
+                                                iImageViewerInstance->ImageUri()->Des());
+                                        }
+                                    else
+                                        {
+                                        fileName.Append(imageHandle.FullName(
+                                                fileName));
+                                        }
                                     }
                                 else
                                     {
@@ -932,6 +946,11 @@
                             else if ( iRequestedAttrs[i] == KGlxMediaGeneralFramecount )
                                 {
                                 TInt fcount = 1;
+                                if(errInImage == KErrNone)
+                                    {
+                                    fcount = iReader->GetFrameCount();
+                                    }
+                                GLX_DEBUG2("Imageviewer Collection framecount(%d)", fcount);
                                 iMPXMedia->SetTObjectValueL(KGlxMediaGeneralFramecount, fcount);
                                 }
                             else if ( iRequestedAttrs[i] == KMPXMediaGeneralComment )
@@ -1499,17 +1518,12 @@
         iMPXMedia->SetNoNewLCObjectL(
                TMPXAttribute(KGlxMediaIdThumbnail, attributeId), tnAttribute);
         CleanupStack::PopAndDestroy(tnAttribute);
-
-        HandleCollectionMediaL(iThumbnailRequestIds[reqIndex].iSpaceId,
-                                                    *iMPXMedia, aError);
-        }
-    else
-        {
-        HandleCollectionMediaL(iThumbnailRequestIds[reqIndex].iSpaceId, 
-													*iMPXMedia, aError);
+        
         }
     
-    if (aQuality)
+     HandleCollectionMediaL(iThumbnailRequestIds[reqIndex].iSpaceId,
+                                                        *iMPXMedia, aError, aQuality);
+     if (aQuality)
         {
         FindLoadingById(aId, ETrue);
         }