diff -r d48ab3b357f1 -r 978afdc0236f uifw/AvKon/src/AknSignalIcon.cpp --- 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 #include #include +#include #include #include @@ -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