mmappcomponents/audiofetcher/src/audiofetcherdialog.cpp
branchRCL_3
changeset 14 05b0d2323768
parent 9 bee149131e4b
child 19 51035f0751c2
--- a/mmappcomponents/audiofetcher/src/audiofetcherdialog.cpp	Fri Feb 19 23:18:32 2010 +0200
+++ b/mmappcomponents/audiofetcher/src/audiofetcherdialog.cpp	Fri Mar 12 15:44:36 2010 +0200
@@ -388,14 +388,18 @@
             EMbmAudiofetcherQgn_prop_sml_sync_off_mask ) );
 
     // memory card icon
-    icons->AppendL( IconL( KAknsIIDQgnIndiMmcAdd, iIconFileName,
+    icons->AppendL( ColorIconL( KAknsIIDQgnIndiMmcAdd, iIconFileName,
             EMbmAudiofetcherQgn_indi_mmc_add,
-            EMbmAudiofetcherQgn_indi_mmc_add_mask ) );
+            EMbmAudiofetcherQgn_indi_mmc_add_mask,
+            KAknsIIDQsnIconColors,
+            EAknsCIQsnIconColorsCG26 ) );
 
      // mass storage icon
-    icons->AppendL( IconL( KAknsIIDQgnPropLinkEmbdSmall, iIconFileName,
+    icons->AppendL( ColorIconL( KAknsIIDQgnPropLinkEmbdSmall, iIconFileName,
             EMbmAudiofetcherQgn_indi_fmgr_ms_add,
-            EMbmAudiofetcherQgn_indi_fmgr_ms_add_mask ) );
+            EMbmAudiofetcherQgn_indi_fmgr_ms_add_mask,
+            KAknsIIDQsnIconColors,
+            EAknsCIQsnIconColorsCG26 ) );
 
     // empty icon
     icons->AppendL( IconL( KAknsIIDQgnPropEmpty, KAvkonBitmapFile,
@@ -455,6 +459,45 @@
     return icon;    
     }
 
+// -----------------------------------------------------------------------------
+// CMediaFileDialog::ColorIconL
+// 
+// -----------------------------------------------------------------------------
+//
+CGulIcon* CAudioFetcherDialog::ColorIconL( const TAknsItemID& aId,
+                                           const TDesC& aFileName,
+                                           TInt aFilexIndex,
+                                           TInt aFileMaskIndex,
+                                           const TAknsItemID& aColorId,
+                                           TInt aColorIndex )
+    {
+    WLOG("CAudioFetcherDialog::ColorIconL");
+    
+    CFbsBitmap* bitmap( NULL );
+    CFbsBitmap* mask( NULL );
+
+    if ( aColorId == KAknsIIDNone )
+        {
+        // do not use theme color, use the default color from the file
+        AknsUtils::CreateIconLC( AknsUtils::SkinInstance(), aId,
+            bitmap, mask, aFileName, aFilexIndex, aFileMaskIndex );
+        }
+    else
+        {
+        // use theme color
+        AknsUtils::CreateColorIconLC( AknsUtils::SkinInstance(), aId, aColorId, aColorIndex,
+            bitmap, mask, aFileName, aFilexIndex, aFileMaskIndex, KRgbBlack );
+        }
+
+    CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
+    icon->SetBitmapsOwnedExternally( EFalse );
+
+    // icon now owns the bitmaps, no need to keep on cleanup stack.
+    CleanupStack::Pop( 2 ); // mask, bitmap
+    
+    return icon;
+    }
+
 
 // -----------------------------------------------------------------------------
 // CMediaFileDialog::UpdateListBoxL