#include <unique_ptr.h>
#include <FBaseColAllElementsDeleter.h>
#include <FBaseSysLog.h>
+#include <FCntDownloadRequest.h>
#include <FGrpDimension.h>
#include <FGrpRectangle.h>
#include <FUiCtrlButton.h>
#include <FUiIActionEventListener.h>
#include <FUiKeyEventInfo.h>
#include <FUiVerticalBoxLayout.h>
+#include <FCnt_DownloadManagerImpl.h>
#include <FSys_SystemResource.h>
#include <FUi_ResourceManager.h>
#include "FWebCtrl_SelectBox.h"
using namespace Tizen::Base;
using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
using namespace Tizen::Graphics;
using namespace Tizen::System;
using namespace Tizen::Ui;
, __orientation(_CONTROL_ORIENTATION_PORTRAIT)
, __pWebView(null)
, __pToggledArray(null)
+ , __url(L"")
{
}
result
-_SelectBox::Construct(bool isMultiSelect, const String& title, int listCount, Evas_Object* pWebView)
+_SelectBox::Construct(bool isMultiSelect, const String& title, int listCount, Evas_Object* pWebView, const String& url)
{
result r = E_SUCCESS;
Rectangle rect;
int listViewHeight = 0;
__pWebView = pWebView;
+ __url = const_cast< String& >(url);
GET_SHAPE_CONFIG(CONTEXTMENU::LIST_ITEM_HEIGHT, __orientation, listItemHeight);
ArrayList idList;
r = idList.Construct();
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+
+ idList.Add(*(new Integer(ID_BUTTON_CANCEL)));
if (__multiSelection)
{
idList.Add(*(new Integer(ID_BUTTON_SELECTION)));
}
- idList.Add(*(new Integer(ID_BUTTON_CANCEL)));
ArrayList titleList;
r = titleList.Construct();
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+
+ titleList.Add(*(new String(pSysResource->GetString("sys_string", "IDS_TPLATFORM_BUTTON_CANCEL_ABB"))));
if (__multiSelection)
{
- titleList.Add(*(new String(pSysResource->GetString("sys_string", "IDS_COM_BODY_DONE"))));
+ titleList.Add(*(new String(pSysResource->GetString("sys_string", "IDS_TPLATFORM_BUTTON_OK"))));
__pToggledArray = eina_inarray_new(sizeof(int), 0);
SysTryReturnResult(NID_WEB_CTRL, __pToggledArray, E_OUT_OF_MEMORY, "Memory Allocation failed.");
}
- titleList.Add(*(new String(pSysResource->GetString("sys_string", "IDS_COM_POP_CANCEL"))));
r = CreateAndAddButtons(idList, titleList, pButtonPanel);
SysTryReturn(NID_WEB_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
else
{
//In case of single selection ... update the index.
- __SelectedIndex = index;
- SysLog(NID_WEB_CTRL,"The current value of Update Selected index is %d",index);
- if (__pWebView)
+ if (__url.GetLength() == 0)
{
- ewk_view_popup_menu_select(__pWebView, __SelectedIndex);
+ __SelectedIndex = index;
+ SysLog(NID_WEB_CTRL,"The current value of Update Selected index is %d",index);
+ if (__pWebView)
+ {
+ ewk_view_popup_menu_select(__pWebView, __SelectedIndex);
+ }
}
+ else
+ {
+ result r = E_SUCCESS;
+
+ RequestId reqId = 0;
+ DownloadRequest request(__url);
+
+ _DownloadManagerImpl* pManagerImpl = _DownloadManagerImpl::GetInstance();
+ SysTryReturnVoidResult(NID_WEB_CTRL, pManagerImpl, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
- result r = HidePopup(__SelectedIndex);
+ r = pManagerImpl->Start(request, reqId);
+ SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
+ }
+
+ result r = HidePopup();
SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
}
}
void
_SelectBox::OnActionPerformed(const Control& source, int actionId)
{
- switch (actionId)
- {
- case ID_BUTTON_SELECTION:
- {
- ewk_view_popup_menu_multiple_select(__pWebView, __pToggledArray);
- break;
- }
- case ID_BUTTON_CANCEL:
+ result r = HidePopup();
+ SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
+
+ if (__url.GetLength() == 0)
{
- if (__multiSelection)
+ switch (actionId)
+ {
+ case ID_BUTTON_SELECTION:
{
- ewk_view_popup_menu_multiple_select(__pWebView, null);
+ ewk_view_popup_menu_multiple_select(__pWebView, __pToggledArray);
+ break;
}
- else
+ case ID_BUTTON_CANCEL:
{
- ewk_view_popup_menu_select(__pWebView, __prevIndex);
+ if (__multiSelection)
+ {
+ ewk_view_popup_menu_multiple_select(__pWebView, null);
+ }
+ else
+ {
+ ewk_view_popup_menu_select(__pWebView, __prevIndex);
+ }
+ break;
+ }
+ default:
+ SysAssertf(false, "Invalid Action ID");
}
- break;
- }
- default:
- SysAssertf(false, "Invalid Action ID");
}
-
- result r = HidePopup(__SelectedIndex);
- SysTryReturnVoidResult(NID_WEB_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
}
bool
_SelectBox::OnKeyPressed(Control& source, const KeyEventInfo& keyEventInfo)
{
- return true;
+ return false;
}
bool
{
if ((keyEventInfo.GetKeyCode() == KEY_ESC || keyEventInfo.GetKeyCode() == KEY_BACK) && source.GetShowState() == true)
{
- if (__multiSelection)
- {
- ewk_view_popup_menu_multiple_select(__pWebView, null);
- }
- else
- {
- ewk_view_popup_menu_select(__pWebView, __prevIndex);
- }
- result r = HidePopup(__SelectedIndex);
+ result r = HidePopup();
if (IsFailed(r))
{
SysLogException(NID_WEB_CTRL, r, "[%s] Propagating.", GetErrorMessage(r));
}
+
+ if (__url.GetLength() == 0)
+ {
+ if (__multiSelection)
+ {
+ ewk_view_popup_menu_multiple_select(__pWebView, null);
+ }
+ else
+ {
+ ewk_view_popup_menu_select(__pWebView, __prevIndex);
+ }
+ }
}
- return true;
+ return false;
}
bool