#include <FWebBookmarkItem.h>
#include <FWebWebBookmark.h>
#include <FBase_StringConverter.h>
+#include <FUiCtrlFrame.h>
#include "FWeb_BookmarkItemImpl.h"
#include "FWeb_WebBookmarkImpl.h"
#include "FWebCtrl_Utility.h"
using namespace Tizen::Base;
using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Controls;
using namespace Tizen::Web::Controls;
_WebBookmarkImpl::_WebBookmarkImpl(void)
+ : __rootFolderId(ROOT_FOLDER_ID)
{
}
_WebBookmarkImpl::~_WebBookmarkImpl(void)
{
+ __bookmarkList.RemoveAll(true);
}
{
result r = E_SUCCESS;
+ int ret = favorites_bookmark_get_root_folder_id(&__rootFolderId);
+ SysTryReturnResult(NID_WEB, ret == FAVORITES_ERROR_NONE, E_SYSTEM, "Failed to get root folder id.");
+
r = __bookmarkList.Construct();
SysTryReturn(NID_WEB, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
- int ret = favorites_bookmark_foreach(_BookmarkForEachCb, this);
- SysTryCatch(NID_WEB, ret == FAVORITES_ERROR_NONE, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Failed to Set bookmark Callback.");
+ ret = favorites_bookmark_foreach(_BookmarkForEachCb, this);
+ SysTryCatch(NID_WEB, ret == FAVORITES_ERROR_NONE, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Failed to set bookmark callback.");
return E_SUCCESS;
result
_WebBookmarkImpl::AddFolder(const String& title, RecordId parentId, RecordId& folderId)
{
- result r = E_SUCCESS;
-
std::unique_ptr<char[]> pTitle(_StringConverter::CopyToCharArrayN(title));
SysTryReturn(NID_WEB, pTitle.get(), GetLastResult(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
if (parentId == ROOT_FOLDER_ID)
{
- realParentId = GetRootFolderId();
+ realParentId = __rootFolderId;
}
int ret = favorites_bookmark_add(pTitle.get(), null, realParentId, 1, &folderId);
- SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret));
+ SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", GetErrorMessage(ConvertErrorCode(ret)));
return E_SUCCESS;
}
if (parentId == ROOT_FOLDER_ID)
{
- realParentId = GetRootFolderId();
+ realParentId = __rootFolderId;
}
int ret = favorites_bookmark_add(pTitle.get(), pUrl.get(), realParentId, 0, &bookmarkId);
- SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret));
+ SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", GetErrorMessage(ConvertErrorCode(ret)));
return E_SUCCESS;
}
result
_WebBookmarkImpl::SetFavicon(RecordId bookmarkId, const Bitmap& favicon)
{
- SysTryReturnResult(NID_WEB, favicon.GetWidth() == 16 && favicon.GetHeight() == 16, E_INVALID_DATA, "The size of a favicon must be 16 X 16");
SysTryReturnResult(NID_WEB, favicon.GetPixelColorFormat() == BITMAP_PIXEL_FORMAT_ARGB8888, E_INVALID_DATA, "The pixel format of a favicon must be ARGB8888");
result r = E_SUCCESS;
+ Frame* pFrame = null;
+
+ BufferInfo bufferInfo;
+ int ret = 0;
- Evas* pEvas = _Utility::GetEvasFromUiApp();
- SysTryReturn(NID_WEB, pEvas, GetLastResult(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+ Evas_Object* pIcon = null;
- Evas_Object* pIcon = evas_object_image_filled_add(pEvas);
+ Bitmap& temp = const_cast< Bitmap& >(favicon);
+
+ Evas* pEvas = _Utility::GetEvasFromUiApp(pFrame);
+ SysTryCatch(NID_WEB, pEvas, r = GetLastResult(), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ pIcon = evas_object_image_filled_add(pEvas);
evas_object_image_colorspace_set(pIcon, EVAS_COLORSPACE_ARGB8888);
evas_object_image_filled_set(pIcon, EINA_TRUE);
evas_object_image_alpha_set(pIcon,EINA_TRUE);
- Bitmap& temp = const_cast< Bitmap& >(favicon);
-
- BufferInfo bufferInfo;
r = temp.Lock(bufferInfo);
- SysTryReturn(NID_WEB, r == E_SUCCESS, r, r, "[%s] Propagating.", r);
+ SysTryCatch(NID_WEB, r == E_SUCCESS, , r, "[%s] Propagating.", r);
evas_object_image_size_set(pIcon, bufferInfo.width, bufferInfo.height);
evas_object_image_fill_set(pIcon, 0, 0, bufferInfo.width, bufferInfo.height);
evas_object_image_data_set(pIcon, bufferInfo.pPixels);
r = temp.Unlock();
- SysTryReturn(NID_WEB, r == E_SUCCESS, r, r, "[%s] Propagating.", r);
+ SysTryCatch(NID_WEB, r == E_SUCCESS, , r, "[%s] Propagating.", r);
- int ret = favorites_bookmark_set_favicon(bookmarkId, pIcon);
- SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret));
+ ret = favorites_bookmark_set_favicon(bookmarkId, pIcon);
+ SysTryCatch(NID_WEB, ret == FAVORITES_ERROR_NONE, r = ConvertErrorCode(ret), r, "[%s] Propagating.", GetErrorMessage(r));
+
+
+ delete pFrame;
return E_SUCCESS;
+
+CATCH:
+ delete pFrame;
+
+ return r;
}
{
int folderId = 0;
int ret = favorites_bookmark_get_root_folder_id(&folderId);
- SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, -1, ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret));
+ SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, -1, ConvertErrorCode(ret), "[%s] Propagating.", GetErrorMessage(ConvertErrorCode(ret)));
return folderId;
}
_BookmarkItemImpl* pBookmarkItemImpl = _BookmarkItemImpl::GetInstance(pBookmarkItem.get());
SysTryReturn(NID_WEB, pBookmarkItemImpl, GetLastResult(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
- pBookmarkItemImpl->SetBookmarkItem(id, url, title, parentId, isFolder);
+ int realParentId = parentId;
+
+ if (parentId == __rootFolderId)
+ {
+ realParentId = ROOT_FOLDER_ID;
+ }
+
+ pBookmarkItemImpl->SetBookmarkItem(id, url, title, realParentId, isFolder);
r = __bookmarkList.Add(*pBookmarkItem.get());
SysTryReturn(NID_WEB, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
_WebBookmarkImpl::RemoveAll(void)
{
int ret = favorites_bookmark_delete_all_bookmarks();
- SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", ConvertErrorCode(ret));
+ SysTryReturn(NID_WEB, ret == FAVORITES_ERROR_NONE, ConvertErrorCode(ret), ConvertErrorCode(ret), "[%s] Propagating.", GetErrorMessage(ConvertErrorCode(ret)));
return E_SUCCESS;
}