--- 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 <glxattributecontext.h>
#include <glxuistd.h>
#include <glxlistdefs.h>
-#include <hal.h>
-#include <hal_data.h>
#include <glxmediaid.h>
#include <caf/caferr.h>
//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<TMPXAttribute>& 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;
+ }
+ }