89 // For DRm Utility |
88 // For DRm Utility |
90 iDRMUtility = CGlxDRMUtility::InstanceL(); |
89 iDRMUtility = CGlxDRMUtility::InstanceL(); |
91 |
90 |
92 CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL(); |
91 CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL(); |
93 iGridIconSize = uiUtility->GetGridIconSize(); |
92 iGridIconSize = uiUtility->GetGridIconSize(); |
94 //Get the HgContextUtility instance |
|
95 // iContextUtility = uiUtility->ContextUtility(); |
|
96 iItemsPerPage = uiUtility->VisibleItemsInPageGranularityL(); |
93 iItemsPerPage = uiUtility->VisibleItemsInPageGranularityL(); |
97 uiUtility->Close() ; |
94 uiUtility->Close() ; |
98 |
95 |
99 iQualityTnAttrib = TMPXAttribute (KGlxMediaIdThumbnail, |
96 iQualityTnAttrib = TMPXAttribute (KGlxMediaIdThumbnail, |
100 GlxFullThumbnailAttributeId( ETrue, iGridIconSize.iWidth, |
97 GlxFullThumbnailAttributeId( ETrue, iGridIconSize.iWidth, |
207 if (!iHgGrid) |
204 if (!iHgGrid) |
208 { |
205 { |
209 return; |
206 return; |
210 } |
207 } |
211 |
208 |
212 TInt mediaCount = iMediaList.Count(); |
|
213 const TGlxMedia& item = iMediaList.Item( aItemIndex ); |
|
214 TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match ); |
209 TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match ); |
215 |
|
216 if (KErrNotFound != aAttributes.Find( iQualityTnAttrib, match ) || |
210 if (KErrNotFound != aAttributes.Find( iQualityTnAttrib, match ) || |
217 KErrNotFound != aAttributes.Find( iSpeedTnAttrib, match )) |
211 KErrNotFound != aAttributes.Find( iSpeedTnAttrib, match )) |
218 { |
212 { |
|
213 const TGlxMedia& item = iMediaList.Item( aItemIndex ); |
219 TFileName resFile(KDC_APP_BITMAP_DIR); |
214 TFileName resFile(KDC_APP_BITMAP_DIR); |
220 resFile.Append(KGlxIconsFilename); |
215 resFile.Append(KGlxIconsFilename); |
221 TSize setSize = CHgGrid::PreferredImageSize(); |
216 TSize setSize = CHgGrid::PreferredImageSize(); |
222 TIconInfo icon; |
|
223 |
217 |
224 const CGlxThumbnailAttribute* qualityTn = item.ThumbnailAttribute( |
218 const CGlxThumbnailAttribute* qualityTn = item.ThumbnailAttribute( |
225 iQualityTnAttrib ); |
219 iQualityTnAttrib ); |
226 |
220 |
227 const CGlxThumbnailAttribute* speedTn = item.ThumbnailAttribute( |
221 const CGlxThumbnailAttribute* speedTn = item.ThumbnailAttribute( |
228 iSpeedTnAttrib ); |
222 iSpeedTnAttrib ); |
229 |
223 |
230 TInt tnError = GlxErrorManager::HasAttributeErrorL( |
224 TInt tnError = GlxErrorManager::HasAttributeErrorL( |
231 item.Properties(), KGlxMediaIdThumbnail ); |
225 item.Properties(), KGlxMediaIdThumbnail ); |
|
226 GLX_DEBUG4("GlxGridMLObs::HandleAttributesAvailableL() tnError(%d)" |
|
227 "qualityTn(%x) and speedTn(%x)", qualityTn, speedTn, tnError); |
232 |
228 |
233 if (qualityTn) |
229 if (qualityTn) |
234 { |
230 { |
235 CFbsBitmap* bitmap = new (ELeave) CFbsBitmap; |
231 CFbsBitmap* bitmap = new (ELeave) CFbsBitmap; |
236 bitmap->Duplicate( qualityTn->iBitmap->Handle()); |
232 bitmap->Duplicate(qualityTn->iBitmap->Handle()); |
237 AknIconUtils::SetSize(bitmap, setSize); |
|
238 iHgGrid->ItemL(aItemIndex).SetIcon(CGulIcon::NewL(bitmap)); |
233 iHgGrid->ItemL(aItemIndex).SetIcon(CGulIcon::NewL(bitmap)); |
239 GLX_LOG_INFO1("### CGlxGridViewMLObserver::HandleAttributesAvailableL" |
234 GLX_LOG_INFO1("### CGlxGridViewMLObserver::HandleAttributesAvailableL" |
240 " qualityTn-Index is %d",aItemIndex); |
235 " qualityTn-Index is %d",aItemIndex); |
241 } |
236 } |
242 else if (speedTn) |
237 else if (speedTn) |
243 { |
238 { |
244 CFbsBitmap* bitmap = new (ELeave) CFbsBitmap; |
239 CFbsBitmap* bitmap = new (ELeave) CFbsBitmap; |
245 bitmap->Duplicate( speedTn->iBitmap->Handle()); |
240 bitmap->Duplicate(speedTn->iBitmap->Handle()); |
246 AknIconUtils::SetSize(bitmap, setSize); |
|
247 iHgGrid->ItemL(aItemIndex).SetIcon(CGulIcon::NewL(bitmap)); |
241 iHgGrid->ItemL(aItemIndex).SetIcon(CGulIcon::NewL(bitmap)); |
248 GLX_LOG_INFO1("### CGlxGridViewMLObserver::HandleAttributesAvailableL" |
242 GLX_LOG_INFO1("### CGlxGridViewMLObserver::HandleAttributesAvailableL" |
249 " speedTn-Index is %d",aItemIndex); |
243 " speedTn-Index is %d",aItemIndex); |
250 } |
244 } |
251 else if ( KErrNone != tnError && KErrNotSupported != tnError && |
245 else if ( KErrNone != tnError && KErrNotSupported != tnError && |
342 case KErrDiskFull: |
336 case KErrDiskFull: |
343 bitmapId = EMbmGlxiconsQgn_prop_image_notcreated; |
337 bitmapId = EMbmGlxiconsQgn_prop_image_notcreated; |
344 flags = CHgItem::EHgItemFlagsNone ; |
338 flags = CHgItem::EHgItemFlagsNone ; |
345 if (!iDiskErrorIntimated) |
339 if (!iDiskErrorIntimated) |
346 { |
340 { |
347 DisplayErrorNote(KErrDiskFull); |
341 DisplayErrorNoteL(KErrDiskFull); |
348 } |
342 } |
349 break; |
343 break; |
350 default: |
344 default: |
351 bitmapId = EMbmGlxiconsQgn_prop_image_corrupted; |
345 bitmapId = EMbmGlxiconsQgn_prop_image_corrupted; |
352 flags = CHgItem::EHgItemFlagsNone ; |
346 flags = CHgItem::EHgItemFlagsNone ; |
542 * to show the invalid DRM icon |
537 * to show the invalid DRM icon |
543 */ |
538 */ |
544 TMPXGeneralCategory cat = item.Category(); |
539 TMPXGeneralCategory cat = item.Category(); |
545 TBool checkViewRights = (cat==EMPXImage); |
540 TBool checkViewRights = (cat==EMPXImage); |
546 |
541 |
547 if(iDRMUtility->CheckOpenRightsL(uri, checkViewRights)) |
542 if(iDRMUtility->ItemRightsValidityCheckL(uri, checkViewRights)) |
548 { |
543 { |
549 iHgGrid->ItemL(aItemIndex).SetFlags( |
544 iHgGrid->ItemL(aItemIndex).SetFlags( |
550 CHgItem::EHgItemFlagsDrmRightsValid); |
545 CHgItem::EHgItemFlagsDrmRightsValid); |
551 } |
546 } |
552 else |
547 else |
591 iHgGrid->ItemL(aItemIndex).SetFlags(CHgItem::EHgItemFlagsVideo); |
586 iHgGrid->ItemL(aItemIndex).SetFlags(CHgItem::EHgItemFlagsVideo); |
592 } |
587 } |
593 } |
588 } |
594 } |
589 } |
595 |
590 |
596 |
591 // ---------------------------------------------------------------------------- |
597 // ---------------------------------------------------------------------------- |
592 // DisplayErrorNoteL |
598 // DisplayErrorNote |
|
599 // ---------------------------------------------------------------------------- |
593 // ---------------------------------------------------------------------------- |
600 // |
594 // |
601 void CGlxGridViewMLObserver::DisplayErrorNote(TInt aError) |
595 void CGlxGridViewMLObserver::DisplayErrorNoteL(TInt aError) |
602 { |
596 { |
603 TRACER("CGlxGridViewMLObserver::DisplayErrorNote()"); |
597 TRACER("CGlxGridViewMLObserver::DisplayErrorNoteL()"); |
604 GLX_LOG_INFO1("CGlxGridViewMLObserver::DisplayErrorNote Error note " |
598 GLX_LOG_INFO1("CGlxGridViewMLObserver::DisplayErrorNoteL() " |
605 "displayed corresponging to [d]", aError); |
599 " aError(%d)", aError); |
606 GlxGeneralUiUtilities::ShowErrorNoteL(aError); |
600 GlxGeneralUiUtilities::ShowErrorNoteL(aError); |
607 iDiskErrorIntimated = ETrue; |
601 iDiskErrorIntimated = ETrue; |
608 return ; |
602 return; |
609 } |
603 } |