--- 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