photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp
branchRCL_3
changeset 17 a60acebbbd9d
parent 15 191387a8b767
child 18 78ad99c24f08
equal deleted inserted replaced
15:191387a8b767 17:a60acebbbd9d
   492 // 
   492 // 
   493 void CGlxGridViewMLObserver::RefreshScreen(TInt aItemIndex,
   493 void CGlxGridViewMLObserver::RefreshScreen(TInt aItemIndex,
   494                                       const RArray<TMPXAttribute>& aAttributes)
   494                                       const RArray<TMPXAttribute>& aAttributes)
   495     {
   495     {
   496     TRACER("CGlxGridViewMLObserver::RefreshScreen()");
   496     TRACER("CGlxGridViewMLObserver::RefreshScreen()");
       
   497     GLX_DEBUG2("CGlxGridViewMLObserver::RefreshScreen(%d)", aItemIndex);
   497     TInt mediaCount = iMediaList.Count();
   498     TInt mediaCount = iMediaList.Count();
   498     TInt firstIndex = iHgGrid->FirstIndexOnScreen();
   499     TInt firstIndex = iHgGrid->FirstIndexOnScreen();
   499     firstIndex = (firstIndex<0 ? 0 : firstIndex);
   500     firstIndex = (firstIndex<0 ? 0 : firstIndex);
   500     TInt lastOnScreen = firstIndex + iHgGrid->ItemsOnScreen() - 1;
   501     TInt lastOnScreen = firstIndex + iHgGrid->ItemsOnScreen() - 1;
   501     lastOnScreen = (lastOnScreen >mediaCount-1? mediaCount-1:lastOnScreen);
   502     lastOnScreen = (lastOnScreen >mediaCount-1? mediaCount-1:lastOnScreen);
   502     if (mediaCount < iItemsPerPage || aItemIndex == firstIndex)
   503     if (mediaCount < iItemsPerPage || aItemIndex == firstIndex)
   503         {
   504         {
   504         if (aItemIndex == firstIndex && HasRelevantThumbnail(firstIndex))
   505         if (aItemIndex == firstIndex && HasRelevantThumbnail(firstIndex)
       
   506                 && HasRelevantThumbnail(lastOnScreen))
   505             {
   507             {
   506             GLX_DEBUG2("## GridMLObserver::HandleAttributesAvailableL()"
   508             GLX_DEBUG2("## GridMLObserver::HandleAttributesAvailableL()"
   507                      " RefreshScreen - firstIndex(%d)", firstIndex);
   509                      " RefreshScreen - firstIndex(%d)", firstIndex);
   508             iHgGrid->RefreshScreen(firstIndex);
   510             iHgGrid->RefreshScreen(firstIndex);
   509             }
   511             }
   510         else if (aItemIndex > firstIndex && aItemIndex <= lastOnScreen)
   512         else if (aItemIndex > firstIndex && aItemIndex <= lastOnScreen)
   511             {
   513             {
   512             if ( HasRelevantThumbnail(lastOnScreen) )
   514             if (HasRelevantThumbnail(lastOnScreen) && HasRelevantThumbnail(
       
   515                     firstIndex))
   513                 {
   516                 {
   514                 GLX_DEBUG2("GridMLObserver::HandleAttributesAvailableL()"
   517                 GLX_DEBUG2("GridMLObserver::HandleAttributesAvailableL()"
   515                         " RefreshScreen - aItemIndex(%d)", aItemIndex);					
   518                         " RefreshScreen - aItemIndex(%d)", aItemIndex);					
   516                 iHgGrid->RefreshScreen(aItemIndex);
   519                 iHgGrid->RefreshScreen(aItemIndex);
   517                 }
   520                 }