messagingappbase/mce/src/MceMessageListView.cpp
branchRCL_3
changeset 77 da6ac9d688df
parent 71 17302fa075e1
equal deleted inserted replaced
71:17302fa075e1 77:da6ac9d688df
    92 const TUid KMailTechnologyTypeUid = { 0x10001671 };
    92 const TUid KMailTechnologyTypeUid = { 0x10001671 };
    93 
    93 
    94 // These are for opening the viewer in inbox. 
    94 // These are for opening the viewer in inbox. 
    95 // try to open viewer immediately if there is no other viewer is open
    95 // try to open viewer immediately if there is no other viewer is open
    96 const TInt KMceLaunchViewerStartTime = 1; 
    96 const TInt KMceLaunchViewerStartTime = 1; 
    97 //0.3 sec delay is taken to ensure previously launched viewer is closed as to avoid the crashes and KErrCancel/KErrInUse errors due to launching of new viewer when currently running 
    97 //0.3 sec is taken to ensure previously launched viewer is closed as to avoid the crashes and KErrCancel/KErrInUse errors due to launching of new viewer when currently running 
    98 //viewer is still in the process of exiting
    98 //viewer is still in the process of exiting
    99 const TInt KMceLaunchViewerStartTimeWhenEditorOpen = 300000; 
    99 const TInt KMceLaunchViewerStartTimeWhenEditorOpen = 300000; 
   100 const TInt KMceLaunchViewerRetryTime = 500000; // wait 0.5 secs for the next trial
   100 const TInt KMceLaunchViewerRetryTime = 500000; // wait 0.5 secs for the next trial
   101 const TInt KMceLaunchViewerRetryCounter = 20; // so editors have approx 10 secs to save...
   101 const TInt KMceLaunchViewerRetryCounter = 20; // so editors have approx 10 secs to save...
   102 
   102 
   481     if ( !iDateTimeNotifier->IsActive() )
   481     if ( !iDateTimeNotifier->IsActive() )
   482         {
   482         {
   483         iDateTimeNotifier->Start();            
   483         iDateTimeNotifier->Start();            
   484         }
   484         }
   485      
   485      
   486     // if we are in marking mode then "press" rsk
       
   487     // cancel to return to normal mode
       
   488     if( iMarkingModeOn )
       
   489         {
       
   490         SetMarkingModeOff();
       
   491         }
       
   492     MCELOGGER_LEAVEFN("CMceMessageListView::DoActivateL()");
   486     MCELOGGER_LEAVEFN("CMceMessageListView::DoActivateL()");
   493     }
   487     }
   494 
   488 
   495 
   489 
   496 // ----------------------------------------------------
   490 // ----------------------------------------------------
   558                  iMsgListContainer->FolderEntry().iMtm == KSenduiMtmPop3Uid )
   552                  iMsgListContainer->FolderEntry().iMtm == KSenduiMtmPop3Uid )
   559                 {
   553                 {
   560                 iMceUi->GoOfflineL( iMsgListContainer->FolderEntry().iServiceId );
   554                 iMceUi->GoOfflineL( iMsgListContainer->FolderEntry().iServiceId );
   561                 }
   555                 }
   562             break;
   556             break;
   563             }          
   557             }
       
   558         case EAknCmdMark:
       
   559             {
       
   560             iMsgListContainer->AddCurrentItemToSelectionL();
       
   561             SetMSKButtonL();
       
   562             break;
       
   563             }
       
   564         case EAknCmdUnmark:
       
   565             {
       
   566             iMsgListContainer->RemoveCurrentItemFromSelection();
       
   567             SetMSKButtonL();
       
   568             break;
       
   569             }
       
   570         case EAknUnmarkAll:
       
   571             {
       
   572             iMsgListContainer->ClearSelection();
       
   573             SetMSKButtonL();
       
   574             break;
       
   575             }
       
   576 
       
   577         case EAknMarkAll:
       
   578             {
       
   579             iMsgListContainer->AddAllToSelectionL();
       
   580             SetMSKButtonL();
       
   581             break;
       
   582             }
       
   583             
   564         case  EAknCmdMarkReadMsgs:
   584         case  EAknCmdMarkReadMsgs:
   565             {
   585             {
   566             FindAllReadMsgAndMarkL();
   586             FindAllReadMsgAndMarkL();
   567             break;
   587             break;
   568             }
   588             }
  1009 		}
  1029 		}
  1010         
  1030         
  1011     switch ( aResourceId )
  1031     switch ( aResourceId )
  1012         {
  1032         {
  1013         case R_MCE_FOLDER_MENU:
  1033         case R_MCE_FOLDER_MENU:
       
  1034             if(!listPopulated)
       
  1035                 {
       
  1036             	aMenuPane->SetItemDimmed( EMceCmdEditList, ETrue );
       
  1037                 }
  1014             aMenuPane->SetItemDimmed( EAknCmdHelp,
  1038             aMenuPane->SetItemDimmed( EAknCmdHelp,
  1015                 !FeatureManager::FeatureSupported( KFeatureIdHelp ) );
  1039                 !FeatureManager::FeatureSupported( KFeatureIdHelp ) );
  1016 
  1040 
  1017             iMsgListContainer->MarkItemSelectionL();
  1041             iMsgListContainer->MarkItemSelectionL();
  1018             if ( !iHideExitCommand &&
  1042             if ( !iHideExitCommand &&
  1079 				                                         ETrue);
  1103 				                                         ETrue);
  1080                 HandleContainerOptionsMenuL( aMenuPane );				                                         
  1104                 HandleContainerOptionsMenuL( aMenuPane );				                                         
  1081                 }
  1105                 }
  1082             
  1106             
  1083             break;
  1107             break;
  1084 
  1108         case R_MCE_EDIT_MENU:
       
  1109             EditMenuL( aMenuPane );
       
  1110             break;
  1085         case R_MCE_FETCH_MENU:
  1111         case R_MCE_FETCH_MENU:
  1086             FetchMenuL( aMenuPane );
  1112             FetchMenuL( aMenuPane );
  1087             break;        
  1113             break;        
  1088 
  1114 
  1089         case R_MCE_SENDVIA_MENU:
  1115         case R_MCE_SENDVIA_MENU:
  1418 		{
  1444 		{
  1419 		aMenuPane->SetItemDimmed( EMceCmdSort, ETrue ); 	
  1445 		aMenuPane->SetItemDimmed( EMceCmdSort, ETrue ); 	
  1420 		}
  1446 		}
  1421     if ( iFolderId == KMsvGlobalOutBoxIndexEntryId )
  1447     if ( iFolderId == KMsvGlobalOutBoxIndexEntryId )
  1422         {
  1448         {
  1423         aMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
  1449         aMenuPane->SetItemDimmed( EMceCmdEditList, ETrue );
  1424         }
  1450         }
  1425     else if ( count > 0 && totalCount == subfolderCount )
  1451     else if ( count > 0 && totalCount == subfolderCount )
  1426         {
  1452         {
  1427         // only folders in the list, then "Edit" submenu would be empty so delete it
  1453         // only folders in the list, then "Edit" submenu would be empty so delete it
  1428         aMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
  1454         aMenuPane->SetItemDimmed( EMceCmdEditList, ETrue );
  1429         aMenuPane->SetItemDimmed( EMceCmdSort, ETrue );  
  1455         aMenuPane->SetItemDimmed( EMceCmdSort, ETrue );  
  1430         }
  1456         }
  1431 
  1457 
  1432     aMenuPane->SetItemDimmed( EMceCmdExit, iHideExitCommand );
  1458     aMenuPane->SetItemDimmed( EMceCmdExit, iHideExitCommand );
  1433     aMenuPane->SetItemDimmed( EAknCmdOpen, iHideExitCommand );
  1459     aMenuPane->SetItemDimmed( EAknCmdOpen, iHideExitCommand );
  1567 // CMceMessageListView::FolderMenuNoItemsL
  1593 // CMceMessageListView::FolderMenuNoItemsL
  1568 // ----------------------------------------------------
  1594 // ----------------------------------------------------
  1569 void CMceMessageListView::FolderMenuNoItemsL( CEikMenuPane* aMenuPane ) const
  1595 void CMceMessageListView::FolderMenuNoItemsL( CEikMenuPane* aMenuPane ) const
  1570     {
  1596     {
  1571     aMenuPane->SetItemDimmed( EAknCmdOpen, ETrue );
  1597     aMenuPane->SetItemDimmed( EAknCmdOpen, ETrue );
  1572     aMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
  1598     aMenuPane->SetItemDimmed( EMceCmdEditList, ETrue );
  1573     aMenuPane->SetItemDimmed( EMceCmdDelete, ETrue );
  1599     aMenuPane->SetItemDimmed( EMceCmdDelete, ETrue );
  1574     aMenuPane->SetItemDimmed( EMceCmdUndelete, ETrue );
  1600     aMenuPane->SetItemDimmed( EMceCmdUndelete, ETrue );
  1575     aMenuPane->SetItemDimmed( EMceCmdMove, ETrue );
  1601     aMenuPane->SetItemDimmed( EMceCmdMove, ETrue );
  1576     aMenuPane->SetItemDimmed( EMceCmdOutboxMoveToDrafts, ETrue );
  1602     aMenuPane->SetItemDimmed( EMceCmdOutboxMoveToDrafts, ETrue );
  1577     aMenuPane->SetItemDimmed( EMceCmdCopy, ETrue );
  1603     aMenuPane->SetItemDimmed( EMceCmdCopy, ETrue );
  2212 	aMenuPane->SetItemDimmed( EMceCmdOutboxStart, ETrue );
  2238 	aMenuPane->SetItemDimmed( EMceCmdOutboxStart, ETrue );
  2213 	aMenuPane->SetItemDimmed( EMceCmdOutboxMoveToDrafts, ETrue );
  2239 	aMenuPane->SetItemDimmed( EMceCmdOutboxMoveToDrafts, ETrue );
  2214 	aMenuPane->SetItemDimmed( EMceCmdNewFolder, ETrue );
  2240 	aMenuPane->SetItemDimmed( EMceCmdNewFolder, ETrue );
  2215 	aMenuPane->SetItemDimmed( EMceCmdRenameFolder, ETrue );
  2241 	aMenuPane->SetItemDimmed( EMceCmdRenameFolder, ETrue );
  2216 	aMenuPane->SetItemDimmed( EMceCmdCopy, ETrue );
  2242 	aMenuPane->SetItemDimmed( EMceCmdCopy, ETrue );
  2217 	aMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
  2243 	aMenuPane->SetItemDimmed( EMceCmdEditList, ETrue );
  2218 	aMenuPane->SetItemDimmed( EMceCmdMailboxSettings, ETrue );
  2244 	aMenuPane->SetItemDimmed( EMceCmdMailboxSettings, ETrue );
  2219 	// + MessageDetails
  2245 	// + MessageDetails
  2220 	}
  2246 	}
  2221 
  2247 
  2222 // ----------------------------------------------------
  2248 // ----------------------------------------------------
  2276 		}
  2302 		}
  2277 
  2303 
  2278 	// SyncML Outbox
  2304 	// SyncML Outbox
  2279 	if ( SyncMlOutboxInbox( KMsvGlobalOutBoxIndexEntryIdValue ) )
  2305 	if ( SyncMlOutboxInbox( KMsvGlobalOutBoxIndexEntryIdValue ) )
  2280 		{		
  2306 		{		
  2281 		aMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
  2307 		aMenuPane->SetItemDimmed( EMceCmdEditList, ETrue );
  2282 		aMenuPane->SetItemDimmed( EAknCmdOpen, ETrue );
  2308 		aMenuPane->SetItemDimmed( EAknCmdOpen, ETrue );
  2283 		aMenuPane->SetItemDimmed( EMceCmdFetch, ETrue );
  2309 		aMenuPane->SetItemDimmed( EMceCmdFetch, ETrue );
  2284 		aMenuPane->SetItemDimmed( EMceCmdMarkAsRead, ETrue );
  2310 		aMenuPane->SetItemDimmed( EMceCmdMarkAsRead, ETrue );
  2285 		aMenuPane->SetItemDimmed( EMceCmdMarkAsUnread, ETrue );
  2311 		aMenuPane->SetItemDimmed( EMceCmdMarkAsUnread, ETrue );
  2286 		aMenuPane->SetItemDimmed( EMceCmdSort, ETrue );
  2312 		aMenuPane->SetItemDimmed( EMceCmdSort, ETrue );
  4228 // ---------------------------------------------------- 
  4254 // ---------------------------------------------------- 
  4229 void CMceMessageListView::GetLocalScreenClearer( CAknLocalScreenClearer** &aClearer )        
  4255 void CMceMessageListView::GetLocalScreenClearer( CAknLocalScreenClearer** &aClearer )        
  4230     {
  4256     {
  4231     aClearer = &iLocalScreenClearer;
  4257     aClearer = &iLocalScreenClearer;
  4232     }
  4258     }
  4233 // ----------------------------------------------------
       
  4234 // CMceMessageListView::SetMarkingMode( TBool aMarkingModeOn )
       
  4235 // ---------------------------------------------------- 
       
  4236 
       
  4237 void CMceMessageListView::SetMarkingMode( TBool aMarkingModeOn )
       
  4238     {
       
  4239     iMarkingModeOn = aMarkingModeOn;
       
  4240     }
       
  4241 // ----------------------------------------------------
       
  4242 // CMceMessageListView::MarkingMode() const
       
  4243 // ---------------------------------------------------- 
       
  4244 
       
  4245 TBool CMceMessageListView::MarkingMode() const
       
  4246     {
       
  4247     return iMarkingModeOn;  
       
  4248     }	
       
  4249 // ----------------------------------------------------
       
  4250 // CMceMessageListView::MessageCount() const
       
  4251 // ---------------------------------------------------- 
       
  4252 
       
  4253 TInt CMceMessageListView::MessageCount() const
       
  4254     {
       
  4255     if ( iMsgListContainer )
       
  4256         {
       
  4257         return iMsgListContainer->MessageCount();
       
  4258         }
       
  4259     return 0;
       
  4260     }
       
  4261 // ----------------------------------------------------
       
  4262 // CMceMessageListView::SetMarkingModeOff()
       
  4263 // ---------------------------------------------------- 
       
  4264 
       
  4265 void CMceMessageListView::SetMarkingModeOff()
       
  4266     {
       
  4267     if( iMsgListContainer )
       
  4268         {
       
  4269         iMsgListContainer->SetMarkingModeOff();
       
  4270         }
       
  4271     iMarkingModeOn = EFalse;
       
  4272     }
       
  4273 
  4259 
  4274 //  End of File
  4260 //  End of File