uifw/AvKon/src/AknSignalIcon.cpp
branchRCL_3
changeset 21 978afdc0236f
parent 20 d48ab3b357f1
--- a/uifw/AvKon/src/AknSignalIcon.cpp	Wed Sep 01 12:16:19 2010 +0100
+++ b/uifw/AvKon/src/AknSignalIcon.cpp	Tue Sep 14 21:48:24 2010 +0300
@@ -22,6 +22,7 @@
 #include <eikenv.h>
 #include <akniconconfig.h>
 #include <avkon.mbg>
+#include <featmgr.h>
 
 #include <AknTasHook.h>
 #include <AvkonInternalCRKeys.h>
@@ -252,6 +253,274 @@
     iIconState  = aIconState;
     iColorIndex = aIconColorIndex;
     }
+	
+void CAknSignalIcon::LoadTDIconL(TInt aIconState, TInt aIconColorIndex)
+    {
+
+    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* mask = NULL;
+
+    switch (aIconState)
+        {
+        // Old legacy GPRS icons.
+        case EAknSignalGprsIndicatorOff:
+        case EAknSignalGprsIndicatorAvailable: // fallthrough
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_icon,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_icon_mask, KRgbGray );
+            break;
+        case EAknSignalGprsIndicatorAttached:
+        case EAknSignalGprsIndicatorEstablishingContext: // fallthrough
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalGprsContext, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_attach,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_attach_mask, KRgbGray );
+            break;
+        case EAknSignalGprsIndicatorContext:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalGprsContext, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_context,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_context_mask, KRgbGray );
+            break;
+        case EAknSignalGprsIndicatorSuspended:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalGprsSuspended,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_suspended,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_suspended_mask, KRgbGray );
+            break;
+        case EAknSignalGprsIndicatorMultipdp:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalGprsMultipdp, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_multipdp,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_multipdp_mask, KRgbGray );
+            break;
+
+            // Create common packet data indicator bitmaps.
+        case EAknSignalCommonPacketDataIndicatorOff:
+        case EAknSignalCommonPacketDataIndicatorAvailable: // fallthrough
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_icon,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_icon_mask, KRgbGray );
+            break;
+        case EAknSignalCommonPacketDataIndicatorAttached:
+        case EAknSignalCommonPacketDataIndicatorEstablishingContext: // fallthrough
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnIndiSignalPdAttach,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_attach,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_attach_mask, KRgbGray );
+            break;
+        case EAknSignalCommonPacketDataIndicatorContext:
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnIndiSignalPdContext,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_context,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_context_mask, KRgbGray );
+            break;
+        case EAknSignalCommonPacketDataIndicatorSuspended:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalPdSuspended, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_suspended,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_suspended_mask, KRgbGray );
+            break;
+        case EAknSignalCommonPacketDataIndicatorMultipdp:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalPdMultipdp, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_multipdp,
+                    EMbmAvkonQgn_indi_signal_gprs_tdscdma_multipdp_mask, KRgbGray );
+            break;
+
+            // Create EDGE packet data indicator bitmaps.
+        case EAknSignalEdgeIndicatorOff:
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_egprs_icon,
+                    EMbmAvkonQgn_indi_signal_egprs_icon_mask, KRgbGray );
+            break;
+        case EAknSignalEdgeIndicatorAvailable:
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_egprs_icon,
+                    EMbmAvkonQgn_indi_signal_egprs_icon_mask, KRgbGray );
+            break;
+        case EAknSignalEdgeIndicatorAttached:
+        case EAknSignalEdgeIndicatorEstablishingContext: // fallthrough
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalEgprsAttach, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_egprs_attach,
+                    EMbmAvkonQgn_indi_signal_egprs_attach_mask, KRgbGray );
+            break;
+        case EAknSignalEdgeIndicatorContext:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalEgprsContext, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_egprs_context,
+                    EMbmAvkonQgn_indi_signal_egprs_context_mask, KRgbGray );
+            break;
+        case EAknSignalEdgeIndicatorSuspended:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalEgprsSuspended,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_egprs_suspended,
+                    EMbmAvkonQgn_indi_signal_egprs_suspended_mask, KRgbGray );
+            break;
+        case EAknSignalEdgeIndicatorMultipdp:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalEgprsMultipdp,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_egprs_multipdp,
+                    EMbmAvkonQgn_indi_signal_egprs_multipdp_mask, KRgbGray );
+            break;
+
+            // Create WCDMA indicator bitmaps.
+        case EAknSignalWcdmaIndicatorOff:
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_tdscdma_icon,
+                    EMbmAvkonQgn_indi_signal_tdscdma_icon_mask, KRgbGray );
+            break;
+        case EAknSignalWcdmaIndicatorAvailable:
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnIndiSignalWcdmaIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_tdscdma_icon,
+                    EMbmAvkonQgn_indi_signal_tdscdma_icon_mask, KRgbGray );
+            break;
+        case EAknSignalWcdmaIndicatorAttached:
+        case EAknSignalWcdmaIndicatorEstablishingContext: // fallthrough
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalWcdmaAttach, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_tdscdma_attach,
+                    EMbmAvkonQgn_indi_signal_tdscdma_attach_mask, KRgbGray );
+            break;
+        case EAknSignalWcdmaIndicatorContext:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalWcdmaContext, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_tdscdma_context,
+                    EMbmAvkonQgn_indi_signal_tdscdma_context_mask, KRgbGray );
+            break;
+        case EAknSignalWcdmaIndicatorMultipdp:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalWcdmaMultipdp,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_tdscdma_multipdp,
+                    EMbmAvkonQgn_indi_signal_tdscdma_multipdp_mask, KRgbGray );
+            break;
+        case EAknSignalWcdmaIndicatorSuspended:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalWcdmaSuspended,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_tdscdma_suspended,
+                    EMbmAvkonQgn_indi_signal_tdscdma_suspended_mask, KRgbGray );
+            break;
+
+            // Create HSDPA indicator bitmaps.
+        case EAknSignalHsdpaIndicatorOff:
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_icon,
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_icon_mask, KRgbGray );
+            break;
+        case EAknSignalHsdpaIndicatorAvailable:
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnIndiSignalHsdpaIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_icon,
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_icon_mask, KRgbGray );
+            break;
+        case EAknSignalHsdpaIndicatorAttached:
+        case EAknSignalHsdpaIndicatorEstablishingContext: // fallthrough
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalHsdpaAttach, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_attach,
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_attach_mask, KRgbGray );
+            break;
+        case EAknSignalHsdpaIndicatorContext:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalHsdpaContext, KAknsIIDQsnIconColors,
+                    aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_context,
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_context_mask, KRgbGray );
+            break;
+        case EAknSignalHsdpaIndicatorSuspended:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalHsdpaSuspended,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_suspended,
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_suspended_mask, KRgbGray );
+            break;
+        case EAknSignalHsdpaIndicatorMultipdp:
+            AknsUtils::CreateColorIconL(skin,
+                    KAknsIIDQgnIndiSignalHsdpaMultipdp,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_multipdp,
+                    EMbmAvkonQgn_indi_signal_hsdpa_tdscdma_multipdp_mask, KRgbGray );
+            break;
+
+            // Default in all situations
+        default:
+            AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
+                    KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                    AknIconUtils::AvkonIconFileName(),
+                    EMbmAvkonQgn_prop_signal_icon,
+                    EMbmAvkonQgn_prop_signal_icon_mask, KRgbGray );
+        }
+    
+
+if ( bitmap )
+    {
+    delete iSignalIcon;
+    iSignalIcon = bitmap;
+    AknIconUtils::SetSize( iSignalIcon, Size() );
+    }
+
+if ( mask )
+    {
+    delete iSignalIconMask;
+    iSignalIconMask = mask;
+    }
+
+iIconState = aIconState;
+iColorIndex = aIconColorIndex;
+}
+
 // ---------------------------------------------------------------------------
 // CAknSignalIcon::LoadIconL
 // ---------------------------------------------------------------------------
@@ -297,6 +566,11 @@
             LoadATTIconL( aIconState, aIconColorIndex );
             return;
             }
+		if ( iTDEnable )
+            {
+             LoadTDIconL( aIconState, aIconColorIndex );
+             return;
+            }
         switch( aIconState )
             {
             // Old legacy GPRS icons.
@@ -842,6 +1116,8 @@
         }
     delete repo;
     repo = NULL;
+	
+    iTDEnable = FeatureManager::FeatureSupported( KFeatureIdFfTdScdma );
 	}
 
 //  End of File