uifw/EikStd/coctlsrc/EIKCTGRP.CPP
branchRCL_3
changeset 64 85902f042028
parent 0 2f259fa3e83a
child 72 a5e7a4f63858
equal deleted inserted replaced
59:978afdc0236f 64:85902f042028
   346 
   346 
   347 EXPORT_C TInt CEikControlGroup::CountComponentControls() const
   347 EXPORT_C TInt CEikControlGroup::CountComponentControls() const
   348 	{
   348 	{
   349     TInt count = iControlArray->Count();
   349     TInt count = iControlArray->Count();
   350 
   350 
   351 	// This prevents MSK from drawing in landscape layouts.
   351     // count == 4 means MSK is on, but when it is disabled by EDisableMSKDrawing,
   352 	// Also MSK doesn't even need to be activated in landscape modes.
   352     // we should decrease the count to avoid drawing it.
   353     if ( count == 4 )
   353     if ( count == 4 && ( iLayout & EDisableMSKDrawing ) )
   354         {   
   354         {
   355         // Exception is made for idle flat status pane layouts,
   355         count--;
   356         // in which the MSK is used also in landscape.
       
   357         TBool mskSupportedLscLayoutActive(
       
   358             AVKONENV->StatusPaneResIdForCurrentLayout(
       
   359                 AknStatuspaneUtils::CurrentStatusPaneLayoutResId() ) ==
       
   360                     R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT_NO_SOFTKEYS );
       
   361 
       
   362         if ( iLayout & EDisableMSKDrawing ||
       
   363              ( Layout_Meta_Data::IsLandscapeOrientation() && 
       
   364                !mskSupportedLscLayoutActive ) )
       
   365             {
       
   366             count--;
       
   367             }
       
   368         }
   356         }
   369 
   357 
   370 	return count;
   358 	return count;
   371 	}
   359 	}
   372 
   360