photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp
branchRCL_3
changeset 32 78ad99c24f08
parent 25 191387a8b767
child 35 420f6808bf21
equal deleted inserted replaced
30:a60acebbbd9d 32:78ad99c24f08
   382 void CGlxGridViewContainer::CreateHgGridWidgetL()
   382 void CGlxGridViewContainer::CreateHgGridWidgetL()
   383 	{
   383 	{
   384 	TRACER("CGlxGridViewContainer::CreateHgGridWidgetL()");
   384 	TRACER("CGlxGridViewContainer::CreateHgGridWidgetL()");
   385 
   385 
   386 	TInt mediaCount = iMediaList->Count();
   386 	TInt mediaCount = iMediaList->Count();
       
   387     GLX_DEBUG2("GlxGrid: CHgGrid::CreateHgGridWidgetL() "
       
   388             "mediaCount(%d)", mediaCount);
   387 	if (!iHgGrid)
   389 	if (!iHgGrid)
   388 		{
   390 		{
   389         TSize tnSize = CHgGrid::PreferredImageSize();
   391         iHgGridImageSize = CHgGrid::PreferredImageSize();
   390         GLX_DEBUG3("GlxGrid: CHgGrid::PreferredImageSize() w(%d) h(%d)", 
   392         GLX_DEBUG3("GlxGrid: CHgGrid::PreferredImageSize() w(%d) h(%d)",
   391                 tnSize.iWidth, tnSize.iHeight);
   393                 iHgGridImageSize.iWidth, iHgGridImageSize.iHeight);
   392 		TFileName resFile(KDC_APP_BITMAP_DIR);
   394         iIconsFileName.Append(KDC_APP_BITMAP_DIR);
   393 		resFile.Append(KGlxIconsFilename);
   395         iIconsFileName.Append(KGlxIconsFilename);
   394 
   396 		
   395         CFbsBitmap* bitmap = NULL;
       
   396         CFbsBitmap* mask = NULL;
       
   397         AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
       
   398                 bitmap, mask, resFile, EMbmGlxiconsQgn_prop_image_notcreated,
       
   399                 EMbmGlxiconsQgn_prop_image_notcreated_mask);
       
   400         __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
       
   401         __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
       
   402 
       
   403         AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize(),
       
   404                 EAspectRatioPreservedAndUnusedSpaceRemoved);
       
   405         AknIconUtils::SetSize(mask, CHgGrid::PreferredImageSize(),
       
   406                 EAspectRatioPreservedAndUnusedSpaceRemoved);
       
   407 
       
   408         // Create Hg grid object
   397         // Create Hg grid object
   409         iHgGrid = CHgGrid::NewL(GetHgGridRect(), mediaCount, CGulIcon::NewL(
   398         if (mediaCount)
   410                 bitmap, mask));
   399             {
   411         CleanupStack::Pop(mask); 
   400             CFbsBitmap* bitmap = NULL;
   412         CleanupStack::Pop(bitmap); 
   401             CFbsBitmap* mask = NULL;
       
   402             AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
       
   403                     bitmap, mask, iIconsFileName,
       
   404                     EMbmGlxiconsQgn_prop_image_notcreated,
       
   405                     EMbmGlxiconsQgn_prop_image_notcreated_mask);
       
   406             __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
       
   407             __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
       
   408 
       
   409             AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize(),
       
   410                     EAspectRatioPreservedAndUnusedSpaceRemoved);
       
   411             AknIconUtils::SetSize(mask, CHgGrid::PreferredImageSize(),
       
   412                     EAspectRatioPreservedAndUnusedSpaceRemoved);
       
   413 
       
   414             iHgGrid = CHgGrid::NewL(GetHgGridRect(), mediaCount,
       
   415                     CGulIcon::NewL(bitmap, mask));
       
   416             CleanupStack::Pop(mask);
       
   417             CleanupStack::Pop(bitmap);
       
   418             
       
   419             for (TInt index=0; index<mediaCount; index++)
       
   420                 {
       
   421                 SetIconsL(index);
       
   422                 }
       
   423             }
       
   424         else
       
   425             {
       
   426             iHgGrid = CHgGrid::NewL(GetHgGridRect(), mediaCount);
       
   427             }
   413 		}
   428 		}
   414 
   429 
   415 	// Setting to MopParent to update background skin
   430 	// Setting to MopParent to update background skin
   416 	iHgGrid->SetMopParent(this);
   431 	iHgGrid->SetMopParent(this);
   417 	// Setting Selction observer for getting callback on key event change
   432 	// Setting Selction observer for getting callback on key event change
   463 // ---------------------------------------------------------------------------
   478 // ---------------------------------------------------------------------------
   464 //
   479 //
   465 void CGlxGridViewContainer::CreateGridL()
   480 void CGlxGridViewContainer::CreateGridL()
   466 	{
   481 	{
   467 	TRACER("CGlxGridViewContainer::CreateGridL()");
   482 	TRACER("CGlxGridViewContainer::CreateGridL()");
       
   483 #ifdef _DEBUG
       
   484     TTime startTime;
       
   485     GLX_LOG_INFO("CGlxGridViewContainer::CreateGridL(+)");  
       
   486     startTime.HomeTime();
       
   487 #endif
   468 	// Set the Grid thumbnail context and iterator
   488 	// Set the Grid thumbnail context and iterator
   469 	SetGridThumbnailContextL();
   489 	SetGridThumbnailContextL();
   470 	// Create HG Grid widget
   490 	// Create HG Grid widget
   471 	CreateHgGridWidgetL();
   491 	CreateHgGridWidgetL();
   472 	// Create an observer and pass MediaList and HGGrid objects
   492 	// Create an observer and pass MediaList and HGGrid objects
   473 	CreateGridMediaListObserverL();
   493 	CreateGridMediaListObserverL();
   474 	// Create Grid once again after returning from FS as No calls for handleItem added.
   494 	// Create Grid once again after returning from FS as No calls for handleItem added.
   475 	CreateGridAfterFSDeactivatedL();
   495 	CreateGridAfterFSDeactivatedL();
       
   496 #ifdef _DEBUG
       
   497     TTime stopTime;
       
   498     stopTime.HomeTime();
       
   499     GLX_DEBUG2("CGlxGridViewContainer::CreateGridL(-) took <%d> us", 
       
   500                     (TInt)stopTime.MicroSecondsFrom(startTime).Int64());
       
   501 #endif   	
   476 	}
   502 	}
   477 	
   503 	
   478 // ---------------------------------------------------------------------------
   504 // ---------------------------------------------------------------------------
   479 // SetGridThumbnailContextL
   505 // SetGridThumbnailContextL
   480 // ---------------------------------------------------------------------------
   506 // ---------------------------------------------------------------------------
   526 
   552 
   527 		if (mlCount <= 0)
   553 		if (mlCount <= 0)
   528 			{
   554 			{
   529 			GLX_LOG_INFO("CreateGridAfterFSDeactivatedL() - SetEmptyTextL()");
   555 			GLX_LOG_INFO("CreateGridAfterFSDeactivatedL() - SetEmptyTextL()");
   530 			iHgGrid->DrawNow();
   556 			iHgGrid->DrawNow();
   531 			}
       
   532 
       
   533 		TSize setSize = CHgGrid::PreferredImageSize();
       
   534 		TFileName resFile(KDC_APP_BITMAP_DIR);
       
   535 		resFile.Append(KGlxIconsFilename);
       
   536 
       
   537 		for (TInt index=0; index<mlCount; index++)
       
   538 			{
       
   539 			SetIconsL(index);
       
   540 			}
   557 			}
   541 		}
   558 		}
   542 	
   559 	
   543     if (focusIndex != KErrNotFound)
   560     if (focusIndex != KErrNotFound)
   544         {
   561         {
   554 //
   571 //
   555 void CGlxGridViewContainer::SetIconsL(TInt index)
   572 void CGlxGridViewContainer::SetIconsL(TInt index)
   556 	{
   573 	{
   557 	TRACER("CGlxGridViewContainer::SetIconsL()");
   574 	TRACER("CGlxGridViewContainer::SetIconsL()");
   558 	const TGlxMedia& item = iMediaList->Item(index);
   575 	const TGlxMedia& item = iMediaList->Item(index);
   559 	TSize setSize = CHgGrid::PreferredImageSize();
       
   560 	TFileName resFile(KDC_APP_BITMAP_DIR);
       
   561 	resFile.Append(KGlxIconsFilename);
       
   562 	TIconInfo icon;
       
   563 	TInt tnError = GlxErrorManager::HasAttributeErrorL(
   576 	TInt tnError = GlxErrorManager::HasAttributeErrorL(
   564 			item.Properties(), KGlxMediaIdThumbnail );
   577 			item.Properties(), KGlxMediaIdThumbnail );
   565 
   578 
   566 	const CGlxThumbnailAttribute* qualityTn = item.ThumbnailAttribute( iQualityTnAttrib );
   579 	const CGlxThumbnailAttribute* qualityTn = item.ThumbnailAttribute( iQualityTnAttrib );
   567 	const CGlxThumbnailAttribute* speedTn = item.ThumbnailAttribute( iSpeedTnAttrib );
   580 	const CGlxThumbnailAttribute* speedTn = item.ThumbnailAttribute( iSpeedTnAttrib );
   598 		GLX_LOG_INFO2("CGlxGridViewContainer::SetIconsL - image_defaultthumbnail tnError(%d), i(%d)",
   611 		GLX_LOG_INFO2("CGlxGridViewContainer::SetIconsL - image_defaultthumbnail tnError(%d), i(%d)",
   599 				tnError, index);
   612 				tnError, index);
   600         CFbsBitmap* bitmap = NULL;
   613         CFbsBitmap* bitmap = NULL;
   601         CFbsBitmap* mask = NULL;
   614         CFbsBitmap* mask = NULL;
   602         AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
   615         AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
   603                 bitmap, mask, resFile, EMbmGlxiconsQgn_prop_image_notcreated,
   616                 bitmap, mask, iIconsFileName, EMbmGlxiconsQgn_prop_image_notcreated,
   604                 EMbmGlxiconsQgn_prop_image_notcreated_mask);
   617                 EMbmGlxiconsQgn_prop_image_notcreated_mask);
   605         __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
   618         __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
   606         __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
   619         __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
   607 
   620 
   608         AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize(),
   621         AknIconUtils::SetSize(bitmap, iHgGridImageSize,
   609                 EAspectRatioPreservedAndUnusedSpaceRemoved);
   622                 EAspectRatioPreservedAndUnusedSpaceRemoved);
   610         AknIconUtils::SetSize(mask, CHgGrid::PreferredImageSize(),
   623         AknIconUtils::SetSize(mask, iHgGridImageSize,
   611                 EAspectRatioPreservedAndUnusedSpaceRemoved);
   624                 EAspectRatioPreservedAndUnusedSpaceRemoved);
   612 
   625 
   613         iHgGrid->ItemL(index).SetIcon(CGulIcon::NewL(bitmap, mask));
   626         iHgGrid->ItemL(index).SetIcon(CGulIcon::NewL(bitmap, mask));
   614         CleanupStack::Pop(mask); 
   627         CleanupStack::Pop(mask); 
   615         CleanupStack::Pop(bitmap); 
   628         CleanupStack::Pop(bitmap); 
   619         GLX_LOG_INFO2("CGlxGridViewContainer::SetIconsL - image_corrupted tnError(%d), i(%d)",
   632         GLX_LOG_INFO2("CGlxGridViewContainer::SetIconsL - image_corrupted tnError(%d), i(%d)",
   620                 tnError, index);
   633                 tnError, index);
   621         CFbsBitmap* bitmap = NULL;
   634         CFbsBitmap* bitmap = NULL;
   622         CFbsBitmap* mask = NULL;
   635         CFbsBitmap* mask = NULL;
   623         AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
   636         AknsUtils::CreateIconLC(AknsUtils::SkinInstance(), KAknsIIDNone,
   624                 bitmap, mask, resFile, EMbmGlxiconsQgn_prop_image_corrupted,
   637                 bitmap, mask, iIconsFileName, EMbmGlxiconsQgn_prop_image_corrupted,
   625                 EMbmGlxiconsQgn_prop_image_corrupted_mask);
   638                 EMbmGlxiconsQgn_prop_image_corrupted_mask);
   626         __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
   639         __ASSERT_DEBUG(bitmap, Panic(EGlxPanicNullPointer));
   627         __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
   640         __ASSERT_DEBUG(mask, Panic(EGlxPanicNullPointer));
   628 
   641 
   629         AknIconUtils::SetSize(bitmap, CHgGrid::PreferredImageSize(),
   642         AknIconUtils::SetSize(bitmap, iHgGridImageSize,
   630                 EAspectRatioPreservedAndUnusedSpaceRemoved);
   643                 EAspectRatioPreservedAndUnusedSpaceRemoved);
   631         AknIconUtils::SetSize(mask, CHgGrid::PreferredImageSize(),
   644         AknIconUtils::SetSize(mask, iHgGridImageSize,
   632                 EAspectRatioPreservedAndUnusedSpaceRemoved);
   645                 EAspectRatioPreservedAndUnusedSpaceRemoved);
   633 
   646 
   634         iHgGrid->ItemL(index).SetIcon(CGulIcon::NewL(bitmap, mask));
   647         iHgGrid->ItemL(index).SetIcon(CGulIcon::NewL(bitmap, mask));
   635         CleanupStack::Pop(mask);
   648         CleanupStack::Pop(mask);
   636         CleanupStack::Pop(bitmap);
   649         CleanupStack::Pop(bitmap);