diff -r f7f0874bfe7d -r 6b87b143d312 photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp --- a/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp Tue Feb 02 10:12:14 2010 +0200 +++ b/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp Fri Feb 19 22:51:01 2010 +0200 @@ -24,7 +24,7 @@ //#include #include -//Gallery Headers +//Photos Headers #include // For Tracer #include // For Glx Logging #include // For UiUtility instance @@ -37,11 +37,11 @@ #include // KMPXMediaDrmProtected #include #include // Gridview resource +#include // Framework #include #include - #include // For feature constants #include // Feature Manager #include @@ -59,7 +59,7 @@ EXPORT_C CGlxGridViewMLObserver* CGlxGridViewMLObserver::NewL( MGlxMediaList& aMediaList, CHgGrid* aHgGrid) { - TRACER("CGlxGridViewMLObserver::NewLC()"); + TRACER("CGlxGridViewMLObserver::NewL()"); CGlxGridViewMLObserver* self = new (ELeave) CGlxGridViewMLObserver(aMediaList, aHgGrid); CleanupStack::PushL(self); @@ -75,7 +75,7 @@ CGlxGridViewMLObserver::CGlxGridViewMLObserver(MGlxMediaList& aMediaList, CHgGrid* aHgGrid ) : iMediaList(aMediaList), iHgGrid(aHgGrid) { - TRACER("CGlxGridViewMLObserver::CGlxGridViewMLObserver"); + TRACER("CGlxGridViewMLObserver::CGlxGridViewMLObserver()"); } // --------------------------------------------------------------------------- @@ -84,7 +84,7 @@ // void CGlxGridViewMLObserver::ConstructL() { - TRACER("CGlxGridViewMLObserver::ConstructL"); + TRACER("CGlxGridViewMLObserver::ConstructL()"); iMediaList.AddMediaListObserverL(this); // For DRm Utility iDRMUtility = CGlxDRMUtility::InstanceL(); @@ -103,6 +103,8 @@ iSpeedTnAttrib = TMPXAttribute (KGlxMediaIdThumbnail, GlxFullThumbnailAttributeId( EFalse, iGridIconSize.iWidth, iGridIconSize.iHeight ) ); + + iDiskErrorIntimated = EFalse ; } // --------------------------------------------------------------------------- @@ -111,7 +113,7 @@ // CGlxGridViewMLObserver::~CGlxGridViewMLObserver() { - TRACER("CGlxGridViewMLObserver::~CGlxGridViewMLObserver"); + TRACER("CGlxGridViewMLObserver::~CGlxGridViewMLObserver()"); iMediaList.RemoveMediaListObserver( this ); if (iDRMUtility) { @@ -289,7 +291,7 @@ void CGlxGridViewMLObserver::HandleItemSelectedL(TInt /*aIndex*/, TBool /*aSelected*/, MGlxMediaList* /*aList*/ ) { - TRACER("CGlxGridViewMLObserver::HandleItemSelectedL"); + TRACER("CGlxGridViewMLObserver::HandleItemSelectedL()"); } // ---------------------------------------------------------------------------- @@ -319,39 +321,45 @@ void CGlxGridViewMLObserver::HandleErrorL() { TRACER("CGlxGridViewMLObserver::HandleErrorL()"); + + TInt bitmapId = EMbmGlxiconsQgn_prop_image_notcreated; + TInt flags = CHgItem::EHgItemFlagsNone ; + for ( TInt i = 0; i < iMediaList.Count(); i++ ) { const TGlxMedia& item = iMediaList.Item( i ); TInt thumbnailError = GlxErrorManager::HasAttributeErrorL( item.Properties(), KGlxMediaIdThumbnail ); - - if( thumbnailError== KErrCANoRights) - { - /*fix for EABI-7RKHDG - * this is a safe code added to show default - * TNM returns -17452 in case SD DRM files - */ - TFileName resFile(KDC_APP_BITMAP_DIR); - resFile.Append(KGlxIconsFilename); - CFbsBitmap* bitmap = AknIconUtils::CreateIconL(resFile, - EMbmGlxiconsQgn_prop_image_notcreated); - AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize()); - iHgGrid->ItemL(i).SetIcon(CGulIcon::NewL(bitmap), - CHgItem::EHgItemFlagsDrmRightsExpired); - } - else if (thumbnailError) - { + + if (KErrNone != thumbnailError) + { + switch (thumbnailError) + { + case KErrCANoRights:; // Err id = -17452 + bitmapId = EMbmGlxiconsQgn_prop_image_notcreated; + flags = CHgItem::EHgItemFlagsDrmRightsExpired; + break; + case KErrDiskFull: + bitmapId = EMbmGlxiconsQgn_prop_image_notcreated; + flags = CHgItem::EHgItemFlagsNone ; + if (!iDiskErrorIntimated) + { + DisplayErrorNote(KErrDiskFull); + } + break; + default: + bitmapId = EMbmGlxiconsQgn_prop_image_corrupted; + flags = CHgItem::EHgItemFlagsNone ; + break; + } + TFileName resFile(KDC_APP_BITMAP_DIR); resFile.Append(KGlxIconsFilename); - CFbsBitmap* bitmap = AknIconUtils::CreateIconL(resFile, - EMbmGlxiconsQgn_prop_image_corrupted); - - //@ Fix for EABI-7RJA8C, Changes for HG grid for corrupted icon. + CFbsBitmap* bitmap = AknIconUtils::CreateIconL(resFile, bitmapId); AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize() ); - iHgGrid->ItemL(i).SetIcon(CGulIcon::NewL(bitmap), - CHgItem::EHgItemFlagsNone); + iHgGrid->ItemL(i).SetIcon(CGulIcon::NewL(bitmap), flags); } } iHgGrid->RefreshScreen(iHgGrid->FirstIndexOnScreen()); @@ -443,6 +451,7 @@ void CGlxGridViewMLObserver::RefreshScreen(TInt aItemIndex, const RArray& aAttributes) { + TRACER("CGlxGridViewMLObserver::RefreshScreen()"); TInt mediaCount = iMediaList.Count(); TInt firstIndex = iHgGrid->FirstIndexOnScreen(); firstIndex = (firstIndex<0 ? 0 : firstIndex); @@ -511,9 +520,10 @@ // UpdateItemsL // ---------------------------------------------------------------------------- // -void CGlxGridViewMLObserver::UpdateItemsL (TInt aItemIndex, +void CGlxGridViewMLObserver::UpdateItemsL(TInt aItemIndex, const RArray& aAttributes) { + TRACER("CGlxGridViewMLObserver::UpdateItemsL()"); TInt mediaCount = iMediaList.Count(); const TGlxMedia& item = iMediaList.Item( aItemIndex ); TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match ); @@ -584,3 +594,16 @@ } +// ---------------------------------------------------------------------------- +// DisplayErrorNote +// ---------------------------------------------------------------------------- +// +void CGlxGridViewMLObserver::DisplayErrorNote(TInt aError) + { + TRACER("CGlxGridViewMLObserver::DisplayErrorNote()"); + GLX_LOG_INFO1("CGlxGridViewMLObserver::DisplayErrorNote Error note " + "displayed corresponging to [d]", aError); + GlxGeneralUiUtilities::ShowErrorNoteL(aError); + iDiskErrorIntimated = ETrue; + return ; + }