--- a/uifw/EikStd/coctlsrc/EIKMENUP.CPP Wed Jun 09 09:58:37 2010 +0300
+++ b/uifw/EikStd/coctlsrc/EIKMENUP.CPP Mon Jun 21 15:57:43 2010 +0300
@@ -239,7 +239,8 @@
ESkipScrollbarUpdate,
EHighlightEnabled,
EHideViewSpecificCommands,
- EHideMarkAndUnmark
+ EHideMarkAndUnmark,
+ EHideItemActionCommands
};
/**
@@ -489,6 +490,12 @@
_AKNTRACE( "delta = %d", delta );
_AKNTRACE( "iViewPosition(%d,%d)", iViewPosition.iX, iViewPosition.iY );
+ //here checking the delta whether it is changed.
+ //if it is changed,the view must be drawn using the below code.
+ if ( delta != 0 )
+ {
+ aDrawNow = ETrue;
+ }
if ( aDrawNow )
{
if ( iFlags.IsClear( ESkipScrollbarUpdate ) )
@@ -1248,6 +1255,7 @@
}
iFlags.Clear( EHideItemSpecificCommands );
+ iFlags.Clear( EHideItemActionCommands );
iFlags.Clear( EContextSensitive );
iFlags.Clear( EHighlightEnabled );
iFlags.Clear( EHideViewSpecificCommands );
@@ -1356,9 +1364,16 @@
{
iFlags.Set( EContextSensitive );
}
- else if ( ownerFlags.IsSet( EHideItemSpecificCommands ) )
+ else
{
- iControl->SetItemCommandsStateL( ETrue );
+ if ( ownerFlags.IsSet( EHideItemSpecificCommands ) )
+ {
+ iControl->SetItemCommandsStateL( ETrue );
+ }
+ if ( ownerFlags.IsSet( EHideItemActionCommands ) )
+ {
+ iControl->SetItemActionsStateL( ETrue );
+ }
}
}
}
@@ -2826,13 +2841,18 @@
skin->GetCachedItemData( KAknsIIDQgnIndiSubmenu, EAknsITMaskedBitmap ) );
if( itemData )
{
+ AknIconUtils::SetSize( itemData->Bitmap(),cascadeRect.Rect().Size() );
aGc.BitBltMasked( cascadeRect.Rect().iTl, itemData->Bitmap(),
cascadeRect.Rect().Size(), itemData->Mask(), ETrue );
}
else
{
- aGc.BitBltMasked( cascadeRect.Rect().iTl, iExtension->iCascadeBitmap,
- cascadeRect.Rect().Size(), iExtension->iCascadeBitmapMask, ETrue );
+ if ( iExtension->iCascadeBitmap && iExtension->iCascadeBitmapMask )
+ {
+ AknIconUtils::SetSize( iExtension->iCascadeBitmap,cascadeRect.Rect().Size() );
+ aGc.BitBltMasked( cascadeRect.Rect().iTl, iExtension->iCascadeBitmap,
+ cascadeRect.Rect().Size(), iExtension->iCascadeBitmapMask, ETrue );
+ }
}
}
else
@@ -6616,6 +6636,34 @@
}
}
+// -----------------------------------------------------------------------------
+// CEikMenuPane::SetItemActionsStateL
+// -----------------------------------------------------------------------------
+//
+void CEikMenuPane::SetItemActionsStateL( TBool aDimmed )
+ {
+ if ( iExtension && iExtension->iFlags.IsSet(
+ CEikMenuPaneExtension::ESingleClickEnabled ) )
+ {
+ if ( aDimmed )
+ {
+ iExtension->iFlags.Set(
+ CEikMenuPaneExtension::EHideItemActionCommands );
+ }
+
+ for ( TInt i = 0; i < iItemArray->Count(); ++i )
+ {
+ CEikMenuPaneItem* item = iItemArray->At( i );
+ TBool itemActionItem(
+ item->iData.iFlags & EEikMenuItemAction );
+ // Dim item specific items
+ if ( aDimmed && itemActionItem )
+ {
+ item->iData.iFlags |= EEikMenuItemDimmed;
+ }
+ }
+ }
+ }
// -----------------------------------------------------------------------------
// CEikMenuPane::AddMenuItemsToItemActionMenuL