158 FUNC_LOG; |
158 FUNC_LOG; |
159 // Attachment list for compose screen, owned by AlfEnv |
159 // Attachment list for compose screen, owned by AlfEnv |
160 CAlfControlGroup& attListControlGroup = |
160 CAlfControlGroup& attListControlGroup = |
161 iEnv.NewControlGroupL( KSendAttachmentManagerDisplayGroup ); |
161 iEnv.NewControlGroupL( KSendAttachmentManagerDisplayGroup ); |
162 CFSEmailUiSendAttachmentsListVisualiser* sendAttachmentVisualiser = |
162 CFSEmailUiSendAttachmentsListVisualiser* sendAttachmentVisualiser = |
163 CFSEmailUiSendAttachmentsListVisualiser::NewLC( |
163 CFSEmailUiSendAttachmentsListVisualiser::NewLC( |
164 iEnv, &iAppUi, attListControlGroup ); |
164 iEnv, &iAppUi, attListControlGroup ); |
165 iAppUi.AddViewL( sendAttachmentVisualiser ); |
165 iAppUi.AddViewL( sendAttachmentVisualiser ); |
166 CleanupStack::Pop( sendAttachmentVisualiser ); |
166 CleanupStack::Pop( sendAttachmentVisualiser ); |
167 |
167 |
168 iCrHandler = CFSEmailCRHandler::InstanceL(); // singleton, not owned |
168 iCrHandler = CFSEmailCRHandler::InstanceL(); // singleton, not owned |
431 } |
431 } |
432 |
432 |
433 TIMESTAMP( "Editor launched" ); |
433 TIMESTAMP( "Editor launched" ); |
434 } |
434 } |
435 |
435 |
|
436 // ----------------------------------------------------------------------------- |
|
437 // Initialises toolbar items. |
|
438 // ----------------------------------------------------------------------------- |
|
439 // |
|
440 void CNcsComposeView::DynInitToolbarL( TInt aResourceId, |
|
441 CAknToolbar* aToolbar ) |
|
442 { |
|
443 FUNC_LOG; |
|
444 if ( aResourceId == EFsEmailUiTbCmdExpandActions && aToolbar ) |
|
445 { |
|
446 CAknToolbarExtension* ext = aToolbar->ToolbarExtension(); |
|
447 if ( iContainer ) |
|
448 { |
|
449 // Set correct state for show/hide cc field button. |
|
450 CAknButton* ccButton = Button( EFsEmailUiTbCmdCcField, ext ); |
|
451 if ( ccButton ) |
|
452 { |
|
453 TInt index = iContainer->IsCcFieldVisible() ? 1 : 0; |
|
454 ccButton->SetCurrentState( index, EFalse ); |
|
455 |
|
456 // Command is dimmed, if there is content in the field. |
|
457 ccButton->SetDimmed( iContainer->GetCcFieldLength() > 0 ); |
|
458 } |
|
459 |
|
460 // Set correct state for show/hide bcc field button. |
|
461 CAknButton* bccButton = Button( EFsEmailUiTbCmdBccField, ext ); |
|
462 if ( bccButton ) |
|
463 { |
|
464 TInt index = iContainer->IsBccFieldVisible() ? 1 : 0; |
|
465 bccButton->SetCurrentState( index, EFalse ); |
|
466 |
|
467 // Command is dimmed, if there is content in the field. |
|
468 bccButton->SetDimmed( iContainer->GetBccFieldLength() > 0 ); |
|
469 } |
|
470 } |
|
471 else |
|
472 { |
|
473 ext->HideItemL( EFsEmailUiTbCmdCcField, ETrue ); |
|
474 ext->HideItemL( EFsEmailUiTbCmdBccField, ETrue ); |
|
475 } |
|
476 |
|
477 if ( iNewMessage ) |
|
478 { |
|
479 // Set correct state for low priority button. |
|
480 TBool lowPriority = iNewMessage->IsFlagSet( EFSMsgFlag_Low ); |
|
481 CAknButton* lowPriorityButton = static_cast<CAknButton*>( |
|
482 ext->ControlOrNull( EFsEmailUiTbCmdLowPriority ) ); |
|
483 if ( lowPriorityButton ) |
|
484 { |
|
485 TInt index = lowPriority ? 1 : 0; |
|
486 lowPriorityButton->SetCurrentState( index, EFalse ); |
|
487 } |
|
488 |
|
489 // Set correct state for high priority button. |
|
490 TBool highPriority = iNewMessage->IsFlagSet( EFSMsgFlag_Important ); |
|
491 CAknButton* highPriorityButton = static_cast<CAknButton*>( |
|
492 ext->ControlOrNull( EFsEmailUiTbCmdHighPriority ) ); |
|
493 if ( highPriorityButton ) |
|
494 { |
|
495 TInt index = highPriority ? 1 : 0; |
|
496 highPriorityButton->SetCurrentState( index, EFalse ); |
|
497 } |
|
498 |
|
499 // Set correct state for follow up button. |
|
500 TBool followUp = iNewMessage->IsFlagSet( EFSMsgFlag_FollowUp ); |
|
501 CAknButton* followUpButton = static_cast<CAknButton*>( |
|
502 ext->ControlOrNull( EFsEmailUiTbCmdFollowUp ) ); |
|
503 if ( followUpButton ) |
|
504 { |
|
505 TInt index = followUp ? 1 : 0; |
|
506 followUpButton->SetCurrentState( index, EFalse ); |
|
507 |
|
508 // Hide follow up button, if follow up is not supported. |
|
509 ext->HideItemL( EFsEmailUiTbCmdFollowUp, |
|
510 !TFsEmailUiUtility::IsFollowUpSupported( *iMailBox ) ); |
|
511 } |
|
512 } |
|
513 else |
|
514 { |
|
515 ext->HideItemL( EFsEmailUiTbCmdLowPriority, ETrue ); |
|
516 ext->HideItemL( EFsEmailUiTbCmdHighPriority, ETrue ); |
|
517 ext->HideItemL( EFsEmailUiTbCmdFollowUp, ETrue ); |
|
518 } |
|
519 } |
|
520 } |
436 |
521 |
437 // ----------------------------------------------------------------------------- |
522 // ----------------------------------------------------------------------------- |
438 // CNcsComposeView::OfferToolbarEventL |
523 // CNcsComposeView::OfferToolbarEventL |
439 // ----------------------------------------------------------------------------- |
524 // ----------------------------------------------------------------------------- |
440 void CNcsComposeView::OfferToolbarEventL( TInt aCommand ) |
525 void CNcsComposeView::OfferToolbarEventL( TInt aCommand ) |
441 { |
526 { |
442 FUNC_LOG; |
527 FUNC_LOG; |
443 bool attachmentAddition = EFalse; |
528 TBool attachmentAddition = EFalse; |
444 switch ( aCommand ) |
529 switch ( aCommand ) |
445 { |
530 { |
446 case EFsEmailUiTbCmdSend: |
531 case EFsEmailUiTbCmdSend: |
447 if ( iContainer && iContainer->AreAddressFieldsEmpty() ) |
532 if ( iContainer && iContainer->AreAddressFieldsEmpty() ) |
448 { |
533 { |
451 else |
536 else |
452 { |
537 { |
453 HandleCommandL( ENcsCmdSend ); |
538 HandleCommandL( ENcsCmdSend ); |
454 } |
539 } |
455 break; |
540 break; |
456 case EFsEmailUiTbCmdAddRecipient: |
541 case EFsEmailUiTbCmdCcField: |
457 if ( iContainer ) |
542 { |
|
543 CAknButton* ccFieldButton = Button( EFsEmailUiTbCmdCcField ); |
|
544 if ( ccFieldButton ) |
458 { |
545 { |
459 iContainer->AppendAddressesL(); |
546 if ( ccFieldButton->StateIndex() ) |
|
547 { |
|
548 HandleCommandL( ENcsCmdShowCc ); |
|
549 } |
|
550 else |
|
551 { |
|
552 HandleCommandL( ENcsCmdHideCc ); |
|
553 } |
460 } |
554 } |
461 break; |
555 break; |
|
556 } |
|
557 case EFsEmailUiTbCmdBccField: |
|
558 { |
|
559 CAknButton* bccFieldButton = Button( EFsEmailUiTbCmdBccField ); |
|
560 if ( bccFieldButton ) |
|
561 { |
|
562 if ( bccFieldButton->StateIndex() ) |
|
563 { |
|
564 HandleCommandL( ENcsCmdShowBcc ); |
|
565 } |
|
566 else |
|
567 { |
|
568 HandleCommandL( ENcsCmdHideBcc ); |
|
569 } |
|
570 } |
|
571 break; |
|
572 } |
|
573 case EFsEmailUiTbCmdLowPriority: |
|
574 { |
|
575 CAknButton* lowPriorityButton = Button( EFsEmailUiTbCmdLowPriority ); |
|
576 if ( lowPriorityButton ) |
|
577 { |
|
578 if ( lowPriorityButton->StateIndex() ) |
|
579 { |
|
580 CAknButton* highPriorityButton = Button( |
|
581 EFsEmailUiTbCmdHighPriority ); |
|
582 if ( highPriorityButton ) |
|
583 { |
|
584 highPriorityButton->SetCurrentState( 0, ETrue ); |
|
585 } |
|
586 HandleCommandL( ENcsCmdPriorityLow ); |
|
587 } |
|
588 else |
|
589 { |
|
590 HandleCommandL( ENcsCmdPriorityNormal ); |
|
591 } |
|
592 } |
|
593 break; |
|
594 } |
|
595 case EFsEmailUiTbCmdHighPriority: |
|
596 { |
|
597 CAknButton* highPriorityButton = Button( EFsEmailUiTbCmdHighPriority ); |
|
598 if ( highPriorityButton ) |
|
599 { |
|
600 if ( highPriorityButton->StateIndex() ) |
|
601 { |
|
602 CAknButton* lowPriorityButton = Button( |
|
603 EFsEmailUiTbCmdLowPriority ); |
|
604 if ( lowPriorityButton ) |
|
605 { |
|
606 lowPriorityButton->SetCurrentState( 0, ETrue ); |
|
607 } |
|
608 HandleCommandL( ENcsCmdPriorityHigh ); |
|
609 } |
|
610 else |
|
611 { |
|
612 HandleCommandL( ENcsCmdPriorityNormal ); |
|
613 } |
|
614 } |
|
615 break; |
|
616 } |
|
617 case EFsEmailUiTbCmdFollowUp: |
|
618 { |
|
619 CAknButton* button = Button( EFsEmailUiTbCmdFollowUp ); |
|
620 if ( button && iNewMessage ) |
|
621 { |
|
622 if ( button->StateIndex() ) |
|
623 { |
|
624 iNewMessage->SetFlag( EFSMsgFlag_FollowUp ); |
|
625 iNewMessage->ResetFlag( EFSMsgFlag_FollowUpComplete ); |
|
626 iStatusPaneIndicators->SetFollowUpFlag( |
|
627 CCustomStatuspaneIndicators::EFollowUp ); |
|
628 } |
|
629 else |
|
630 { |
|
631 iNewMessage->ResetFlag( EFSMsgFlag_FollowUp |
|
632 | EFSMsgFlag_FollowUpComplete ); |
|
633 iStatusPaneIndicators->SetFollowUpFlag( |
|
634 CCustomStatuspaneIndicators::EFollowUpNone ); |
|
635 } |
|
636 } |
|
637 break; |
|
638 } |
462 case EFsEmailUiTbCmdInsertAudio: |
639 case EFsEmailUiTbCmdInsertAudio: |
463 iAttachmentAddType = MsgAttachmentUtils::EAudio; |
640 iAttachmentAddType = MsgAttachmentUtils::EAudio; |
464 attachmentAddition = ETrue; |
641 attachmentAddition = ETrue; |
465 break; |
642 break; |
466 case EFsEmailUiTbCmdInsertImage: |
643 case EFsEmailUiTbCmdInsertImage: |
533 if ( iContainer ) |
710 if ( iContainer ) |
534 { |
711 { |
535 // DimAllOptions if remotesearch is in progress, |
712 // DimAllOptions if remotesearch is in progress, |
536 // because it takes you into a different view |
713 // because it takes you into a different view |
537 TBool dimAllOptions = iContainer->IsRemoteSearchInprogress(); |
714 TBool dimAllOptions = iContainer->IsRemoteSearchInprogress(); |
|
715 SetToolbarItemDimmed( EFsEmailUiTbCmdExpandActions, dimAllOptions ); |
538 SetToolbarItemDimmed( EFsEmailUiTbCmdExpandInsert, dimAllOptions ); |
716 SetToolbarItemDimmed( EFsEmailUiTbCmdExpandInsert, dimAllOptions ); |
539 SetToolbarItemDimmed( EFsEmailUiTbCmdSend, |
717 SetToolbarItemDimmed( EFsEmailUiTbCmdSend, dimAllOptions |
540 iContainer->AreAddressFieldsEmpty() ); |
718 || iContainer->AreAddressFieldsEmpty() ); |
541 SetToolbarItemDimmed( EFsEmailUiTbCmdAddRecipient, dimAllOptions ); |
|
542 } |
719 } |
543 } |
720 } |
544 |
721 |
545 |
722 |
546 // ----------------------------------------------------------------------------- |
723 // ----------------------------------------------------------------------------- |
2952 { |
3132 { |
2953 return !( iFakeSyncGoingOn ||iExecutingDoExitL ); |
3133 return !( iFakeSyncGoingOn ||iExecutingDoExitL ); |
2954 } |
3134 } |
2955 |
3135 |
2956 // --------------------------------------------------------------------------- |
3136 // --------------------------------------------------------------------------- |
|
3137 // Returns the speficied button from the toolbar extension, or NULL, |
|
3138 // if the button is not found. |
|
3139 // --------------------------------------------------------------------------- |
|
3140 // |
|
3141 CAknButton* CNcsComposeView::Button( TInt aCmdId, |
|
3142 CAknToolbarExtension* aExtension ) |
|
3143 { |
|
3144 CAknButton* button = NULL; |
|
3145 |
|
3146 // Get toolbar extension. |
|
3147 CAknToolbarExtension* extension = aExtension; |
|
3148 if ( !aExtension ) |
|
3149 { |
|
3150 CAknToolbar* toolbar = Toolbar(); |
|
3151 if ( toolbar ) |
|
3152 { |
|
3153 extension = toolbar->ToolbarExtension(); |
|
3154 } |
|
3155 } |
|
3156 |
|
3157 // Get specified button from the extension. |
|
3158 if ( extension ) |
|
3159 { |
|
3160 button = static_cast<CAknButton*>( extension->ControlOrNull( aCmdId ) ); |
|
3161 } |
|
3162 |
|
3163 return button; |
|
3164 } |
|
3165 |
|
3166 // --------------------------------------------------------------------------- |
2957 // CActiveHelper::NewL() |
3167 // CActiveHelper::NewL() |
2958 // --------------------------------------------------------------------------- |
3168 // --------------------------------------------------------------------------- |
2959 // |
3169 // |
2960 CActiveHelper* CActiveHelper::NewL( CNcsComposeView* aSession ) |
3170 CActiveHelper* CActiveHelper::NewL( CNcsComposeView* aSession ) |
2961 { |
3171 { |