--- a/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Wed Mar 31 21:31:03 2010 +0300
+++ b/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Wed Apr 14 15:57:24 2010 +0300
@@ -256,16 +256,26 @@
iUiUtility->GetGridIconSize().iHeight -(2*KPadding));
TFileName resFile(KDC_APP_BITMAP_DIR);
resFile.Append(KGlxIconsFilename);
- CFbsBitmap* bitmap = AknIconUtils::CreateIconL(resFile,
- EMbmGlxiconsQgn_prop_image_notcreated);
- AknIconUtils::SetSize(bitmap, iconSize);
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
+ bitmap, mask, resFile, EMbmGlxiconsQgn_prop_image_notcreated,
+ EMbmGlxiconsQgn_prop_image_notcreated_mask);
+ __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
+ __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
+
+ AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize(),
+ EAspectRatioPreservedAndUnusedSpaceRemoved);
+ AknIconUtils::SetSize(mask, CHgGrid::PreferredImageSize(),
+ EAspectRatioPreservedAndUnusedSpaceRemoved);
// Create Hg grid object
- iHgGrid = CHgGrid::NewL (
- rect,
- iMediaList->Count(),
- CGulIcon::NewL(bitmap) );
+ iHgGrid = CHgGrid::NewL(rect, iMediaList->Count(), CGulIcon::NewL(
+ bitmap, mask));
+ CleanupStack::Pop(mask);
+ CleanupStack::Pop(bitmap);
}
+
iHgGrid->SetSelectedIndex(iMediaList->FocusIndex());
// Setting to MopParent to update background skin
iHgGrid->SetMopParent(this);
@@ -310,21 +320,20 @@
TInt mediaCount = iMediaList->Count();
aRequestStart = (aRequestStart<0 ? 0 : aRequestStart) ;
- aRequestEnd = (aRequestEnd>=mediaCount? mediaCount : aRequestEnd);
+ aRequestEnd = (aRequestEnd>=mediaCount? (mediaCount -1): aRequestEnd);
if (aRequestEnd - aRequestStart)
{
TInt visIndex = iHgGrid->FirstIndexOnScreen();
- if (visIndex < 0)
+ if(visIndex >= mediaCount )
+ {
+ visIndex = mediaCount-1;
+ }
+ if(visIndex<0 || mediaCount<=0)
{
visIndex = 0;
}
-
- else if (visIndex >= mediaCount)
- {
- visIndex = mediaCount-1;
- }
-
+
GLX_LOG_INFO1("CGlxGridViewImp::Request - SetVisibleWindowIndex "
"visIndex(%d)", visIndex);
iMediaList->SetVisibleWindowIndexL(visIndex);
@@ -370,19 +379,46 @@
else if (item.GetIconInfo(icon))
{
GLX_LOG_INFO1("CGlxGridViewImp::Request - icon(%d)", aIndex);
- CFbsBitmap* bitmap = AknIconUtils::CreateIconL(icon.bmpfile, icon.bitmapId);
- AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize());
- iHgGrid->ItemL(aIndex).SetIcon(CGulIcon::NewL(bitmap));
- GLX_LOG_INFO1("### CGlxGridViewImp::Request GetIconInfo-Index is %d",aIndex);
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
+ bitmap, mask, icon.bmpfile, icon.bitmapId, icon.maskId);
+ __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
+ __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
+
+ AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize(),
+ EAspectRatioPreservedAndUnusedSpaceRemoved);
+ AknIconUtils::SetSize(mask, CHgGrid::PreferredImageSize(),
+ EAspectRatioPreservedAndUnusedSpaceRemoved);
+
+ iHgGrid->ItemL(aIndex).SetIcon(CGulIcon::NewL(bitmap, mask));
+ CleanupStack::Pop(mask);
+ CleanupStack::Pop(bitmap);
+ GLX_LOG_INFO1("### CGlxGridViewImp::Request GetIconInfo-Index is %d",
+ aIndex);
}
- else if ( KErrNone != tnError && KErrNotSupported != tnError )
+ else if (KErrNone != tnError && KErrNotSupported != tnError)
{
- GLX_LOG_INFO2("CGlxGridViewImp::Request - image_corrupted tnError(%d), "
- "i(%d)", tnError, aIndex);
- CFbsBitmap* bitmap = AknIconUtils::CreateIconL(resFile,
- EMbmGlxiconsQgn_prop_image_corrupted);
- AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize());
- iHgGrid->ItemL(aIndex).SetIcon(CGulIcon::NewL(bitmap));
+ GLX_LOG_INFO2(
+ "CGlxGridViewImp::Request - image_corrupted tnError(%d), "
+ "i(%d)", tnError, aIndex);
+
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+ AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
+ bitmap, mask, resFile, EMbmGlxiconsQgn_prop_image_corrupted,
+ EMbmGlxiconsQgn_prop_image_corrupted_mask);
+ __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
+ __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
+
+ AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize(),
+ EAspectRatioPreservedAndUnusedSpaceRemoved);
+ AknIconUtils::SetSize(mask, CHgGrid::PreferredImageSize(),
+ EAspectRatioPreservedAndUnusedSpaceRemoved);
+
+ iHgGrid->ItemL(aIndex).SetIcon(CGulIcon::NewL(bitmap, mask));
+ CleanupStack::Pop(mask);
+ CleanupStack::Pop(bitmap);
}
if (item.IsDrmProtected())