uifw/AvKon/src/AknSignalIcon.cpp
branchRCL_3
changeset 20 d48ab3b357f1
parent 19 aecbbf00d063
child 21 978afdc0236f
equal deleted inserted replaced
19:aecbbf00d063 20:d48ab3b357f1
    22 #include <eikenv.h>
    22 #include <eikenv.h>
    23 #include <akniconconfig.h>
    23 #include <akniconconfig.h>
    24 #include <avkon.mbg>
    24 #include <avkon.mbg>
    25 
    25 
    26 #include <AknTasHook.h>
    26 #include <AknTasHook.h>
       
    27 #include <AvkonInternalCRKeys.h>
       
    28 #include <centralrepository.h> 
       
    29 
    27 #include "AknSignalIcon.h"
    30 #include "AknSignalIcon.h"
    28 #include "aknconsts.h"
    31 #include "aknconsts.h"
    29 #include "AknUtils.h"
    32 #include "AknUtils.h"
    30 #include "AknStatuspaneUtils.h"
    33 #include "AknStatuspaneUtils.h"
    31 #include "aknappui.h"
    34 #include "aknappui.h"
   160 TInt CAknSignalIcon::ColorIndex()
   163 TInt CAknSignalIcon::ColorIndex()
   161 	{
   164 	{
   162 	return iColorIndex;	
   165 	return iColorIndex;	
   163 	}
   166 	}
   164 
   167 
       
   168 void CAknSignalIcon::LoadATTIconL(TInt aIconState, 
       
   169                                   TInt aIconColorIndex )
       
   170     {
       
   171     MAknsSkinInstance* skin = AknsUtils::SkinInstance();
       
   172     CFbsBitmap* bitmap      = NULL;
       
   173     CFbsBitmap* mask        = NULL;
       
   174     
       
   175     switch ( aIconState )
       
   176         {
       
   177         case EAknSignalHsdpaIndicatorAvailable:
       
   178             AknsUtils::CreateColorIconL( skin,
       
   179                                          KAknsIIDQgnIndiSignalWcdmaIcon,
       
   180                                          KAknsIIDQsnIconColors,
       
   181                                          aIconColorIndex,
       
   182                                          bitmap,
       
   183                                          mask,
       
   184                                          AknIconUtils::AvkonIconFileName(), 
       
   185                                          EMbmAvkonQgn_indi_signal_wcdma_icon,
       
   186                                          EMbmAvkonQgn_indi_signal_wcdma_icon_mask,
       
   187                                          KRgbGray );
       
   188             break;
       
   189         case EAknSignalHsdpaIndicatorAttached:
       
   190         case EAknSignalHsdpaIndicatorEstablishingContext: 
       
   191             AknsUtils::CreateColorIconL( skin,
       
   192                                          KAknsIIDQgnIndiSignalWcdmaAttach,
       
   193                                          KAknsIIDQsnIconColors,
       
   194                                          aIconColorIndex,
       
   195                                          bitmap,
       
   196                                          mask, 
       
   197                                          AknIconUtils::AvkonIconFileName(), 
       
   198                                          EMbmAvkonQgn_indi_signal_wcdma_attach,
       
   199                                          EMbmAvkonQgn_indi_signal_wcdma_attach_mask,
       
   200                                          KRgbGray );
       
   201             break;
       
   202         case EAknSignalHsdpaIndicatorContext:
       
   203             AknsUtils::CreateColorIconL( skin,
       
   204                                          KAknsIIDQgnIndiSignalWcdmaContext,
       
   205                                          KAknsIIDQsnIconColors,
       
   206                                          aIconColorIndex,
       
   207                                          bitmap,
       
   208                                          mask, 
       
   209                                          AknIconUtils::AvkonIconFileName(), 
       
   210                                          EMbmAvkonQgn_indi_signal_wcdma_context,
       
   211                                          EMbmAvkonQgn_indi_signal_wcdma_context_mask,
       
   212                                          KRgbGray );
       
   213             break;
       
   214         case EAknSignalHsdpaIndicatorMultipdp:
       
   215             AknsUtils::CreateColorIconL( skin,
       
   216                                          KAknsIIDQgnIndiSignalWcdmaMultipdp,
       
   217                                          KAknsIIDQsnIconColors,
       
   218                                          aIconColorIndex,
       
   219                                          bitmap,
       
   220                                          mask,
       
   221                                          AknIconUtils::AvkonIconFileName(), 
       
   222                                          EMbmAvkonQgn_indi_signal_wcdma_multipdp,
       
   223                                          EMbmAvkonQgn_indi_signal_wcdma_multipdp_mask,
       
   224                                          KRgbGray );
       
   225             break;
       
   226         case EAknSignalHsdpaIndicatorSuspended:
       
   227             AknsUtils::CreateColorIconL( skin,
       
   228                                          KAknsIIDQgnIndiSignalWcdmaSuspended,
       
   229                                          KAknsIIDQsnIconColors,
       
   230                                          aIconColorIndex,
       
   231                                          bitmap,
       
   232                                          mask, 
       
   233                                          AknIconUtils::AvkonIconFileName(), 
       
   234                                          EMbmAvkonQgn_indi_signal_wcdma_suspended,
       
   235                                          EMbmAvkonQgn_indi_signal_wcdma_suspended_mask,
       
   236                                          KRgbGray ); 
       
   237             break;
       
   238         }
       
   239     if ( bitmap )
       
   240         {
       
   241         delete iSignalIcon;
       
   242         iSignalIcon = bitmap;
       
   243         AknIconUtils::SetSize( iSignalIcon, Size() );
       
   244         }
       
   245 
       
   246     if ( mask )
       
   247         {
       
   248         delete iSignalIconMask;
       
   249         iSignalIconMask = mask;
       
   250         }
       
   251 
       
   252     iIconState  = aIconState;
       
   253     iColorIndex = aIconColorIndex;
       
   254     }
   165 // ---------------------------------------------------------------------------
   255 // ---------------------------------------------------------------------------
   166 // CAknSignalIcon::LoadIconL
   256 // CAknSignalIcon::LoadIconL
   167 // ---------------------------------------------------------------------------
   257 // ---------------------------------------------------------------------------
   168 //
   258 //
   169 void CAknSignalIcon::LoadIconL( TInt aIconState,
   259 void CAknSignalIcon::LoadIconL( TInt aIconState,
   180     
   270     
   181     MAknsSkinInstance* skin = AknsUtils::SkinInstance();
   271     MAknsSkinInstance* skin = AknsUtils::SkinInstance();
   182     CFbsBitmap* bitmap      = NULL;
   272     CFbsBitmap* bitmap      = NULL;
   183     CFbsBitmap* mask        = NULL;
   273     CFbsBitmap* mask        = NULL;
   184 
   274 
       
   275     TBool isHsdpa = ( aIconState >= EAknSignalHsdpaIndicatorAvailable
       
   276                     && aIconState <= EAknSignalHsdpaIndicatorMultipdp );
   185     if ( iOffLine )
   277     if ( iOffLine )
   186         {
   278         {
   187         // Offline mode is not an actual signal state in the signal icon
   279         // Offline mode is not an actual signal state in the signal icon
   188         // control, but it needs to be represented by an offline signal
   280         // control, but it needs to be represented by an offline signal
   189         // icon in the universal indicator popup.
   281         // icon in the universal indicator popup.
   198                                      EMbmAvkonQgn_indi_signal_offline_mask,
   290                                      EMbmAvkonQgn_indi_signal_offline_mask,
   199                                      KRgbGray ); 
   291                                      KRgbGray ); 
   200         }
   292         }
   201     else
   293     else
   202         {
   294         {
       
   295         if( iATTEnable && isHsdpa)
       
   296             {
       
   297             LoadATTIconL( aIconState, aIconColorIndex );
       
   298             return;
       
   299             }
   203         switch( aIconState )
   300         switch( aIconState )
   204             {
   301             {
   205             // Old legacy GPRS icons.
   302             // Old legacy GPRS icons.
   206             case EAknSignalGprsIndicatorOff:
   303             case EAknSignalGprsIndicatorOff:
   207             case EAknSignalGprsIndicatorAvailable: // fallthrough
   304             case EAknSignalGprsIndicatorAvailable: // fallthrough
   553                                              EMbmAvkonQgn_indi_signal_hsdpa_multipdp,
   650                                              EMbmAvkonQgn_indi_signal_hsdpa_multipdp,
   554                                              EMbmAvkonQgn_indi_signal_hsdpa_multipdp_mask,
   651                                              EMbmAvkonQgn_indi_signal_hsdpa_multipdp_mask,
   555                                              KRgbGray );          
   652                                              KRgbGray );          
   556                 break;        
   653                 break;        
   557     
   654     
       
   655             case EAknSignalUmaIndicatorOff:
       
   656                 // default icon
       
   657                 AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
       
   658                         KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
       
   659                         AknIconUtils::AvkonIconFileName(),
       
   660                         EMbmAvkonQgn_prop_signal_icon,
       
   661                         EMbmAvkonQgn_prop_signal_icon_mask, KRgbGray );
       
   662                 break;
       
   663 
       
   664             case EAknSignalUmaIndicatorAvailable:
       
   665                 AknsUtils::CreateColorIconL( skin,
       
   666                         KAknsIIDQgnIndiSignalUmaIcon,
       
   667                         KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
       
   668                         AknIconUtils::AvkonIconFileName(),
       
   669                         EMbmAvkonQgn_indi_signal_uma_icon,
       
   670                         EMbmAvkonQgn_indi_signal_uma_icon_mask,
       
   671                         KRgbGray );                         
       
   672                 break;
       
   673                 
       
   674             case EAknSignalUmaIndicatorAttached:
       
   675             case EAknSignalUmaIndicatorEstablishingContext:
       
   676                 AknsUtils::CreateColorIconL(skin,
       
   677                         KAknsIIDQgnIndiSignalUmaAttach,
       
   678                         KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
       
   679                         AknIconUtils::AvkonIconFileName(),
       
   680                         EMbmAvkonQgn_indi_signal_uma_attach,
       
   681                         EMbmAvkonQgn_indi_signal_uma_attach_mask, KRgbGray );                  
       
   682                 break;
       
   683                 
       
   684             case EAknSignalUmaIndicatorContext:
       
   685                 AknsUtils::CreateColorIconL(skin,
       
   686                         KAknsIIDQgnIndiSignalUmaContext,
       
   687                         KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
       
   688                         AknIconUtils::AvkonIconFileName(),
       
   689                         EMbmAvkonQgn_indi_signal_uma_context,
       
   690                         EMbmAvkonQgn_indi_signal_uma_context_mask, KRgbGray );                   
       
   691                 break;
       
   692                 
       
   693             case EAknSignalUmaIndicatorSuspended:
       
   694                 AknsUtils::CreateColorIconL(skin,
       
   695                         KAknsIIDQgnIndiSignalUmaSuspended,
       
   696                         KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
       
   697                         AknIconUtils::AvkonIconFileName(),
       
   698                         EMbmAvkonQgn_indi_signal_uma_suspended,
       
   699                         EMbmAvkonQgn_indi_signal_uma_suspended_mask, KRgbGray );                                   
       
   700                 break;
       
   701                 
       
   702             case EAknSignalUmaIndicatorMultipdp:
       
   703                 AknsUtils::CreateColorIconL(skin,
       
   704                         KAknsIIDQgnIndiSignalUmaMultipdp,
       
   705                         KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
       
   706                         AknIconUtils::AvkonIconFileName(),
       
   707                         EMbmAvkonQgn_indi_signal_uma_multipdp,
       
   708                         EMbmAvkonQgn_indi_signal_uma_multipdp_mask, KRgbGray );                      
       
   709                         break;
       
   710                         
   558             // Default in all situations
   711             // Default in all situations
   559             default:
   712             default:
   560                 AknsUtils::CreateColorIconL( skin,
   713                 AknsUtils::CreateColorIconL( skin,
   561                                              KAknsIIDQgnPropSignalIcon,
   714                                              KAknsIIDQgnPropSignalIcon,
   562                                              KAknsIIDQsnIconColors,
   715                                              KAknsIIDQsnIconColors,
   676 // Second-phase constructor.
   829 // Second-phase constructor.
   677 // ---------------------------------------------------------------------------
   830 // ---------------------------------------------------------------------------
   678 //
   831 //
   679 void CAknSignalIcon::ConstructL()
   832 void CAknSignalIcon::ConstructL()
   680 	{
   833 	{
       
   834 	CRepository* repo = CRepository::NewL( KCRUidAvkon );
       
   835 
       
   836     TInt aTTEnabled = EFalse;
       
   837     iATTEnable = EFalse;
       
   838     TInt crErr = repo->Get( KAknATTSignalIconEnable, aTTEnabled );
       
   839     if ( crErr == KErrNone )
       
   840         {
       
   841         iATTEnable = aTTEnabled;
       
   842         }
       
   843     delete repo;
       
   844     repo = NULL;
   681 	}
   845 	}
   682 
   846 
   683 //  End of File  
   847 //  End of File