72 iEMCallActivated( EFalse ), |
72 iEMCallActivated( EFalse ), |
73 iShowingEMNumber( EFalse ), |
73 iShowingEMNumber( EFalse ), |
74 iPreviousCharacterWasInvalid( EFalse ), |
74 iPreviousCharacterWasInvalid( EFalse ), |
75 iPrioritySet( EFalse ), |
75 iPrioritySet( EFalse ), |
76 iPriorityDropped( EFalse ), |
76 iPriorityDropped( EFalse ), |
77 iKeyUsed ( NULL ) |
77 iKeyUsed ( NULL ), |
|
78 isCallSoftkeyAdded(EFalse) |
78 { |
79 { |
79 } |
80 } |
80 |
81 |
81 // |
82 // |
82 // ---------------------------------------------------------- |
83 // ---------------------------------------------------------- |
535 // An emergency number is entered, show the text in the field |
536 // An emergency number is entered, show the text in the field |
536 QueryControl()->SetTextL( iEcsDetector->CurrentMatch() ); |
537 QueryControl()->SetTextL( iEcsDetector->CurrentMatch() ); |
537 if ( queryControl != NULL ) |
538 if ( queryControl != NULL ) |
538 { |
539 { |
539 queryControl->RevealSecretText( ETrue ); |
540 queryControl->RevealSecretText( ETrue ); |
|
541 if (isCallSoftkeyAdded == EFalse) |
|
542 { |
|
543 isCallSoftkeyAdded = ETrue; |
540 HBufC* cbaLabel = NULL; |
544 HBufC* cbaLabel = NULL; |
541 Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_AVKON_SOFTKEY_CALL_TEXT") )); |
545 Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_AVKON_SOFTKEY_CALL_TEXT") )); |
542 TRAPD ( err, cbaLabel = |
546 TRAPD ( err, cbaLabel = |
543 StringLoader::LoadL( R_AVKON_SOFTKEY_CALL_TEXT) ); |
547 StringLoader::LoadL( R_AVKON_SOFTKEY_CALL_TEXT) ); |
544 if ( err == KErrNone ) |
548 if ( err == KErrNone ) |
545 { |
549 { |
|
550 ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk); |
546 TRAP ( err, ButtonGroupContainer().AddCommandToStackL( 0, EAknSoftkeyEmergencyCall, |
551 TRAP ( err, ButtonGroupContainer().AddCommandToStackL( 0, EAknSoftkeyEmergencyCall, |
547 *cbaLabel) ); |
552 *cbaLabel) ); |
|
553 ButtonGroupContainer().DrawDeferred(); |
548 delete cbaLabel; |
554 delete cbaLabel; |
|
555 } |
549 } |
556 } |
550 } |
557 } |
551 } |
558 } |
552 else |
559 else |
553 { |
560 { |
554 // The input doesn't match a Em-number |
561 // The input doesn't match a Em-number |
555 if ( queryControl != NULL ) |
562 if ( queryControl != NULL ) |
556 { |
563 { |
557 queryControl->RevealSecretText( EFalse ); |
564 queryControl->RevealSecretText( EFalse ); |
|
565 if(aType == EEventKey) |
|
566 { |
558 HBufC* cbaLabel = NULL; |
567 HBufC* cbaLabel = NULL; |
559 Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_SCPDIALOG_OK_TEXT") )); |
568 Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_SCPDIALOG_OK_TEXT") )); |
560 TRAPD ( err , cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) ); |
569 TRAPD ( err , cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) ); |
561 if ( err == KErrNone ) |
570 if ( err == KErrNone ) |
562 { |
571 { |
|
572 if (isCallSoftkeyAdded) |
|
573 { |
|
574 isCallSoftkeyAdded = EFalse; |
|
575 ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyEmergencyCall); |
|
576 } |
|
577 else |
|
578 { |
|
579 ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk); |
|
580 } |
563 TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0,EAknSoftkeyOk,*cbaLabel) ); |
581 TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0,EAknSoftkeyOk,*cbaLabel) ); |
564 ButtonGroupContainer().DrawDeferred(); |
582 ButtonGroupContainer().DrawDeferred(); |
565 delete cbaLabel; |
583 delete cbaLabel; |
|
584 } |
566 } |
585 } |
567 } |
586 } |
568 } |
587 } |
569 } |
588 } |
570 |
589 |
713 HBufC* cbaLabel = NULL; |
732 HBufC* cbaLabel = NULL; |
714 Dprint( (_L("CSCPQueryDialog::HandleEcsEvent(): R_SCPDIALOG_OK_TEXT") )); |
733 Dprint( (_L("CSCPQueryDialog::HandleEcsEvent(): R_SCPDIALOG_OK_TEXT") )); |
715 TRAP ( err, cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) ); |
734 TRAP ( err, cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) ); |
716 if ( err == KErrNone ) |
735 if ( err == KErrNone ) |
717 { |
736 { |
|
737 if (isCallSoftkeyAdded) |
|
738 { |
|
739 isCallSoftkeyAdded = EFalse; |
|
740 ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyEmergencyCall); |
|
741 } |
|
742 else |
|
743 { |
|
744 ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk); |
|
745 } |
718 TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0, EAknSoftkeyOk, *cbaLabel) ); |
746 TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0, EAknSoftkeyOk, *cbaLabel) ); |
719 ButtonGroupContainer().DrawDeferred(); |
747 ButtonGroupContainer().DrawDeferred(); |
720 delete cbaLabel; |
748 delete cbaLabel; |
721 } |
749 } |
722 } |
750 } |