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" |
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 |