calendarui/views/src/caleneventview.cpp
branchRCL_3
changeset 30 d68a4b5d5885
parent 13 0f07cd1b5772
child 36 9c5b1510919f
equal deleted inserted replaced
27:55d60436f00b 30:d68a4b5d5885
    23 #include <aknbutton.h>
    23 #include <aknbutton.h>
    24 #include <akntoolbar.h>
    24 #include <akntoolbar.h>
    25 #include <calencommands.hrh>            // Calendar commands
    25 #include <calencommands.hrh>            // Calendar commands
    26 #include <calencontext.h>
    26 #include <calencontext.h>
    27 #include <CalenStatusPaneUtils.h>
    27 #include <CalenStatusPaneUtils.h>
       
    28 #include <calcalendarinfo.h>
       
    29 #include <caleninstanceid.h>
    28 
    30 
    29 // user includes
    31 // user includes
    30 #include "caleneventview.h"
    32 #include "caleneventview.h"
    31 #include "calendarui_debug.h"
    33 #include "calendarui_debug.h"
    32 #include "caleneventviewcontainer.h"
    34 #include "caleneventviewcontainer.h"
   155         case EPopulationDone: 
   157         case EPopulationDone: 
   156         default:    
   158         default:    
   157         	{
   159         	{
   158         	cnt->CompletePopulationL();
   160         	cnt->CompletePopulationL();
   159         	RedrawStatusPaneL();
   161         	RedrawStatusPaneL();
       
   162         	UpdateToolbarButtonsL();
   160         	nextStep = CCalenView::EDone;
   163         	nextStep = CCalenView::EDone;
   161         	}
   164         	}
   162         	break;
   165         	break;
   163         }
   166         }
   164     TRACE_EXIT_POINT;  
   167     TRACE_EXIT_POINT;  
   463 //
   466 //
   464 void CCalenEventView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
   467 void CCalenEventView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
   465 	{
   468 	{
   466     TRACE_ENTRY_POINT;
   469     TRACE_ENTRY_POINT;
   467     CCalenEventViewContainer* cnt = static_cast<CCalenEventViewContainer*>( iContainer );
   470     CCalenEventViewContainer* cnt = static_cast<CCalenEventViewContainer*>( iContainer );
       
   471     TCalCollectionId colId = iServices.Context().InstanceId().iColId;
       
   472     // get multiple db data from services
       
   473     RPointerArray<CCalCalendarInfo> calendarInfoList;
       
   474     iServices.GetAllCalendarInfoL(calendarInfoList);
       
   475     CleanupClosePushL(calendarInfoList);
       
   476     
       
   477     HBufC* calendarFileName = iServices.GetCalFileNameForCollectionId(colId).AllocLC();
       
   478     TInt index = calendarInfoList.Find( *calendarFileName, 
       
   479             CCalenEventViewContainer::CalendarInfoIdentifierL);
       
   480    CleanupStack::PopAndDestroy(calendarFileName);
   468     switch(aResourceId)
   481     switch(aResourceId)
   469     	{
   482     	{
   470 	    case R_CALEN_EVENT_VIEW_MENUPANE:
   483 	    case R_CALEN_EVENT_VIEW_MENUPANE:
   471 	    case R_CALEN_EVENT_VIEW_LONGTAP_MENUPANE:
   484 	    case R_CALEN_EVENT_VIEW_LONGTAP_MENUPANE:
   472 	    	{
   485 	    	{
   473 	    	CCalenEntryUtil* eventViewData = cnt->GetEventViewData();
   486 	    	CCalenEntryUtil* eventViewData = cnt->GetEventViewData();
       
   487 	    	
   474 	    	if(eventViewData)
   488 	    	if(eventViewData)
   475 	    	    {
   489 	    	    {
   476 	    	    if(eventViewData->EntryType() == CCalEntry::ETodo)
   490 	    	    if(eventViewData->EntryType() == CCalEntry::ETodo)
   477 	    	        {
   491 	    	        {
   478 	    	        if(eventViewData->Status() == CCalEntry::ETodoCompleted)
   492 	    	        if(eventViewData->Status() == CCalEntry::ETodoCompleted)
   513             else // No map provider available, remove both option items
   527             else // No map provider available, remove both option items
   514 	            {
   528 	            {
   515 	            aMenuPane->DeleteMenuItem( ECalenGetLocationAndReplace );
   529 	            aMenuPane->DeleteMenuItem( ECalenGetLocationAndReplace );
   516 	            aMenuPane->DeleteMenuItem( ECalenShowLocation );	
   530 	            aMenuPane->DeleteMenuItem( ECalenShowLocation );	
   517 	            }
   531 	            }
       
   532 		  	if(!(calendarInfoList[index]->Enabled()))
       
   533 		  	    {
       
   534                 aMenuPane->DeleteMenuItem(ECalenSend);
       
   535                 aMenuPane->DeleteMenuItem(ECalenCmdPromptThenEdit);
       
   536                 aMenuPane->DeleteMenuItem(ECalenDeleteCurrentEntry);
       
   537 		  	    }
       
   538 		  	
       
   539 		  	 
   518 		    break;
   540 		    break;
   519 		  	}
   541 		  	}
   520 		 default:
   542 		 default:
   521 		    {
   543 		    {
   522 		      cnt->GetFindItemMenu()->UpdateItemFinderMenuL(aResourceId,aMenuPane); 
   544 		      cnt->GetFindItemMenu()->UpdateItemFinderMenuL(aResourceId,aMenuPane); 
   523 		    }
   545 		    }
   524 			break;
   546 			break;
   525 		}
   547 		}
   526     
   548     CleanupStack::PopAndDestroy(&calendarInfoList);
   527     TRACE_EXIT_POINT;	
   549     TRACE_EXIT_POINT;	
   528 	}
   550 	}
   529 	
   551 	
   530 // ----------------------------------------------------------------------------
   552 // ----------------------------------------------------------------------------
   531 // CCalenEventView::Id
   553 // CCalenEventView::Id
   760     button->SetFocusing( EFalse );
   782     button->SetFocusing( EFalse );
   761     button->SetBackground( &aToolbar );
   783     button->SetBackground( &aToolbar );
   762 
   784 
   763     TRACE_EXIT_POINT;
   785     TRACE_EXIT_POINT;
   764     return button;
   786     return button;
   765     }    
   787     } 
       
   788     
       
   789 // ----------------------------------------------------------------------------
       
   790 // CCalenEventView::UpdateToolbarButtonsL
       
   791 // Updates the toolbar buttons on the existing toolbar for event viewer
       
   792 // ----------------------------------------------------------------------------
       
   793 //  
       
   794 
       
   795 void CCalenEventView::UpdateToolbarButtonsL()
       
   796     {
       
   797     // Get the existing toolbar from MCalenservices
       
   798     MCalenToolbar* toolbarImpl = iServices.ToolbarOrNull();
       
   799     CAknToolbar& toolbar = toolbarImpl->Toolbar();
       
   800     TCalCollectionId colId = iServices.Context().InstanceId().iColId;
       
   801       
       
   802     // get multiple db data from services
       
   803     RPointerArray<CCalCalendarInfo> calendarInfoList;
       
   804     iServices.GetAllCalendarInfoL(calendarInfoList);
       
   805     CleanupClosePushL(calendarInfoList);
       
   806     
       
   807     HBufC* calendarFileName = iServices.GetCalFileNameForCollectionId(colId).AllocLC();
       
   808     TInt index = calendarInfoList.Find( *calendarFileName, 
       
   809     CCalenEventViewContainer::CalendarInfoIdentifierL);
       
   810     CleanupStack::PopAndDestroy(calendarFileName);
       
   811     
       
   812     
       
   813     if(!(calendarInfoList[index]->Enabled()))
       
   814         {
       
   815         toolbar.SetItemDimmed( ECalenSend, ETrue, ETrue );
       
   816         toolbar.SetItemDimmed( ECalenDeleteCurrentEntry, ETrue, ETrue );
       
   817         toolbar.SetItemDimmed( ECalenEditCurrentEntry, ETrue, ETrue );
       
   818         }
       
   819     else
       
   820         {
       
   821         toolbar.SetItemDimmed( ECalenSend, EFalse, ETrue );
       
   822         toolbar.SetItemDimmed( ECalenDeleteCurrentEntry, EFalse, ETrue );
       
   823         toolbar.SetItemDimmed( ECalenEditCurrentEntry, EFalse, ETrue );
       
   824         }
       
   825     CleanupStack::PopAndDestroy(&calendarInfoList);
       
   826     }
   766 //end of file
   827 //end of file