diff -r 72396548277c -r aa2fa096cbfb ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp --- a/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Fri May 28 21:11:54 2010 +0530 +++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Fri Jun 11 17:53:15 2010 +0530 @@ -34,8 +34,6 @@ #include #include #include -#include -#include #include #include //internal includes @@ -88,11 +86,15 @@ // might leave. // --------------------------------------------------------------------------- // -GlxMLWrapperPrivate::GlxMLWrapperPrivate(GlxMLWrapper* aMLWrapper): iMLWrapper(aMLWrapper), - iGridContextActivated(EFalse), iLsFsContextActivated(EFalse), - iPtFsContextActivated(EFalse), iPtListContextActivated(EFalse), - iSelectionListContextActivated(EFalse) - { +GlxMLWrapperPrivate::GlxMLWrapperPrivate(GlxMLWrapper* aMLWrapper) + : iMLWrapper(aMLWrapper), + iGridContextActivated(EFalse), + iLsFsContextActivated(EFalse), + iPtFsContextActivated(EFalse), + iPtListContextActivated(EFalse), + iSelectionListContextActivated(EFalse), + iDetailsContextActivated(EFalse) +{ TRACER("GlxMLWrapperPrivate::GlxMLWrapperPrivate"); iGridThumbnailContext = NULL; iPtFsThumbnailContext = NULL; @@ -102,7 +104,6 @@ iListThumbnailContext = NULL; iFocusGridThumbnailContext = NULL; iFocusFsThumbnailContext = NULL; - iFilmStripThumbnailContext = NULL; iFavouriteContext = NULL; iTitleFetcher = NULL; iViewTitle = QString(); @@ -163,9 +164,13 @@ { TRAP(err, SetThumbnailContextL(aContextMode) ); //todo add a trap here } - else if(aContextMode == GlxContextFavorite) + else if(aContextMode == GlxContextFavorite) + { + TRAP(err,SetFavouriteContextL()); + } + else if(aContextMode == GlxContextComment) { - TRAP(err,SetFavouriteContextL()); + TRAP(err,SetDescontextL()); } else { @@ -177,6 +182,17 @@ } // --------------------------------------------------------------------------- +// RemoveContextMode +// --------------------------------------------------------------------------- +// +void GlxMLWrapperPrivate::RemoveContextMode(GlxContextMode aContextMode) +{ + if(aContextMode == GlxContextComment) + { + RemoveDescContext(); + } +} +// --------------------------------------------------------------------------- // SetFavouriteContextL // --------------------------------------------------------------------------- // @@ -279,9 +295,9 @@ } if(aContextMode == GlxContextLsFs && !iLsFsContextActivated) { - if(iGridContextActivated) { - RemoveGridContext(); - } + if(!iGridContextActivated) { + CreateGridContextL(); + } if(iPtFsContextActivated) { RemovePtFsContext(); } @@ -289,9 +305,9 @@ } if(aContextMode == GlxContextPtFs && !iPtFsContextActivated) { - if(iGridContextActivated) { - RemoveGridContext(); - } + if(!iGridContextActivated) { + CreateGridContextL(); + } if(iLsFsContextActivated) { RemoveLsFsContext(); } @@ -358,18 +374,11 @@ iFocusGridThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout. } - if(!iFilmStripThumbnailContext) - { - iFilmStripThumbnailContext = CGlxThumbnailContext::NewL( &iBlockyIteratorForFilmStrip ); // set the thumbnail context for Focus Grid - iFilmStripThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout. - } - // show static items if required iMediaList->SetStaticItemsEnabled(EFalse); - iMediaList->AddContextL(iFocusFsThumbnailContext, 8 ); // Temp will change this number - iMediaList->AddContextL(iFocusGridThumbnailContext, 9 ); // Temp will change this number - iMediaList->AddContextL(iFilmStripThumbnailContext, 7 ); // Temp will change this number - iMediaList->AddContextL(iLsFsThumbnailContext, KGlxFetchContextPriorityGridViewFullscreenVisibleThumbnail ); + iMediaList->AddContextL(iFocusFsThumbnailContext, KGlxFetchContextPriorityNormal ); // Temp will change this number + iMediaList->AddContextL(iFocusGridThumbnailContext, KGlxFetchContextPriorityNormal ); // Temp will change this number + iMediaList->AddContextL(iLsFsThumbnailContext, KGlxFetchContextPriorityNormal ); iLsFsContextActivated = ETrue; } } @@ -405,18 +414,11 @@ iFocusGridThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout. } - if(!iFilmStripThumbnailContext) - { - iFilmStripThumbnailContext = CGlxThumbnailContext::NewL( &iBlockyIteratorForFilmStrip ); // set the thumbnail context for Focus Grid - iFilmStripThumbnailContext->SetDefaultSpec( KGridTNPTWIdth, KGridTNPTHeight ); //todo get these image sizes from the layout. - } - // show static items if required iMediaList->SetStaticItemsEnabled(EFalse); - iMediaList->AddContextL(iFocusFsThumbnailContext, 8 ); // Temp will change this number - iMediaList->AddContextL(iFocusGridThumbnailContext, 9 ); // Temp will change this number - iMediaList->AddContextL(iFilmStripThumbnailContext, 7 ); // Temp will change this number - iMediaList->AddContextL(iPtFsThumbnailContext, KGlxFetchContextPriorityGridViewFullscreenVisibleThumbnail ); + iMediaList->AddContextL(iFocusFsThumbnailContext, KGlxFetchContextPriorityNormal ); // Temp will change this number + iMediaList->AddContextL(iFocusGridThumbnailContext, KGlxFetchContextPriorityNormal ); // Temp will change this number + iMediaList->AddContextL(iPtFsThumbnailContext, KGlxFetchContextPriorityNormal ); iPtFsContextActivated = ETrue; } } @@ -463,12 +465,6 @@ delete iFocusGridThumbnailContext; iFocusGridThumbnailContext = NULL; } - if(iFilmStripThumbnailContext) - { - iMediaList->RemoveContext(iFilmStripThumbnailContext); - delete iFilmStripThumbnailContext; - iFilmStripThumbnailContext = NULL; - } iLsFsContextActivated = EFalse; } @@ -499,12 +495,6 @@ delete iFocusGridThumbnailContext; iFocusGridThumbnailContext = NULL; } - if(iFilmStripThumbnailContext) - { - iMediaList->RemoveContext(iFilmStripThumbnailContext); - delete iFilmStripThumbnailContext; - iFilmStripThumbnailContext = NULL; - } iPtFsContextActivated = EFalse; } @@ -800,6 +790,18 @@ } // --------------------------------------------------------------------------- +// RetrieveListDesc +// --------------------------------------------------------------------------- +// +QString GlxMLWrapperPrivate::RetrieveListDesc(int aItemIndex) +{ + const TGlxMedia& item = iMediaList->Item( aItemIndex ); + const TDesC &commentstring = item.Comment(); + QString descstring = QString::fromUtf16(commentstring.Ptr(), commentstring.Length()); + return descstring; +} + +// --------------------------------------------------------------------------- // Retrieve number of image contained by album list // --------------------------------------------------------------------------- // @@ -864,6 +866,18 @@ } // --------------------------------------------------------------------------- +// RetrieveItemSize +// --------------------------------------------------------------------------- +// +int GlxMLWrapperPrivate::RetrieveItemSize(int aItemIndex) +{ + const TGlxMedia& item = iMediaList->Item( aItemIndex ); + int itemSize ; + item.GetSize(itemSize); + return itemSize; + } + +// --------------------------------------------------------------------------- // RetrieveItemDate // --------------------------------------------------------------------------- // @@ -882,6 +896,29 @@ } return date; } + +// --------------------------------------------------------------------------- +// RetrieveItemTime +// --------------------------------------------------------------------------- +// +QTime GlxMLWrapperPrivate::RetrieveItemTime(int index) + { + GLX_LOG_INFO1("GlxMLWrapperPrivate::RetrieveItemTime %d",index); + const TGlxMedia& item = iMediaList->Item( index ); + TTime TimeValue; + QTime time = QTime(); + TBool returnValue =item.GetDate(TimeValue); + + if(returnValue) + { + GLX_LOG_INFO1("GlxMLWrapperPrivate::RetrieveItemDate %d",returnValue); + TDateTime dateTime = TimeValue.DateTime(); + time = QTime(dateTime.Hour(),dateTime.Minute()); + } + return time; + } + + // --------------------------------------------------------------------------- // RetrieveFsBitmap @@ -997,7 +1034,9 @@ CheckLsFsTBAttribute(aItemIndex, aAttributes); if (iPtListContextActivated || iSelectionListContextActivated) CheckListAttributes(aItemIndex, aAttributes); - // } + if( iDetailsContextActivated && aItemIndex == iMediaList->FocusIndex() ) + CheckDetailsAttributes(aItemIndex, aAttributes); + } // --------------------------------------------------------------------------- // CheckGridTBAttribute @@ -1128,6 +1167,29 @@ return searchStatus; } + +// --------------------------------------------------------------------------- +// CheckDetailsAttributes +// --------------------------------------------------------------------------- +// +void GlxMLWrapperPrivate::CheckDetailsAttributes(TInt aItemIndex, const RArray& aAttributes) +{ + qDebug("GlxMLWrapperPrivate::CheckDetailsAttributes"); + TBool attribPresent = EFalse; + TMPXAttribute titleAttrib(KMPXMediaGeneralComment); + TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match ); + + const TGlxMedia& item = iMediaList->Item(aItemIndex); + + if (KErrNotFound != aAttributes.Find(titleAttrib, match)) + { + qDebug("GlxMLWrapperPrivate::CheckDetailsAttributes TRUE"); + attribPresent = ETrue; + iMLWrapper->handleDetailsItemAvailable(aItemIndex); + GLX_LOG_INFO1("### GlxMLWrapperPrivate::CheckDetailsAttributes title present %d",aItemIndex); + } +} + // --------------------------------------------------------------------------- // GetItemCount // --------------------------------------------------------------------------- @@ -1319,4 +1381,29 @@ return iMediaList->IsPopulated(); } - +// --------------------------------------------------------------------------- +// SetDescontextL +// --------------------------------------------------------------------------- +// +void GlxMLWrapperPrivate::SetDescontextL() + { + iDescContext = CGlxDefaultAttributeContext::NewL(); + iDescContext->AddAttributeL( KMPXMediaGeneralComment ); + iMediaList->AddContextL( iDescContext, KGlxFetchContextPriorityLow ); + iDetailsContextActivated = ETrue; + } + +// --------------------------------------------------------------------------- +// RemoveDescContext +// --------------------------------------------------------------------------- +// +void GlxMLWrapperPrivate::RemoveDescContext() + { + if(iDescContext ) + { + iMediaList->RemoveContext(iDescContext); + delete iDescContext; + iDescContext = NULL; + iDetailsContextActivated = EFalse; + } + }