diff -r 2e6c4614c58e -r ea6e024ea6f9 cmmanager/cmmgr/Framework/Src/cmdlg.cpp --- a/cmmanager/cmmgr/Framework/Src/cmdlg.cpp Fri Feb 19 23:12:51 2010 +0200 +++ b/cmmanager/cmmgr/Framework/Src/cmdlg.cpp Fri Mar 12 15:44:18 2010 +0200 @@ -198,9 +198,10 @@ CEikMenuPane* aMenuPane ) { CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + if ( aResourceId == R_CM_MENU ) { - if (aResourceId == R_CM_MENU && !iCmManager->IsHelpOn()) + if ( !iCmManager->IsHelpOn() ) { aMenuPane->DeleteMenuItem( EAknCmdHelp ); } @@ -243,18 +244,27 @@ hidePrioritise = ETrue; } } - + + // All item specific options need to be dimmed if in prioritising view + if ( iPrioritising ) + { + hideEdit = ETrue; + hideAdd = ETrue; + hideRename = ETrue; + hideDelete = ETrue; + hideCopy = ETrue; + hideMove = ETrue; + hidePrioritise = ETrue; + } + // Show or hide menu items - if ( aResourceId == R_CM_MENU ) - { - aMenuPane->SetItemDimmed( ECmManagerUiCmdCmEdit, hideEdit ); - aMenuPane->SetItemDimmed( ECmManagerUiCmdCmAdd, hideAdd ); - aMenuPane->SetItemDimmed( ECmManagerUiCmdCmRename, hideRename ); - aMenuPane->SetItemDimmed( ECmManagerUiCmdCmDelete, hideDelete ); - aMenuPane->SetItemDimmed( ECmManagerUiCmdCmPrioritise, hidePrioritise ); - aMenuPane->SetItemDimmed( ECmManagerUiCmdCmMoveToOtherDestination, hideMove ); - aMenuPane->SetItemDimmed( ECmManagerUiCmdCmCopyToOtherDestination, hideCopy ); - } + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmEdit, hideEdit ); + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmAdd, hideAdd ); + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmRename, hideRename ); + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmDelete, hideDelete ); + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmPrioritise, hidePrioritise ); + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmMoveToOtherDestination, hideMove ); + aMenuPane->SetItemDimmed( ECmManagerUiCmdCmCopyToOtherDestination, hideCopy ); } } @@ -1229,7 +1239,12 @@ { User::LeaveIfError( err ); } - + + if ( !cm ) + { + return; + } + // Must reload here in case another app changed the data (CurrentCML loads // only if not already loaded) cm->ReLoadL();