phonebookui/Phonebook2/ccapplication/ccapp/src/ccaappstatuspanehandler.cpp
branchRCL_3
changeset 9 0d28c1c5b6dd
parent 0 e686773b3f54
--- a/phonebookui/Phonebook2/ccapplication/ccapp/src/ccaappstatuspanehandler.cpp	Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/src/ccaappstatuspanehandler.cpp	Tue Apr 27 16:23:35 2010 +0300
@@ -18,8 +18,11 @@
 
 // INCLUDE FILES
 #include "ccappheaders.h"
+#include "ccappcommlauncherpluginuids.hrh"
+#include "ccappdetailsviewpluginuids.hrh"
 #include <aknlayoutscalable_avkon.cdl.h>
 
+
 // ======== MEMBER FUNCTIONS ========
 
 // ---------------------------------------------------------------------------
@@ -190,7 +193,7 @@
     CCCAppPluginData* data = iView.PluginLoader().PluginAt( aPlugin );
     //Bitmaps provided
 
-    if( !iView.PluginLoader().PluginAt( aPlugin )->iPluginBitmap )  
+    if( !data->iPluginBitmap )  
         {
         CAknIcon* icon = CAknIcon::NewL();
         CleanupStack::PushL( icon );        
@@ -198,10 +201,7 @@
                   CCCAppViewPluginBase::ECCAppTabIcon, *icon );
         data->iPluginBitmap = icon->Bitmap();
         data->iPluginBitmapMask = icon->Mask();
-
-        // Disable compression to check icon color scheme later
-        AknIconUtils::DisableCompression( data->iPluginBitmap );
-
+                
         //Calculate preferred size for icons   
         TRect mainPane;
         AknLayoutUtils::LayoutMetricsRect(
@@ -214,6 +214,7 @@
 
         AknIconUtils::SetSize( data->iPluginBitmap, size );         
         AknIconUtils::SetSize( data->iPluginBitmapMask, size );
+
         icon->SetBitmap( NULL );
         icon->SetMask( NULL );
         CleanupStack::PopAndDestroy( icon );        
@@ -231,7 +232,7 @@
     {
     CCCAppPluginData* data = iView.PluginLoader().PluginAt( aPlugin );
 
-    if(iTabGroupRef && iView.PluginLoader().PluginAt( aPlugin )->PluginVisibility() == 1) 
+    if(iTabGroupRef && data->PluginVisibility() == 1) 
         {
         if(data->iPluginBitmap)
             {
@@ -244,10 +245,15 @@
             bmp->Duplicate(data->iPluginBitmap->Handle());   
             bmpMask->Duplicate(data->iPluginBitmapMask->Handle());
             iTabGroupRef->AddTabL( aPlugin, bmp, bmpMask );
-            CleanupStack::Pop(2); //bmp, bmpmask    
-
-            SEpocBitmapHeader header = bmp->Header();
-            if ( SEpocBitmapHeader::ENoColor != header.iColor )
+            CleanupStack::Pop(2); //bmp, bmpmask                
+            
+            // CCA-Launcher and Details-View icons are GrayScale, but are detected as with color.
+            // They shall display dark on clear background and clear on dark background.
+            // SetTabMultiColorMode disables color inversion therefore it does not have to be
+            // called for those tabs.
+            TUid pluginUid = data->Plugin().Id();
+            if (pluginUid != TUid::Uid(KCCACommLauncherPluginImplmentationUid) &&
+                pluginUid != TUid::Uid(KCCADetailsViewPluginImplmentationUid))
                 {
                 iTabGroupRef->SetTabMultiColorMode( aPlugin, ETrue );
                 }