phoneapp/phoneuistates/src/cphoneconference.cpp
changeset 50 377c906a8701
parent 46 bc5a64e5bc3c
child 65 2a5d4ab426d3
--- a/phoneapp/phoneuistates/src/cphoneconference.cpp	Tue Jul 06 14:15:47 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconference.cpp	Fri Jul 09 15:40:55 2010 +0300
@@ -81,9 +81,6 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
         &globalNotifierParam );
     
-  
-    DefineAndSetHoldFlagL();
-    
     }
 
 // -----------------------------------------------------------
@@ -195,7 +192,6 @@
         {   
         case EAknSoftkeyCancel:
             BeginUiUpdateLC();
-            CloseSelectionListL();
             SetTouchPaneButtons( EPhoneConferenceButtons );
             EndUiUpdate();    
             UpdateCbaL( EPhoneCallHandlingInCallCBA );
@@ -215,7 +211,6 @@
             
         // Conference -> Drop participant
         case EPhoneInCallCmdDropSelection:
-            OpenDropParticipantSelectionL();
             break;
         
         // Drop CBA    
@@ -224,7 +219,6 @@
             break;
             
         case EPhoneInCallCmdPrivateSelection:
-            OpenPrivateSelectionL();
             break;
             
         case EPhoneInCallCmdPrivate:
@@ -232,25 +226,13 @@
             break;
           
         case EPhoneInCallCmdNewCall:
-            LaunchNewCallQueryL();
             break;
             
         case EPhoneInCallCmdNewCallCall:
-            CallFromNewCallQueryL();
             break;
             
         case EPhoneInCallCmdParticipants:
-            OpenParticipantsListL();
-            break;
-            
-        case EPhoneViewOpenNumberEntry:
-            if ( IsConferenceBubbleInSelectionMode() )
-                {
-                CloseSelectionListL();
-                SetTouchPaneButtons( EPhoneConferenceButtons );
-                }
-            commandStatus = CPhoneGsmInCall::HandleCommandL( aCommand );
-            break;            
+            break;     
 
         default:
             commandStatus = CPhoneGsmInCall::HandleCommandL( aCommand );
@@ -270,42 +252,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneConference::OpenMenuBarL
-// -----------------------------------------------------------
-//
-void CPhoneConference::OpenMenuBarL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::OpenMenuBarL()");
-    TInt resourceId;
-
-    if ( iOnScreenDialer && IsDTMFEditorVisibleL() )
-        {
-        resourceId = EPhoneDtmfDialerMenubar;
-        }
-    else if ( IsNumberEntryVisibleL() )
-        {
-        resourceId = EPhoneConfCallMenubarWithNumberEntry;
-        }
-    else if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) 
-              && IsConferenceBubbleInSelectionMode() )        
-        {
-        resourceId = EPhoneConfCallParticipantsMenubar;            
-        }
-    else
-        {
-        resourceId = EPhoneConfCallMenubar;
-        }
-
-    TPhoneCmdParamInteger integerParam;
-    integerParam.SetInteger( 
-        CPhoneMainResourceResolver::Instance()->
-        ResolveResourceID( resourceId ) );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen, 
-        &integerParam );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConference::HandleKeyEventL
 // -----------------------------------------------------------
 //
@@ -315,33 +261,19 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::HandleKeyEventL()");
-    if ( IsConferenceBubbleInSelectionMode() )
+
+    if ( CPhoneKeys::IsNumericKey( aKeyEvent, aEventCode ) )
         {
-        if ( aKeyEvent.iCode == EKeyUpArrow ||
-             aKeyEvent.iCode == EKeyDownArrow )
-            {
-            TPhoneCmdParamKeyEvent keyEventParam;
-            keyEventParam.SetKeyEvent( aKeyEvent );
-            keyEventParam.SetEventCode( aEventCode );    
-            
-            iViewCommandHandle->ExecuteCommandL( 
-                EPhoneViewMoveHighLightInList, &keyEventParam );
-            }
+        // Handle numeric keys when key events are received 
+        // in conference state.
+        CPhoneGsmInCall::HandleNumericKeyEventL( aKeyEvent, aEventCode );
         }
     else
         {
-        if ( CPhoneKeys::IsNumericKey( aKeyEvent, aEventCode ) )
-            {
-            // Handle numeric keys when key events are received 
-            // in conference state.
-            CPhoneGsmInCall::HandleNumericKeyEventL( aKeyEvent, aEventCode );
-            }
-        else
-            {
-            // Handle other key events.
-            CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode );
-            }
+        // Handle other key events.
+        CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode );
         }
+    
     }
 
 // --------------------------------------------------------------
@@ -404,12 +336,6 @@
 
     // Stop capturing keys
     CaptureKeysDuringCallNotificationL( EFalse );
-
-    // If dialler is not open then close menu bar.
-    if ( !IsNumberEntryUsedL() )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
-        }
         
     // If conference bubble still exists then we have conference and
     // single call
@@ -439,8 +365,6 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::HandleConferenceIdleL()");
-    
-    BeginTransEffectLC( ENumberEntryOpen );
     BeginUiUpdateLC();
     
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble );
@@ -484,8 +408,7 @@
             break;
         }
     
-    EndUiUpdate();
-    EndTransEffect();     
+    EndUiUpdate(); 
     }
 
 // -----------------------------------------------------------
@@ -512,61 +435,16 @@
  
     iViewCommandHandle->ExecuteCommandL( 
         EPhoneViewUpdateBubble, aCallId, &callHeaderParam );
-       
-    // Set Hold flag to view
-    SetHoldFlagL();
-    
+           
     if ( !FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
         {
         SendGlobalInfoNoteL( EPhoneInformationConferenceOnHold, ETrue );
         }
     
-    SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate );
     SetTouchPaneButtons( EPhoneConferenceButtons );
     UpdateInCallCbaL();
     }
 
-
-// -----------------------------------------------------------
-// CPhoneConference::DefineAndSetHoldFlagL
-// -----------------------------------------------------------
-//
-void CPhoneConference::DefineAndSetHoldFlagL()
-    {
-    // Find out is conference held or not
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallId( KConferenceCallId );
-    iViewCommandHandle->HandleCommandL( EPhoneViewGetCallState,
-            &callStateData );
-    
-    // Set Hold flag to view
-    TPhoneCmdParamBoolean holdFlag;
-        
-    if( callStateData.CallState() == EPEStateHeld )
-        {
-        holdFlag.SetBoolean( ETrue );
-        }
-    else
-        {
-        holdFlag.SetBoolean( EFalse );   
-        }
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-    
-    }
-
-// -----------------------------------------------------------
-// CPhoneConference::SetHoldFlagL
-// -----------------------------------------------------------
-//
-void CPhoneConference::SetHoldFlagL()
-    {
-    // Set Hold flag to view
-    TPhoneCmdParamBoolean holdFlag;
-    holdFlag.SetBoolean( ETrue );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-
-    }
-
 // -----------------------------------------------------------
 // CPhoneConference::HandleConnectedConferenceL
 // -----------------------------------------------------------
@@ -602,29 +480,12 @@
         SendGlobalInfoNoteL( EPhoneInformationConferenceActiveted, ETrue );
         }
     
-    SetTouchPaneButtonEnabled( EPhoneInCallCmdPrivate );
     SetTouchPaneButtons( EPhoneConferenceButtons );
     
     UpdateInCallCbaL();
     }
 
 // -----------------------------------------------------------
-// CPhoneConference::OpenDropParticipantSelectionL
-// -----------------------------------------------------------
-//
-void CPhoneConference::OpenDropParticipantSelectionL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::OpenDropParticipantSelectionL()");
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( ETrue );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewOpenConferenceList, &booleanParam );
-
-    iCbaManager->SetCbaL( EPhoneDropParticipantCBA );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConference::DropSelectedParticipantL
 // -----------------------------------------------------------
 //
@@ -648,22 +509,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneConference::OpenPrivateSelectionL
-// -----------------------------------------------------------
-//
-void CPhoneConference::OpenPrivateSelectionL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::OpenPrivateSelectionL()");
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( ETrue );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewOpenConferenceList, &booleanParam );
-
-    iCbaManager->SetCbaL( EPhonePrivateParticipantCBA );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConference::PrivateSelectedParticipantL
 // -----------------------------------------------------------
 //
@@ -686,7 +531,6 @@
         
         // Update call view
         BeginUiUpdateLC();
-        CloseSelectionListL();
         SetTouchPaneButtons( EPhoneConferenceButtons );
         EndUiUpdate();    
                 
@@ -708,20 +552,10 @@
     if ( IsNumberEntryUsedL() )
         {
         // Show the number entry if it exists
-        SetNumberEntryVisibilityL(ETrue);
-        
-        // Close dtmf dialer when call is disconnected.
-        if ( iOnScreenDialer && IsDTMFEditorVisibleL() )
-            {            
-            CloseDTMFEditorL();
-            // Display idle screen and update CBAs
-            DisplayIdleScreenL();
-            }        
+        SetNumberEntryVisibilityL(ETrue);      
         }
     else if ( !TopAppIsDisplayedL() )
         {
-        // Close menu bar, if it is displayed
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
         
         // Continue displaying current app but set up the 
         // idle screen in the background
@@ -729,9 +563,6 @@
         }
     else
         {
-        // Close menu bar, if it is displayed
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
-        
          // Display idle screen
         DisplayIdleScreenL();
         }
@@ -752,8 +583,6 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::MakeStateTransitionToSingleL()");
-    // Close menu bar, if it is displayed
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
  
     if ( IsNumberEntryUsedL() )
         {
@@ -775,8 +604,6 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::MakeStateTransitionToTwoSinglesL()");
-    // Close menu bar, if it is displayed
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
 
     if ( IsNumberEntryUsedL() )
         {
@@ -794,21 +621,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneConference::CloseSelectionListL
-// -----------------------------------------------------------
-//
-void CPhoneConference::CloseSelectionListL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::CloseSelectionListL()");
-    // Close conference list
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewOpenConferenceList, &booleanParam );
-    }
-
-// -----------------------------------------------------------
 // CPhoneConference::ToggleHold
 // -----------------------------------------------------------
 //
@@ -816,18 +628,25 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::ToggleHoldL()");
-    TPhoneCmdParamBoolean hold;
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetHoldFlag, &hold );
+    
+    TPECallControlCaps callControlCaps =
+        iStateMachine->PhoneEngineInfo()->CallControlCaps( KConferenceCallId );
     
-    if( hold.Boolean() )
+    if ( callControlCaps & MCCECallObserver::ECCECapsHold  )
         {
+        iStateMachine->SetCallId( KConferenceCallId );         
         iStateMachine->SendPhoneEngineMessage( 
-            CPEPhoneModelIF::EPEMessageResumeConference );
+            CPEPhoneModelIF::EPEMessageHold );    
+        }
+    else if ( callControlCaps & MCCECallObserver::ECCECapsResume )
+        {
+        iStateMachine->SetCallId( KConferenceCallId );         
+        iStateMachine->SendPhoneEngineMessage( 
+            CPEPhoneModelIF::EPEMessageResume );    
         }
     else
         {
-        iStateMachine->SendPhoneEngineMessage( 
-            CPEPhoneModelIF::EPEMessageHoldConference );
+        SendGlobalInfoNoteL( EPhoneNoteTextNotAllowed, ETrue );    
         }
     }
 
@@ -839,12 +658,8 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::HandleDiallingL()");
-    
-    BeginTransEffectLC( ENumberEntryClose );
     BeginUiUpdateLC(); 
     
-    CloseSelectionListL(); 
-    
     SetNumberEntryVisibilityL(EFalse);
     
     // Display call setup 
@@ -854,8 +669,6 @@
     SetTouchPaneButtons(EPhoneCallSetupAndSingleButtons); 
 
     EndUiUpdate();
-
-    EndTransEffect();
     
     // Set Call Setup CBA 
     UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
@@ -872,8 +685,6 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::DisplayCallSetupL()");
-    // Close menu bar, if it is displayed
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
 
     // Remove dialogs if necessary
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
@@ -891,32 +702,6 @@
     DisplayHeaderForOutgoingCallL( aCallId );
     }
 
-// ---------------------------------------------------------
-// CPhoneConference::CallFromNewCallQueryL
-// ---------------------------------------------------------
-//
-void CPhoneConference::CallFromNewCallQueryL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneConference::CallFromNewCallQueryL()");
-    // First get the phone number from the dialog
-    TPhoneCmdParamString phoneNumberParam;
-    HBufC *content = HBufC::NewLC( KPhoneNumberEntryBufferSize );
-    TPtr ptr( content->Des() );
-    phoneNumberParam.SetString( &ptr );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetTextQueryContent,
-        &phoneNumberParam );
-
-    // Store the phone number
-    iStateMachine->PhoneEngineInfo()->SetPhoneNumber( ptr );
-
-    // clean up stack
-    CleanupStack::PopAndDestroy( content );
-  
-    // Dial number
-    DialVoiceCallL();
-    }
-
 // -----------------------------------------------------------
 // CPhoneConference::HandleIncomingL
 // -----------------------------------------------------------
@@ -933,9 +718,6 @@
     
     // Get allow waiting call header param value.
     AllowShowingOfWaitingCallHeaderL( dialerParam );
-            
-    CloseSelectionListL();
-
     // Close fast swap window if it's displayed
     CEikonEnv::Static()->DismissTaskList();
     
@@ -964,8 +746,6 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::DisplayIncomingCallL()");
-    // Close menu bar, if it is displayed
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
 
     // Cannot delete active note, e.g. New call query, 
     // but show waiting note with or without caller name
@@ -1028,7 +808,6 @@
         UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
         iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );                    
         SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
-        SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate );
         }
     else
         {            
@@ -1036,73 +815,6 @@
         }       
     EndUiUpdate();
     }
-
-// -----------------------------------------------------------
-// CPhoneConference::OpenParticipantsListL
-// -----------------------------------------------------------
-//    
-void CPhoneConference::OpenParticipantsListL()
-    {
-    BeginUiUpdateLC();
-    
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( ETrue );
-    
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewOpenConferenceList,
-                                         &booleanParam );    
-
-    SetTouchPaneButtons( EPhoneParticipantListButtons );
-                                         
-    EndUiUpdate();
-    
-    iCbaManager->SetCbaL( EPhoneParticipantListCBA );
-     
-    // Find out is conference held or not
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallId( KConferenceCallId );
-    iViewCommandHandle->HandleCommandL( EPhoneViewGetCallState,
-        &callStateData );
-    
-    if( callStateData.CallState() == EPEStateHeld )
-        {
-        //set Private button to Dimmed.        
-        SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate );
-        } 
-    else
-        {
-        //set Private button to UnDimmed.        
-         SetTouchPaneButtonEnabled( EPhoneInCallCmdPrivate );        
-        }   
-                                           
-    }
-
-// -----------------------------------------------------------
-// CPhoneConference::IsConferenceBubbleInSelectionMode
-// -----------------------------------------------------------
-//
-TBool CPhoneConference::IsConferenceBubbleInSelectionMode() const
-    {
-    TPhoneCmdParamBoolean booleanParam;
-    
-    iViewCommandHandle->ExecuteCommand( 
-        EPhoneViewGetIsConferenceInSelectionMode, &booleanParam );
-    
-    return booleanParam.Boolean();
-    }
-
-// ---------------------------------------------------------
-// CPhoneState::HandleCreateNumberEntryL
-// ---------------------------------------------------------
-//
-void CPhoneConference::HandleCreateNumberEntryL( const TKeyEvent& aKeyEvent,
-        TEventCode aEventCode )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneConference::HandleCreateNumberEntryL() ");
-    if ( !IsConferenceBubbleInSelectionMode() )
-        {
-        CPhoneGsmInCall::HandleCreateNumberEntryL( aKeyEvent,aEventCode );
-        }
-    }
     
 // -----------------------------------------------------------
 // CPhoneConference::UpdateConferenceSecurityStatusL