X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2FCallOptionPopup.cpp;h=fc8110e0f2d4526d5c0ef838ccb680c20f1c0aab;hb=ed3a509fe5ebde6ea068f890f90b01b180ae75af;hp=05333a2fb3ca0145cc723a7db50b2e5c7fdb9226;hpb=0c5895d42d56bc6f88c48bc955473ec7d2ba1e63;p=apps%2Fosp%2FCall.git diff --git a/src/CallOptionPopup.cpp b/src/CallOptionPopup.cpp index 05333a2..fc8110e 100644 --- a/src/CallOptionPopup.cpp +++ b/src/CallOptionPopup.cpp @@ -1,7 +1,7 @@ // // Copyright (c) 2012 Samsung Electronics Co., Ltd. // -// Licensed under the Flora License, Version 1.0 (the License); +// Licensed under the Flora License, Version 1.1 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // @@ -89,14 +89,15 @@ CallOptionPopup::Initialize(void) r = pCancelButton->Construct(Rectangle(VERTICAL_PADDING, listHeight + CANCEL_BUTTON_PADDING , W_CANCEL_BUTTON, H_CANCEL_BUTTON), strText); pCancelButton->SetActionId(IDA_BUTTON_CANCEL_OPTIONS_POPUP); pCancelButton->AddActionEventListener(*this); - r = AddControl(*pCancelButton); + SetPropagatedKeyEventListener(this); + r = AddControl(pCancelButton); TryReturn(r == E_SUCCESS, r, "CallOptionPopup::AddControl() failed"); ListView* pListView = new (std::nothrow) ListView(); - pListView->Construct(Rectangle(0, 0, W_POPUP, listHeight), true, SCROLL_STYLE_FADE_OUT); + pListView->Construct(Rectangle(0, 0, W_POPUP + HORIZONTAL_PADDING, listHeight), true, SCROLL_STYLE_FADE_OUT); pListView->AddListViewItemEventListener(*this); pListView->SetItemProvider(*this); - r = AddControl(*pListView); + r = AddControl(pListView); @@ -109,7 +110,7 @@ CallOptionPopup::ConstructListData(void) result r = E_FAILURE; //fetch active call list - ArrayListT* pCallList = static_cast*>(__callPresenter.GetCallListN()); + ArrayListT* pCallList = static_cast*>(__callPresenter.GetCallListN()); if (pCallList != null && pCallList->GetCount() > 0) { String optionStr(L""); @@ -121,7 +122,7 @@ CallOptionPopup::ConstructListData(void) //2 calls(Active+Held) present - 3 options are shown for (int index = 0;index < pCallList->GetCount(); index++) { - CallInfo callInfo; + AppCallInfo callInfo; pCallList->GetAt(index,callInfo); optionStr.Clear(); @@ -172,7 +173,7 @@ CallOptionPopup::ConstructListData(void) else { //only one call - 2 options are shown. - CallInfo firstCallInfo; + AppCallInfo firstCallInfo; pCallList->GetAt(0,firstCallInfo); if (firstCallInfo.IsConferenceCall() == false) { @@ -234,6 +235,29 @@ CallOptionPopup::OnListViewItemStateChanged(ListView& listView, int index, int elementId, ListItemStatus status) { Popup::SetShowState(false); + if(elementId == -1) + { + elementId = ANSERWING_OPTION_HOLD_SINGLE_CALL; + if (__pOptionsList->GetCount() == 2) + { + if(index == 1) + { + elementId = ANSERWING_OPTION_END_SINGLE_CALL; + } + } + else + { + elementId = ANSERWING_OPTION_REPLACE_ACTIVE_CALL; + if(index == 1) + { + elementId = ANSERWING_OPTION_REPLACE_HELD_CALL; + } + else if(index == 2) + { + elementId = ANSERWING_OPTION_END_ALL_CALLS; + } + } + } __popupListener.OnItemSelected(elementId); return; } @@ -303,3 +327,12 @@ CallOptionPopup::OnActionPerformed(const Control& source, int actionId) break; } } + +bool +CallOptionPopup::OnKeyReleased(Control& source, const KeyEventInfo& keyEventInfo) +{ + AppLogDebug("Enter"); + Popup::SetShowState(false); + __popupListener.OnItemSelected(IDA_BUTTON_CANCEL_OPTIONS_POPUP); + return true; +}