uifw/EikStd/coctlsrc/EIKMENUB.CPP
branchRCL_3
changeset 15 c52421ed5f07
parent 13 a8834a2e9a96
child 17 a1caeb42b3a3
equal deleted inserted replaced
13:a8834a2e9a96 15:c52421ed5f07
   180             TBool dimMarkAndUnmark( EFalse ); 
   180             TBool dimMarkAndUnmark( EFalse ); 
   181             if ( iItemActionMenu->MarkingMode().MultipleMarkingActive() )
   181             if ( iItemActionMenu->MarkingMode().MultipleMarkingActive() )
   182                 {
   182                 {
   183                 changeState = ETrue;
   183                 changeState = ETrue;
   184                 dimCommands = EFalse;
   184                 dimCommands = EFalse;
       
   185                 iBar->iMenuPane->SetItemActionsStateL( ETrue );
   185                 }
   186                 }
   186             else if ( !iItemActionMenu->CollectionHighlightVisible() )
   187             else if ( !iItemActionMenu->CollectionHighlightVisible() )
   187                 {
   188                 {
   188                 if ( iItemActionMenu->CollectionHasMarkedItems() )
   189                 if ( iItemActionMenu->CollectionHasMarkedItems() )
   189                     {
   190                     {
   194                         }
   195                         }
   195                     if ( iBar->iMenuPane->MenuItemExists( EAknCmdUnmark, pos ) ) 
   196                     if ( iBar->iMenuPane->MenuItemExists( EAknCmdUnmark, pos ) ) 
   196                         {
   197                         {
   197                         iBar->iMenuPane->SetItemDimmed( EAknCmdUnmark, ETrue ); 
   198                         iBar->iMenuPane->SetItemDimmed( EAknCmdUnmark, ETrue ); 
   198                         } 
   199                         } 
       
   200                     iBar->iMenuPane->SetItemActionsStateL( ETrue );
   199                     dimMarkAndUnmark = ETrue; 
   201                     dimMarkAndUnmark = ETrue; 
   200                     }
   202                     }
   201                 else 
   203                 else 
   202                     {
   204                     {
   203                     changeState = ETrue;
   205                     changeState = ETrue;
  1010         while ( titles >= 0 )
  1012         while ( titles >= 0 )
  1011             {
  1013             {
  1012             TInt resource =
  1014             TInt resource =
  1013                 ( *iTitleArray )[ titles ]->iData.iMenuPaneResourceId;
  1015                 ( *iTitleArray )[ titles ]->iData.iMenuPaneResourceId;
  1014             iMenuPane->AddMenuItemsL( resource, 0, ETrue );
  1016             iMenuPane->AddMenuItemsL( resource, 0, ETrue );
       
  1017             // Multiple marking mode active
       
  1018             if ( markedItems && resource == R_AVKON_MENUPANE_MARK_MULTIPLE )
       
  1019                 {
       
  1020                 if ( !marking->CollectionEmpty() )
       
  1021                     {
       
  1022                     iMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkAll, EFalse );
       
  1023                     // Setting the item item specific so it will be shown in menu
       
  1024                     iMenuPane->SetItemSpecific( EAknCmdMarkingModeMarkAll, ETrue ); 
       
  1025                     }
       
  1026 
       
  1027                 if ( markedItems )
       
  1028                     {
       
  1029                     iMenuPane->SetItemDimmed( EAknCmdMarkingModeUnmarkAll, EFalse );
       
  1030                     // Setting the item item specific so it will be shown in menu
       
  1031                     iMenuPane->SetItemSpecific( EAknCmdMarkingModeUnmarkAll, ETrue ); 
       
  1032                     }
       
  1033 
       
  1034                 iMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkOne, ETrue );
       
  1035                 iMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
       
  1036                 }
       
  1037             else if ( resource == R_AVKON_MENUPANE_MARK_MULTIPLE )
       
  1038                 {
       
  1039                 iMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkOne, ETrue );
       
  1040                 }
  1015             iMenuObserver->DynInitMenuPaneL( resource, iMenuPane );
  1041             iMenuObserver->DynInitMenuPaneL( resource, iMenuPane );
  1016             if ( fepMenuObserver )
  1042             if ( fepMenuObserver )
  1017                 fepMenuObserver->DynInitMenuPaneL( resource, iMenuPane );
  1043                 fepMenuObserver->DynInitMenuPaneL( resource, iMenuPane );
  1018             if ( iActiveEditMenuObserver )
  1044             if ( iActiveEditMenuObserver )
  1019                 {
  1045                 {
  1020                 iActiveEditMenuObserver->DynInitMenuPaneL(
  1046                 iActiveEditMenuObserver->DynInitMenuPaneL(
  1021                         resource,iMenuPane );
  1047                         resource,iMenuPane );
  1022                 }
  1048                 }
  1023 
       
  1024             if ( resource == R_AVKON_MENUPANE_MARK_MULTIPLE )
       
  1025                 {
       
  1026                 iMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkOne, ETrue );
       
  1027                 }
       
  1028             iMenuPane->FilterDimmedItems();
  1049             iMenuPane->FilterDimmedItems();
  1029             titles--;
  1050             titles--;
  1030             }
  1051             }
  1031         iExt->SetItemCommandsStateL();
  1052         iExt->SetItemCommandsStateL();
  1032         iMenuPane->FilterDimmedItems();
  1053         iMenuPane->FilterDimmedItems();
  1033         }
  1054         }
  1034 
  1055     // If no marked items but marking mode is active we need to add "Mark all"
  1035     // Multiple marking mode active
  1056     // and "Unmark all" to menu. 
  1036     if ( marking )
  1057     else if ( marking )
  1037         {
  1058         {
  1038         iMenuPane->AddMenuItemsL( R_AVKON_MENUPANE_MARK_MULTIPLE, 0, ETrue );
  1059         TInt resource( R_AVKON_MENUPANE_MARK_MULTIPLE ); 
       
  1060         iMenuPane->AddMenuItemsL( resource, 0, ETrue );
  1039 
  1061 
  1040         if ( !marking->CollectionEmpty() )
  1062         if ( !marking->CollectionEmpty() )
  1041             {
  1063             {
  1042             iMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkAll, EFalse );
  1064             iMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkAll, EFalse );
  1043             }
  1065             }
  1047             iMenuPane->SetItemDimmed( EAknCmdMarkingModeUnmarkAll, EFalse );
  1069             iMenuPane->SetItemDimmed( EAknCmdMarkingModeUnmarkAll, EFalse );
  1048             }
  1070             }
  1049 
  1071 
  1050         iMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkOne, ETrue );
  1072         iMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkOne, ETrue );
  1051         iMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
  1073         iMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
       
  1074         iMenuObserver->DynInitMenuPaneL( resource, iMenuPane ); 
  1052         iMenuPane->FilterDimmedItems();
  1075         iMenuPane->FilterDimmedItems();
  1053         }
  1076         }
  1054 
  1077 
  1055     iMenuObserver->SetEmphasis(this,ETrue);
  1078     iMenuObserver->SetEmphasis(this,ETrue);
  1056 	iMenuCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba, 
  1079 	iMenuCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba,