}
if (__pMoreOptionsList != null)
{
- RemoveControl(*__pMoreOptionsList);
__pMoreOptionsList = null;
}
if (__pMoreOptionsListAnchor != null)
{
- RemoveControl(*__pMoreOptionsListAnchor);
__pMoreOptionsListAnchor = null;
}
if (__pSmallPhotoLabel != null)
{
- RemoveControl(*__pSmallPhotoLabel);
__pSmallPhotoLabel = null;
}
if (__pActiveCallInfo != null)
}
if(__pDTMFKeypad != null)
{
- RemoveControl(*__pDTMFKeypad);
__pDTMFKeypad = null;
}
}
void
ActiveCallForm::ShowDTMFKeypad(void)
{
- if(__pDTMFKeypad != null)
- {
- RemoveControl(*__pDTMFKeypad);
- __pDTMFKeypad = null;
- }
-
if(__pDTMFKeypad == null)
{
//update rect according to client screen area
rect.width = GetClientAreaBounds().width - __pCallButtonsPanel->GetWidth();
}
- AppLog("rect(%d,%d,%d,%d)",rect.x,rect.y,rect.width,rect.height);
+ AppLog("DTMF Keypad rect(%d,%d,%d,%d)",rect.x,rect.y,rect.width,rect.height);
__pDTMFKeypad = new (std::nothrow) DtmfKeyPadPanel();
__pDTMFKeypad->Initialize(this, rect);
AddControl(*__pDTMFKeypad);
+
+ //set layout relation w.r.t call buttons panel
+ RelativeLayout* pRelativeLayout = dynamic_cast<RelativeLayout*>(GetLandscapeLayoutN());
+ if (pRelativeLayout != null)
+ {
+ pRelativeLayout->SetRelation(*__pDTMFKeypad, this, RECT_EDGE_RELATION_LEFT_TO_LEFT);
+ pRelativeLayout->SetRelation(*__pDTMFKeypad, __pCallButtonsPanel, RECT_EDGE_RELATION_RIGHT_TO_LEFT);
+ }
}
- EditField* pTextBox = static_cast<EditField*>(__pDTMFKeypad->GetControl(IDC_TEXTBOX));
- pTextBox->SetText(L"");
__pDTMFKeypad->SetShowState(true);
+ if(__DtmfString.IsEmpty() == false)
+ {
+ EditField* pTextBox = static_cast<EditField*>(__pDTMFKeypad->GetControl(IDC_TEXTBOX));
+ pTextBox->SetText(__DtmfString);
+ }
__pDTMFKeypad->Draw(true);
__pDTMFKeypad->Show();
}
//in Portrait mode it is hidden beneath DTMF Keypad.
SetShowStateOnKeypad(false);
}
- String dtmfText = static_cast<EditField*>(__pDTMFKeypad->GetControl(IDC_TEXTBOX))->GetText();
- ShowDTMFKeypad();
- //get new text box.
- EditField* pTextBox = static_cast<EditField*>(__pDTMFKeypad->GetControl(IDC_TEXTBOX));
- pTextBox->SetText(dtmfText);
+ if(__pDTMFKeypad->GetShowState() == true)
+ {
+ String dtmfText = static_cast<EditField*>(__pDTMFKeypad->GetControl(IDC_TEXTBOX))->GetText();
+ HideDTMFKeypad();
+ ShowDTMFKeypad();
+ }
}
}
+ //More option is displayed recreate it
+ if(__pMoreOptionsListAnchor != null)
+ {
+ CreateMoreOptionsMenuList();
+ CreateMoreOptionsMenuList();
+ }
}
void
{
if(__pDTMFKeypad != null)
{
+ __DtmfString = static_cast<EditField*>(__pDTMFKeypad->GetControl(IDC_TEXTBOX))->GetText();
+
RemoveControl(*__pDTMFKeypad);
__pDTMFKeypad = null;
}
{
pRelativeLayout->SetRelation(*__pCallButtonsPanel, *pKeysBgLbl, RECT_EDGE_RELATION_LEFT_TO_LEFT);
pRelativeLayout->SetRelation(*__pCallButtonsPanel, *pKeysBgLbl, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
+ pRelativeLayout->SetRelation(*__pCallButtonsPanel, *pKeysBgLbl, RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM);
+ pRelativeLayout->SetRelation(*__pCallButtonsPanel, *pKeysBgLbl, RECT_EDGE_RELATION_TOP_TO_TOP);
}
return r;
SetShowStateOnKeypad(false);
}
ShowDTMFKeypad();
- SetTextToDTMFTextField(L"");
__pCallButtonsPanel->SetKeypadButtonState(IDA_CLOSE_NUMKEYPAD);
}
break;
//switch to Dialer Form to make an call
if(__pCallPresentor->GetCurrentCallCount() == 1)
{
-/* ArrayList* pArgs = new (std::nothrow) ArrayList(SingleObjectDeleter);
- pArgs->Construct();
- String* formType = new (std::nothrow) String();
- formType->Append(__formType);
- pArgs->Add(formType);
- pSceneManager->GoForward( ForwardSceneTransition(IDSCN_DIALER, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
- SCENE_HISTORY_OPTION_NO_HISTORY), pArgs);*/
- __pCallPresentor->LaunchDialAppControl();
-
+ __pCallPresentor->LaunchDialAppControl();
}
}
break;
{
String contactNo;
contactNo.Append(*(static_cast<String*>(pArgs->GetAt(0))));
- __pActiveCallInfo = new (std::nothrow) CallInfo();
+ __pActiveCallInfo = new (std::nothrow) AppCallInfo();
__pActiveCallInfo->SetContactNumber(contactNo);
Contact* pContact = __pCallPresentor->GetContactN(contactNo);
if (pContact != null)
case FORMTYPE_EMERGENCYOUTGOINGCALL:
{
String* pContactNo = static_cast<String*>(pArgs->GetAt(0));
- __pActiveCallInfo = new (std::nothrow) CallInfo();
+ __pActiveCallInfo = new (std::nothrow) AppCallInfo();
long long phNumber = 0;
LongLong::Parse(*pContactNo, phNumber);
__pActiveCallInfo->SetContactNumber(*pContactNo);
case FORMTYPE_ACTIVECALL:
{
//get contact number
- CallInfo* pCall = static_cast<CallInfo*>(pArgs->GetAt(0));
+ AppCallInfo* pCall = static_cast<AppCallInfo*>(pArgs->GetAt(0));
- __pActiveCallInfo = new (std::nothrow) CallInfo();
+ __pActiveCallInfo = new (std::nothrow) AppCallInfo();
*__pActiveCallInfo = *pCall;
String activeContactNo;
if(pCall->GetContactNumber().IsEmpty() == false)
case FORMTYPE_EMERGENCYACTIVECALL:
{
//get contact number
- CallInfo* pCall = static_cast<CallInfo*>(pArgs->GetAt(0));
+ AppCallInfo* pCall = static_cast<AppCallInfo*>(pArgs->GetAt(0));
- __pActiveCallInfo = new (std::nothrow) CallInfo();
+ __pActiveCallInfo = new (std::nothrow) AppCallInfo();
*__pActiveCallInfo = *pCall;
//show call active time using Timer
case FORMTYPE_MULTIPLECALLS:
{
- IListT<CallInfo>* pCallsList = __pCallPresentor->GetCallListN();
+ IListT<AppCallInfo>* pCallsList = __pCallPresentor->GetCallListN();
//update calls state
UpdateMultipleCallScreen(*pCallsList);
delete pCallsList;
case FORMTYPE_ACTIVECONFCALL:
{
//get Conf call
- CallInfo* pConfInfo = static_cast<CallInfo*>(pArgs->GetAt(0));
- __pActiveCallInfo = new (std::nothrow) CallInfo();
+ AppCallInfo* pConfInfo = static_cast<AppCallInfo*>(pArgs->GetAt(0));
+ __pActiveCallInfo = new (std::nothrow) AppCallInfo();
*__pActiveCallInfo = *pConfInfo;
int participantsCount = __pActiveCallInfo->GetCallerListCount();
{
__pMoreOptionsList->SetShowState(false);
}
+ __DtmfString.Clear();
}
void
AppLog("ENTER");
AppAssert((__formType == FORMTYPE_ACTIVECONFCALL) || (__formType == FORMTYPE_MULTIPLECALLS));
//fetch changed conference call info
- CallInfo* pConfCallInfo = __pCallPresentor->GetConferenceCallInfoN();
+ AppCallInfo* pConfCallInfo = __pCallPresentor->GetConferenceCallInfoN();
if (pConfCallInfo == null)
{
AppLog("EXIT");
{
//Active call is conference call
delete __pActiveCallInfo;
- __pActiveCallInfo = new (std::nothrow) CallInfo();
+ __pActiveCallInfo = new (std::nothrow) AppCallInfo();
*__pActiveCallInfo = *pConfCallInfo;
if (__formType == FORMTYPE_MULTIPLECALLS)
{
//Held call is conference call - this is definitely multiple call screen.
delete __pHeldCallInfo;
- __pHeldCallInfo = new (std::nothrow) CallInfo();
+ __pHeldCallInfo = new (std::nothrow) AppCallInfo();
*__pHeldCallInfo = *pConfCallInfo;
pPeopleCountLbl = static_cast<Label*>(GetControl(IDC_NUMBER2_LABEL));
}
//change AddCall Button status
__pCallButtonsPanel->EnableAddCallButton(isEnableAddCall);
//change JoinCall Button status
- __pCallButtonsPanel->EnableJoinCallButton(isEnableJoinCall);
+ __pCallButtonsPanel->EnableJoinCallButton(__pCallPresentor->IsEnableJoinCallButton());
AppLog("EXIT");
}
void
-ActiveCallForm::UpdateMultipleCallScreen(Tizen::Base::Collection::IListT<CallInfo>& activeCallsList)
+ActiveCallForm::UpdateMultipleCallScreen(Tizen::Base::Collection::IListT<AppCallInfo>& activeCallsList)
{
AppLog("ENTER");
if(__pActiveCallInfo != null)
for (int index = 0; index < activeCallsList.GetCount(); index++)
{
//Fetch call info
- CallInfo callInfo;
+ AppCallInfo callInfo;
activeCallsList.GetAt(index, callInfo);
String contactNo;
if (callInfo.IsOnHold() == false)
{
- __pActiveCallInfo = new (std::nothrow) CallInfo();
+ __pActiveCallInfo = new (std::nothrow) AppCallInfo();
*__pActiveCallInfo = callInfo;
if (__pActiveCallInfo->IsConferenceCall() == false)
pMoreBtn->SetShowState(false);
}
ShowPersonDetails(contactNo, IDC_NUMBER1_LABEL, IDC_CALLER1_LABEL, false,__pActiveCallInfo);
+ if(__pMoreOptionsListAnchor != null && __pMoreOptionsListAnchor->GetShowState() == true)
+ {
+ CreateMoreOptionsMenuList();
+ }
}
else
{
}
else
{
- __pHeldCallInfo = new (std::nothrow) CallInfo();
+ __pHeldCallInfo = new (std::nothrow) AppCallInfo();
*__pHeldCallInfo = callInfo;
if (__pHeldCallInfo->IsConferenceCall() == false)
}
//update JoinCall button status
- bool isEnableJoinCall = true;
- CallInfo* pConfCallInfo = __pCallPresentor->GetConferenceCallInfoN();
- if(pConfCallInfo != null && pConfCallInfo->GetCallerListCount() >= IDI_MAX_CONF_CALL_PARTICIPANTS)
- {
- isEnableJoinCall = false;
- }
- __pCallButtonsPanel->EnableJoinCallButton(isEnableJoinCall);
- delete pConfCallInfo;
- pConfCallInfo = null;
+ __pCallButtonsPanel->EnableJoinCallButton(__pCallPresentor->IsEnableJoinCallButton());
Invalidate(true);
AppLog("EXIT");
}
void
-ActiveCallForm::ShowPersonDetails(const String& phoneNumber, const String& contactLblName, const String& nameLblName, bool isSecondCaller, CallInfo* pCallInfo)
+ActiveCallForm::ShowPersonDetails(const String& phoneNumber, const String& contactLblName, const String& nameLblName, bool isSecondCaller, AppCallInfo* pCallInfo)
{
//call individual methods to show contact number, caller name & photo
ShowPhoneNumber(phoneNumber, contactLblName);
pTextElement->SetFont(font);
//construct Enriched text
EnrichedText* pEnrichedText = new (std::nothrow) EnrichedText();
- Dimension textDimension;
+ FloatDimension textDimension;
font.GetTextExtent(confCallName, confCallName.GetLength(), textDimension);
textDimension.height = textDimension.height + font.GetDescender();
pEnrichedText->Construct(textDimension);
pEnrichedText->Add(*pTextElement);
//Add Enriched text to pItem
- Point textPos(((2 * IDI_OPTIONMENU_ITEM_SPACING) + W_MGR_CONFCALL_BITMAP), ((IDI_OPTIONMENU_DIMEN.height - textDimension.height) / 2));
- pItem->AddElement(Rectangle(textPos, textDimension), 2, *pEnrichedText);
+ FloatPoint textPos(((2 * IDI_OPTIONMENU_ITEM_SPACING) + W_MGR_CONFCALL_BITMAP), ((IDI_OPTIONMENU_DIMEN.height - textDimension.height) / 2));
+ pItem->AddElement(FloatRectangle(textPos, textDimension), 2, *pEnrichedText);
// Cleans up
pEnrichedText->RemoveAll(true);
delete pEnrichedText;