Fixed Nabi Issues 52332,54256,54601,54130,54264,54471
[apps/osp/Internet.git] / src / IntEditBookmarkListForm.cpp
index 2c70750..805deb2 100644 (file)
-//\r
-\r
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
-//\r
-// Licensed under the Flora License, Version 1.0 (the License);\r
-// you may not use this file except in compliance with the License.\r
-// You may obtain a copy of the License at\r
-//\r
-//     http://floralicense.org/license/\r
-//\r
-// Unless required by applicable law or agreed to in writing, software\r
-// distributed under the License is distributed on an AS IS BASIS,\r
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-// See the License for the specific language governing permissions and\r
-// limitations under the License.\r
-//\r
-\r
-//!Internet\r
-/*@file:    EditBookmarkListForm\r
- *@brief:      This class defines EditBookmarkListForm used to edit the bookmark\r
- *\r
- */\r
-\r
-#include <FAppUiApp.h>\r
-#include <FUi.h>\r
-\r
-#include "IntBookmarkData.h"\r
-#include "IntBookmarkPresentationModel.h"\r
-#include "IntCommonLib.h"\r
-#include "IntEditBookmarkListForm.h"\r
-#include "IntFaviconManager.h"\r
-#include "IntNotificationPanel.h"\r
-#include "IntSceneRegister.h"\r
-#include "IntTypes.h"\r
-\r
-using namespace Tizen::App;\r
-using namespace Tizen::Base;\r
-using namespace Tizen::Base::Collection;\r
-using namespace Tizen::Base::Runtime;\r
-using namespace Tizen::Graphics;\r
-using namespace Tizen::Ui;\r
-using namespace Tizen::Ui::Controls;\r
-using namespace Tizen::Ui::Scenes;\r
-\r
-static const wchar_t* IDB_ICON_FOLDER_OPEN = L"I01_icon_folder_open.png";\r
-static const wchar_t* IDB_ITEM = L"edit_item.png";\r
-static const wchar_t* IDB_RIGHT_ARROW = L"I01_right_arrow.png";\r
-\r
-\r
-const int EditBookmarkListForm::IDA_BUTTON_CHECKED = 101;\r
-const int EditBookmarkListForm::IDA_TABBAR_ITEM_1 = 102;\r
-const int EditBookmarkListForm::IDA_TABBAR_ITEM_2 = 103;\r
-const int EditBookmarkListForm::IDA_DELETEITEM_CLICKED = 104;\r
-const int EditBookmarkListForm::IDA_SHAREITEM_CLICKED = 105;\r
-const int EditBookmarkListForm::IDA_CANCELITEM_CLICKED = 106;\r
-const int EditBookmarkListForm::IDA_FORMAT_FOLDER = 107;\r
-const int EditBookmarkListForm::IDA_FORMAT_SITE = 108;\r
-const int EditBookmarkListForm::IDA_FORMAT_ICON = 109;\r
-const int EditBookmarkListForm::IDA_FORMAT_BITMAP = 110;\r
-const int EditBookmarkListForm::IDA_BUTTON_UNCHECKED = 111;\r
-const int EditBookmarkListForm::IDA_FORMAT_URL = 112;\r
-\r
-\r
-EditBookmarkListForm::EditBookmarkListForm(void)\r
-{\r
-       __pListview = null;\r
-       __pData = null;\r
-       __pTimer = null;\r
-       __parentID = L"-1";\r
-       __pInfoPanel = null;\r
-       __pInfoLabel = null;\r
-       __selectedItemCount = 0;\r
-       __pCheckButton = null;\r
-       __pConfirmationPopup = null;\r
-       __pSelectedList = null;\r
-}\r
-\r
-EditBookmarkListForm::~EditBookmarkListForm(void)\r
-{\r
-       if (__pData != null)\r
-       {\r
-               __pData->RemoveAll(true);\r
-               delete __pData;\r
-       }\r
-       if(__pSelectedList != null)\r
-       {\r
-               __pSelectedList->RemoveAll(true);\r
-               delete __pSelectedList;\r
-       }\r
-}\r
-\r
-bool\r
-EditBookmarkListForm::Initialize(void)\r
-{\r
-       Construct(L"IDL_EDIT_BOOKMARK_LIST");\r
-\r
-       return true;\r
-}\r
-result\r
-EditBookmarkListForm::OnInitializing(void)\r
-{\r
-       result r = E_SUCCESS;\r
-\r
-       Rectangle rc = GetClientAreaBounds();\r
-       String selected = CommonUtil::GetString(L"IDS_COM_OPT_SELECTED");\r
-\r
-       // Setup back event listener\r
-       SetFormBackEventListener(this);\r
-       AddOrientationEventListener(*this);\r
-\r
-       SceneManager* pSceneManager = SceneManager::GetInstance();\r
-\r
-       if (pSceneManager != null)\r
-       {\r
-               pSceneManager->AddSceneEventListener(IDSCN_EDIT_BOOKMARK_LIST, *this);\r
-       }\r
-\r
-       Header* pHeader = GetHeader();\r
-\r
-       if (pHeader == NULL)\r
-       {\r
-               return E_FAILURE;\r
-       }\r
-       pHeader->SetTitleText(CommonUtil::GetString(L"IDS_BR_HEADER_EDIT_BOOKMARK"));\r
-\r
-       __pCheckButton = static_cast< CheckButton* >(GetControl(\r
-                       L"IDC_SELECT_CHECKBUTTON", true));\r
-\r
-       if (__pCheckButton == null)\r
-       {\r
-               return E_FAILURE;\r
-       }\r
-\r
-       __pCheckButton->SetActionId(IDA_BUTTON_CHECKED, IDA_BUTTON_UNCHECKED);\r
-       __pCheckButton->AddActionEventListener(*this);\r
-\r
-       __pListview = static_cast< ListView* >(GetControl("IDC_LISTVIEW1"));\r
-\r
-       if (__pListview == null)\r
-       {\r
-               return E_FAILURE;\r
-       }\r
-\r
-//     __pListview->SetBounds(__pListview->GetX(), __pListview->GetY(), __pListview->GetWidth(), rc.height - 112 - 48);\r
-       __pListview->AddFastScrollListener(*this);\r
-       __pListview->AddListViewItemEventListener(*this);\r
-       __pListview->SetItemProvider(*this);\r
-\r
-\r
-       __pInfoPanel = static_cast< Panel* >(GetControl(\r
-                       L"IDC_INFO_PANEL", true));\r
-\r
-       if (__pInfoPanel == null)\r
-       {\r
-               return E_FAILURE;\r
-       }\r
-\r
-//     __pInfoPanel->SetBounds(Rectangle(0,rc.height - 48, rc.width, 48));\r
-\r
-       //SetControlAlwaysOnTop(*__pInfoPanel, true);\r
-\r
-       __pInfoLabel = static_cast< Label* >(GetControl(\r
-                       L"IDC_INFO_LABEL", true));\r
-\r
-       if (__pInfoLabel == null)\r
-       {\r
-               return E_FAILURE;\r
-       }\r
-\r
-//     __pInfoLabel->SetBounds(Rectangle(0,0,rc.width, 48));\r
-       selected.Append(L"(0)");\r
-       __pInfoLabel->SetText(selected);\r
-\r
-       __pInfoLabel->SetTextConfig(32,LABEL_TEXT_STYLE_BOLD);\r
-       //__pInfoLabel->SetBackgroundColor(CUSTOM_COLOR_INFO_LABEL);\r
-       __pInfoLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);\r
-       __pInfoLabel->SetTextHorizontalAlignment(ALIGNMENT_CENTER);\r
-       GetFooter()->SetItemEnabled(0,false);\r
-       GetFooter()->AddActionEventListener(*this);\r
-       __pTimer = new (std::nothrow) Timer();\r
-       __pTimer->Construct(*this);\r
-\r
-       __pSelectedList = new(std::nothrow) ArrayList();\r
-               __pSelectedList->Construct();\r
-       return r;\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)\r
-{\r
-       result r = E_SUCCESS;\r
-\r
-       SceneManager* pSceneManager = SceneManager::GetInstance();\r
-\r
-       switch (actionId)\r
-       {\r
-       case IDA_DELETEITEM_CLICKED:\r
-       {\r
-               String labelString;\r
-               int count = 0;\r
-               if(__pListview == null)\r
-               {\r
-                       return;\r
-               }\r
-               for (int count = 0;count < __pListview->GetItemCount();count++)\r
-               {\r
-                       if (__pListview->IsItemChecked(count))\r
-                       {\r
-                               int id = 0;\r
-                               String bookmarkId;\r
-                               BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(count));\r
-                               if (pBookMark == null)\r
-                               {\r
-                                       return;\r
-                               }\r
-                               bookmarkId = pBookMark->GetBookmarkId();\r
-                               Integer::Parse(bookmarkId,id);\r
-\r
-                               if (pBookMark->GetBookmarkType() == BOOKMARK_TYPE_URL)\r
-                               {\r
-                                       r = BookmarkPresentationModel::GetInstance()->DeleteBookmark(id);\r
-                                       TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::OnActionPerformed BookmarkPresentationModel::GetInstance()->DeleteBookmark failed %s",GetErrorMessage(r));\r
-                               }\r
-                               else\r
-                               {\r
-                                       r = BookmarkPresentationModel::GetInstance()->DeleteFolder(id);\r
-                                       TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::OnActionPerformed BookmarkPresentationModel::GetInstance()->DeleteBookmark failed %s",GetErrorMessage(r));\r
-                               }\r
-                       }\r
-               }\r
-\r
-               if (__pListview != null)\r
-               {\r
-                       count = __pListview->GetItemCount();\r
-\r
-                       for(int index = 0; index < count ; index ++)\r
-                       {\r
-                               if(__pListview->IsItemChecked(index) == true )\r
-                               {\r
-                                       __pListview->SetItemChecked(index,false);\r
-                               }\r
-                       }\r
-\r
-                       __pCheckButton->SetSelected(false);\r
-                       __pListview->UpdateList();\r
-\r
-                       if ( __pListview->GetItemCount() == 0)\r
-                       {\r
-                               __pCheckButton->SetShowState(false);\r
-                               __pCheckButton->Invalidate(true);\r
-                               if (__pInfoPanel != null)\r
-                               {\r
-                                       __pInfoPanel->SetShowState(false);\r
-                               }\r
-                               r = __pListview->SetBounds(__pListview->GetX(), 0, __pListview->GetWidth(), GetClientAreaBounds().height);\r
-                               if (IsFailed(r))\r
-                               {\r
-                                       return;\r
-                               }\r
-\r
-\r
-                       }\r
-               }\r
-               GetFooter()->SetItemEnabled(0,false);\r
-               GetFooter()->Invalidate(true);\r
-               labelString.Append(CommonUtil::GetString(L"IDS_COM_OPT_SELECTED"));\r
-               labelString.Append(L"(0)");\r
-\r
-               if (__pInfoPanel != null)\r
-               {\r
-                       __pInfoLabel->SetText(labelString);\r
-                       __pInfoPanel->Draw();\r
-                       __pInfoPanel->Show();\r
-               }\r
-\r
-               NotificationPanel* pNotification = new (std::nothrow) NotificationPanel(*this);\r
-               String notification = CommonUtil::GetString(L"IDS_BR_POP_DELETED");\r
-               pNotification->SetText(notification);\r
-               pNotification->ShowNotification();\r
-\r
-\r
-               if( __pListview->GetItemCount() == 0)\r
-               {\r
-                       __pTimer->Start(1000);\r
-               }\r
-       }\r
-       break;\r
-       case IDA_CANCELITEM_CLICKED:\r
-       {\r
-               if ( __pTimer != NULL)\r
-               {\r
-                       __pTimer->Cancel();\r
-               }\r
-               if(pSceneManager != NULL)\r
-               {\r
-                       r = pSceneManager->GoBackward(BackwardSceneTransition());\r
-               }\r
-               if (IsFailed(r))\r
-               {\r
-                       AppLogDebug("EditBookmarkListForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));\r
-                       return;\r
-               }\r
-       }\r
-       break;\r
-       case IDA_BUTTON_CHECKED:\r
-       {\r
-               String labelString;\r
-               bool flag = false;\r
-\r
-               for (int count = 0;count < __pListview->GetItemCount();count++)\r
-               {\r
-                       __pListview->SetItemChecked(count,true);\r
-               }\r
-\r
-               GetFooter()->SetItemEnabled(0,true);\r
-               GetFooter()->Invalidate(true);\r
-\r
-               labelString.Append(CommonUtil::GetString(L"IDS_COM_OPT_SELECTED"));\r
-               labelString.Append(L"(");\r
-               labelString.Append(__pListview->GetItemCount());\r
-               labelString.Append(L")");\r
-\r
-               __pInfoLabel->SetText(labelString);\r
-               __pInfoPanel->Draw();\r
-               __pInfoPanel->Show();\r
-\r
-       __pListview->Invalidate(true);\r
-       }\r
-       break;\r
-       case IDA_BUTTON_UNCHECKED:\r
-       {\r
-               String labelString = L"";\r
-\r
-               for (int count = 0;count < __pListview->GetItemCount();count++)\r
-               {\r
-                       __pListview->SetItemChecked(count,false);\r
-               }\r
-\r
-               labelString.Append(CommonUtil::GetString(L"IDS_COM_OPT_SELECTED"));\r
-               labelString.Append(L"(0)");\r
-               __pInfoLabel->SetText(labelString);\r
-               __pInfoPanel->Draw();\r
-               __pInfoPanel->Show();\r
-\r
-               __pListview->Invalidate(true);\r
-\r
-               GetFooter()->SetItemEnabled(0,false);\r
-               GetFooter()->Invalidate(true);\r
-       }\r
-       break;\r
-       default:\r
-               break;\r
-       }\r
-\r
-       CATCH: return ;\r
-}\r
-\r
-ListItemBase*\r
-EditBookmarkListForm::CreateItem(int index, int itemWidth)\r
-{\r
-       result r = E_SUCCESS;\r
-       ListAnnexStyle style = LIST_ANNEX_STYLE_MARK;\r
-       CustomItem* pItem = null;\r
-       BookmarkData* pBookMark = null;\r
-       Bitmap* pBitmap = null;\r
-       String bitmapId;\r
-       const int x_Margin_Url = 104;\r
-       const int y_Margin_Url = 70;\r
-       const int height_Url = 40;\r
-       const int width_Url = GetClientAreaBounds().width - 104 - 120 - 16;\r
-       const int itemHeight = 112;\r
-       const int textSize = 32;\r
-       const int width_Title = GetClientAreaBounds().width - 104 - 120 - 16;\r
-\r
-       pItem = new(std::nothrow) CustomItem();\r
-       if (pItem == null)\r
-       {\r
-               return null;\r
-       }\r
-       pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));\r
-       if (pBookMark == null)\r
-       {\r
-               delete pItem;\r
-               pItem = null;\r
-               return null;\r
-       }\r
-       if (pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)\r
-       {\r
-               r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth, 112), style);\r
-               TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::CreateItem contruct item failed  %s",GetErrorMessage(r));\r
-\r
-               pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_FOLDER_OPEN);\r
-\r
-               if (pBitmap != null)\r
-               {\r
-                       pItem->AddElement(Rectangle(16, 26, 60, 60), IDA_FORMAT_ICON, *pBitmap, null);\r
-                       delete pBitmap;\r
-               }\r
-\r
-               pItem->AddElement(Rectangle(92, 8, width_Title/*__pListview->GetWidth() - 92 - 80*/, 112), IDA_FORMAT_FOLDER, pBookMark->GetBookmarkTitle(), true);\r
-\r
-\r
-               pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ITEM);\r
-\r
-               if (pBitmap != null)\r
-               {\r
-                       pItem->AddElement(Rectangle(GetClientAreaBounds().width - 92 - 80, 20, 60, 60), IDA_FORMAT_BITMAP, *pBitmap, null, null);\r
-                       pItem->SetElementSelectionEnabled(IDA_FORMAT_BITMAP, true);\r
-                       delete pBitmap;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth, 128), style);\r
-               TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::CreateItem contruct item failed  %s",GetErrorMessage(r));\r
-\r
-               bitmapId = pBookMark->GetFaviconId();\r
-               pBitmap = FaviconManager::GetInstance()->GetFaviconN(bitmapId);\r
-\r
-               if (pBitmap == null)\r
-               {\r
-                       pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();\r
-               }\r
-\r
-               pItem->AddElement(Rectangle(16, 28, 72, 72), IDA_FORMAT_ICON, *pBitmap, null);\r
-               delete pBitmap;\r
-\r
-               pItem->AddElement(Rectangle(104, 10, width_Title, itemHeight - height_Url), IDA_FORMAT_SITE, pBookMark->GetBookmarkTitle(), true);\r
-               pItem->AddElement(Rectangle(x_Margin_Url, y_Margin_Url, width_Url, height_Url), IDA_FORMAT_URL, pBookMark->GetUrl(),textSize,CUSTOM_COLOR_GREY,CUSTOM_COLOR_GREY,CUSTOM_COLOR_GREY,true);\r
-\r
-               //pBitmap = AppResource::GetInstance()->GetBitmapN("I01_picker_arrow_right.png");\r
-               pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_RIGHT_ARROW);\r
-               if (pBitmap != null)\r
-               {\r
-                       pItem->AddElement(Rectangle(GetClientAreaBounds().width - 92 - 84, 32, 64, 64), IDA_FORMAT_BITMAP, *pBitmap, null, null);\r
-                       pItem->SetElementSelectionEnabled(IDA_FORMAT_BITMAP, true);\r
-                       delete pBitmap;\r
-               }\r
-       }\r
-       return pItem;\r
-\r
-       CATCH:\r
-       delete pItem;\r
-       pItem = null;\r
-       return NULL;\r
-}\r
-\r
-bool\r
-EditBookmarkListForm::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)\r
-{\r
-       delete pItem;\r
-       pItem = null;\r
-       return true;\r
-}\r
-\r
-int\r
-EditBookmarkListForm::GetItemCount(void)\r
-{\r
-       int count = 0;\r
-       result r = E_SUCCESS;\r
-\r
-       BookmarkPresentationModel::GetInstance()->GetFolderBookmarkCount(__parentID, count);\r
-\r
-       if (__pData != NULL)\r
-       {\r
-               __pData->RemoveAll(true);\r
-               delete __pData;\r
-               __pData = NULL ;\r
-\r
-       }\r
-       __pData = new(std::nothrow) ArrayList();\r
-\r
-       if (__pData == null)\r
-       {\r
-               return 0;\r
-       }\r
-\r
-       r = __pData->Construct();\r
-\r
-       TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::GetItemCount __pData->Construct() failed  %s",GetErrorMessage(r));\r
-\r
-       BookmarkPresentationModel::GetInstance()->GetFoldersBookmarks(__parentID, 0, count, *__pData);\r
-\r
-\r
-       if ( count == 0)\r
-       {\r
-               if(__pCheckButton != null)\r
-               {\r
-                       __pCheckButton->SetShowState(false);\r
-               }\r
-               if(__pInfoPanel != null)\r
-               {\r
-                       __pInfoPanel->SetShowState(false);\r
-               }\r
-               __pListview->SetBounds(__pListview->GetX(), 0, __pListview->GetWidth(), GetClientAreaBounds().height);\r
-\r
-       }\r
-       else\r
-       {\r
-               if(__pCheckButton != null)\r
-               {\r
-                       __pCheckButton->SetShowState(true);\r
-               }\r
-               if(__pInfoPanel != null)\r
-               {\r
-                       __pInfoPanel->SetShowState(true);\r
-               }\r
-               if(__pCheckButton != null && __pInfoPanel != null)\r
-               __pListview->SetBounds(__pListview->GetX(), __pListview->GetY(), __pListview->GetWidth(), GetClientAreaBounds().height - __pCheckButton->GetHeight() - __pInfoPanel->GetHeight());\r
-\r
-       }\r
-       if(__pCheckButton != null)\r
-       {\r
-               __pCheckButton->Invalidate(true);\r
-       }\r
-       if(__pInfoPanel != null)\r
-       {\r
-               __pInfoPanel->Invalidate(false);\r
-       }\r
-\r
-       return count;\r
-\r
-       CATCH:\r
-       __pData->RemoveAll(true);\r
-       delete __pData;\r
-       __pData = null;\r
-       return 0;\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)\r
-{\r
-\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)\r
-{\r
-\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)\r
-{\r
-       String labelString;\r
-       __selectedItemCount = 0;\r
-       result r = E_SUCCESS;\r
-\r
-       switch (elementId)\r
-       {\r
-       case IDA_FORMAT_BITMAP:\r
-       {\r
-               ArrayList* pArgList = null;\r
-               SceneManager* pSceneManager = SceneManager::GetInstance();\r
-               BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));\r
-\r
-\r
-               if(pBookMark == NULL)\r
-               {\r
-                       return;\r
-               }\r
-               String *pBookmarkId = new(std::nothrow) String();\r
-               if(pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)\r
-               {\r
-                       pBookmarkId->Append("F");\r
-               }\r
-               else\r
-               {\r
-                       pBookmarkId->Append("U");\r
-               }\r
-               pBookmarkId->Append(pBookMark->GetBookmarkId());\r
-\r
-               if (__pListview->IsItemChecked(index) == true)\r
-               {\r
-                       __pListview->SetItemChecked(index, false);\r
-                       __pSelectedList->Remove(*pBookmarkId);\r
-               }\r
-               else\r
-               {\r
-                       __pListview->SetItemChecked(index, true);\r
-                       __pSelectedList->Add(pBookmarkId);\r
-               }\r
-\r
-               if (pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)\r
-               {\r
-                       pArgList = new(std::nothrow) ArrayList();\r
-\r
-                       if (pArgList != null)\r
-                       {\r
-                               pArgList->Construct();\r
-                               pArgList->Add(*new(std::nothrow) BookmarkData(*pBookMark));\r
-                               if ( pSceneManager != null)\r
-                               {\r
-                                       result r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_BOOKMARK_FOLDER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);\r
-                               }\r
-\r
-                               if (pArgList != null)\r
-                               {\r
-                                       pArgList->RemoveAll(false);\r
-                                       delete pArgList;\r
-                                       pArgList = null;\r
-                               }\r
-                               if(IsFailed(r))\r
-                               {\r
-                                       AppLogDebug("BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));\r
-                                       return;\r
-                               }\r
-                       }\r
-               }\r
-               else\r
-               {\r
-                       pArgList = new(std::nothrow) ArrayList();\r
-\r
-                       if (pArgList != null)\r
-                       {\r
-                               pArgList->Construct();\r
-                               pArgList->Add(*new(std::nothrow) String(L"1"));\r
-                               pArgList->Add(*new(std::nothrow) BookmarkData(*pBookMark));\r
-                               if ( pSceneManager != null)\r
-                               {\r
-                                       result r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ADD_BOOKMARK, SCENE_TRANSITION_ANIMATION_TYPE_NONE), pArgList);\r
-                               }\r
-                               if (pArgList != null)\r
-                               {\r
-                                       pArgList->RemoveAll(false);\r
-                                       delete pArgList;\r
-                                       pArgList = null;\r
-                               }\r
-                               if(IsFailed(r))\r
-                               {\r
-                                       AppLogDebug("BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));\r
-                                       return;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       break;\r
-\r
-       default:\r
-       {\r
-               int count = 0;\r
-               bool flag = false;\r
-               BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));\r
-\r
-\r
-               if(pBookMark == NULL)\r
-               {\r
-                       return;\r
-               }\r
-               String *pBookmarkId = new(std::nothrow) String();\r
-               if(pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)\r
-               {\r
-                       pBookmarkId->Append("F");\r
-               }\r
-               else\r
-               {\r
-                       pBookmarkId->Append("U");\r
-               }\r
-               pBookmarkId->Append(pBookMark->GetBookmarkId());\r
-\r
-               if (__pListview->IsItemChecked(index) == false)\r
-               {\r
-                       __pSelectedList->Remove(*pBookmarkId);\r
-               }\r
-               else\r
-               {\r
-                       __pSelectedList->Add(pBookmarkId);\r
-               }\r
-\r
-\r
-               int itemCount = __pListview->GetItemCount();\r
-               for (int count = 0;count < itemCount ; count++)\r
-               {\r
-                       if (__pListview->IsItemChecked(count))\r
-                       {\r
-                               __selectedItemCount++;\r
-                       }\r
-               }\r
-\r
-               //labelString.Append(__selectedItemCount);\r
-               labelString.Append(CommonUtil::GetString(L"IDS_COM_OPT_SELECTED"));\r
-               labelString.Append(L"(");\r
-               labelString.Append(__selectedItemCount);\r
-               labelString.Append(L")");\r
-               __pInfoLabel->SetText(labelString);\r
-               __pInfoPanel->Draw();\r
-               __pInfoPanel->Show();\r
-               BookmarkPresentationModel::GetInstance()->GetFolderBookmarkCount(__parentID,count);\r
-               if (__selectedItemCount == count)\r
-               {\r
-                       __pCheckButton->SetSelected(true);\r
-               }\r
-               else\r
-               {\r
-                       __pCheckButton->SetSelected(false);\r
-               }\r
-\r
-               itemCount = __pListview->GetItemCount();\r
-               for (int count = 0;count < itemCount ;count++)\r
-               {\r
-                       if (__pListview->IsItemChecked(count))\r
-                       {\r
-                               flag = true;\r
-                               break;\r
-                       }\r
-               }\r
-\r
-               if (flag == true)\r
-               {\r
-                       GetFooter()->SetItemEnabled(0,true);\r
-               }\r
-               else\r
-               {\r
-                       GetFooter()->SetItemEnabled(0,false);\r
-               }\r
-\r
-               GetFooter()->Invalidate(true);\r
-\r
-       }\r
-       break;\r
-       }\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)\r
-{\r
-\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnFastScrollIndexSelected(Tizen::Ui::Control& source, Tizen::Base::String& index)\r
-{\r
-\r
-}\r
-void\r
-EditBookmarkListForm::OnListViewItemReordered(Tizen::Ui::Controls::ListView& listView, int indexFrom, int indexTo)\r
-{\r
-\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)\r
-{\r
-       result r = E_FAILURE;\r
-       String labelString ;\r
-       int count = 0;\r
-       BookmarkData* pBookMark = null;\r
-\r
-       if (pArgs != null)\r
-       {\r
-               __parentID.Clear();\r
-               String* pStr = dynamic_cast<String*>(pArgs->GetAt(0));\r
-               if(pStr == null)\r
-               {\r
-                       return;\r
-               }\r
-               __parentID.Append(pStr->GetPointer());\r
-       }\r
-\r
-       __selectedItemCount = 0;\r
-\r
-       labelString.Append(CommonUtil::GetString(L"IDS_COM_OPT_SELECTED"));\r
-       labelString.Append(L"(");\r
-       labelString.Append(__selectedItemCount);\r
-       labelString.Append(L")");\r
-       __pInfoLabel->SetText(labelString);\r
-       __pListview->UpdateList();\r
-\r
-       count = __pListview->GetItemCount();\r
-\r
-       for(int index = 0 ; index < count ; index++)\r
-       {\r
-               pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));\r
-\r
-               if(pBookMark == NULL)\r
-               {\r
-                       return;\r
-               }\r
-               String *pBookmarkId = new(std::nothrow) String();\r
-               if(pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)\r
-               {\r
-                       pBookmarkId->Append("F");\r
-               }\r
-               else\r
-               {\r
-                       pBookmarkId->Append("U");\r
-               }\r
-               pBookmarkId->Append(pBookMark->GetBookmarkId());\r
-\r
-               AppLog("BookmarkId: %ls", pBookmarkId->GetPointer());\r
-\r
-               if(__pSelectedList->Contains(*pBookmarkId))\r
-               {\r
-                       __pListview->SetItemChecked(index,true);\r
-                       __selectedItemCount++;\r
-               }\r
-               else\r
-               {\r
-                       __pListview->SetItemChecked(index,false);\r
-               }\r
-       }\r
-       if(__selectedItemCount == 0)\r
-       {\r
-               __pCheckButton->SetSelected(false);\r
-               GetFooter()->SetItemEnabled(0, false);\r
-               GetFooter()->Invalidate(true);\r
-       }\r
-       else\r
-       {\r
-               __pCheckButton->SetSelected(true);\r
-               GetFooter()->SetItemEnabled(0, true);\r
-               GetFooter()->Invalidate(true);\r
-       }\r
-\r
-\r
-       __pInfoPanel->Draw();\r
-       __pInfoPanel->Show();\r
-\r
-       Invalidate(true);\r
-\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)\r
-{\r
-\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnFormBackRequested(Form& source)\r
-{\r
-       SceneManager* pSceneManager = SceneManager::GetInstance();\r
-\r
-       if ( __pTimer != NULL)\r
-       {\r
-               __pTimer->Cancel();\r
-       }\r
-\r
-       if (pSceneManager != null)\r
-       {\r
-               //pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_BOOKMARK_VIEW, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));\r
-               result r = pSceneManager->GoBackward(BackwardSceneTransition());\r
-               if(IsFailed(r))\r
-               {\r
-                       AppLogDebug("BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));\r
-                       return;\r
-               }\r
-\r
-       }\r
-       GetFooter()->Invalidate(true);\r
-}\r
-\r
-\r
-void EditBookmarkListForm::OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)\r
-{\r
-       int itemCount = 0;\r
-       ArrayList* pCheckedItems  = NULL ;\r
-\r
-       if (__pListview != null)\r
-       {\r
-               AppLog("the list Y axis is %d", __pListview->GetY());\r
-               pCheckedItems  = new(std::nothrow) ArrayList();\r
-               pCheckedItems->Construct();\r
-               if ( __pListview->GetItemCount() == 0)\r
-               {\r
-                       __pCheckButton->SetShowState(false);\r
-                       __pInfoPanel->SetShowState(false);\r
-                       __pListview->SetBounds(0, __pListview->GetY(), GetClientAreaBounds().width, GetClientAreaBounds().height -__pListview->GetY());\r
-\r
-               }\r
-               else\r
-               {\r
-                       __pCheckButton->SetShowState(true);\r
-                       __pInfoPanel->SetShowState(true);\r
-                       __pListview->SetBounds(__pListview->GetX(), __pListview->GetY(), __pListview->GetWidth(), GetClientAreaBounds().height - __pCheckButton->GetHeight() - __pInfoPanel->GetHeight());\r
-\r
-               }\r
-               __pCheckButton->Invalidate(true);\r
-\r
-               itemCount = __pListview->GetItemCount();\r
-\r
-               for (int count = 0;count < itemCount ; count++)\r
-               {\r
-\r
-                       if (__pListview->IsItemChecked(count))\r
-                       {\r
-                               pCheckedItems->Add(* new Integer(count));\r
-                       }\r
-               }\r
-\r
-               __pListview->UpdateList();\r
-\r
-               for (int count = 0;count < itemCount ;count++)\r
-               {\r
-                       if (pCheckedItems->Contains(* new Integer(count)) == true)\r
-                       {\r
-                               __pListview->SetItemChecked(count, true);\r
-                       }\r
-               }\r
-               if ( pCheckedItems != NULL )\r
-               {\r
-                       pCheckedItems->RemoveAll(true);\r
-                       delete pCheckedItems;\r
-               }\r
-               Invalidate(true);\r
-       }\r
-}\r
-\r
-void\r
-EditBookmarkListForm::OnTimerExpired(Timer&  timer)\r
-{\r
-       SceneManager* pSceneManager = SceneManager::GetInstance();\r
-\r
-       if ( pSceneManager != NULL)\r
-       {\r
-               result r = pSceneManager->GoBackward(BackwardSceneTransition());\r
-               if(IsFailed(r))\r
-               {\r
-                       AppLogDebug("EditBookmarkListForm::OnTimerExpired GoBackward failed %s",GetErrorMessage(r));\r
-               }\r
-       }\r
-}\r
+//
+
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// 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
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+//!Internet
+/*@file:    EditBookmarkListForm
+ *@brief:      This class defines EditBookmarkListForm used to edit the bookmark
+ *
+ */
+
+#include <FAppUiApp.h>
+#include <FUi.h>
+
+#include "IntBookmarkData.h"
+#include "IntBookmarkPresentationModel.h"
+#include "IntCommonLib.h"
+#include "IntEditBookmarkListForm.h"
+#include "IntFaviconManager.h"
+#include "IntNotificationPanel.h"
+#include "IntSceneRegister.h"
+#include "IntTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const wchar_t* IDB_ICON_FOLDER_OPEN = L"I01_icon_folder_open.png";
+static const wchar_t* IDB_ITEM = L"edit_item.png";
+static const wchar_t* IDB_RIGHT_ARROW = L"00_circle_bg_ef.png";
+static const wchar_t* IDB_RIGHT_ARROW_PRESS = L"00_circle_bg_ef_press.png";
+
+
+const int EditBookmarkListForm::IDA_BUTTON_CHECKED = 101;
+const int EditBookmarkListForm::IDA_TABBAR_ITEM_1 = 102;
+const int EditBookmarkListForm::IDA_TABBAR_ITEM_2 = 103;
+const int EditBookmarkListForm::IDA_DELETEITEM_CLICKED = 104;
+const int EditBookmarkListForm::IDA_SHAREITEM_CLICKED = 105;
+const int EditBookmarkListForm::IDA_CANCELITEM_CLICKED = 106;
+const int EditBookmarkListForm::IDA_FORMAT_FOLDER = 107;
+const int EditBookmarkListForm::IDA_FORMAT_SITE = 108;
+const int EditBookmarkListForm::IDA_FORMAT_ICON = 109;
+const int EditBookmarkListForm::IDA_FORMAT_BITMAP = 110;
+const int EditBookmarkListForm::IDA_BUTTON_UNCHECKED = 111;
+const int EditBookmarkListForm::IDA_FORMAT_URL = 112;
+
+
+EditBookmarkListForm::EditBookmarkListForm(void)
+{
+       __pListview = null;
+       __pData = null;
+       __pTimer = null;
+       __parentID = L"0";
+       __pInfoPanel = null;
+       __pInfoLabel = null;
+       __selectedItemCount = 0;
+       __pCheckButton = null;
+       __pConfirmationPopup = null;
+       __pSelectedList = null;
+       __fontSize = 44;
+}
+
+EditBookmarkListForm::~EditBookmarkListForm(void)
+{
+       if (__pData != null)
+       {
+               __pData->RemoveAll(false);
+               delete __pData;
+       }
+       if(__pSelectedList != null)
+       {
+               __pSelectedList->RemoveAll(false);
+               delete __pSelectedList;
+       }
+}
+
+bool
+EditBookmarkListForm::Initialize(void)
+{
+       Construct(L"IDL_EDIT_BOOKMARK_LIST");
+
+       return true;
+}
+result
+EditBookmarkListForm::OnInitializing(void)
+{
+       result r = E_SUCCESS;
+
+       Rectangle rc = GetClientAreaBounds();
+       String selected = CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED");
+
+       // Setup back event listener
+       SetFormBackEventListener(this);
+       AddOrientationEventListener(*this);
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+
+       if (pSceneManager != null)
+       {
+               pSceneManager->AddSceneEventListener(IDSCN_EDIT_BOOKMARK_LIST, *this);
+       }
+
+       __fontSize = CommonUtil::GetFontSize();
+       Header* pHeader = GetHeader();
+
+       if (pHeader == NULL)
+       {
+               return E_FAILURE;
+       }
+       pHeader->SetTitleText(CommonUtil::GetString(L"IDS_BR_HEADER_EDIT_BOOKMARK"));
+
+       __pCheckButton = static_cast< CheckButton* >(GetControl(
+                       L"IDC_SELECT_CHECKBUTTON", true));
+
+       if (__pCheckButton == null)
+       {
+               return E_FAILURE;
+       }
+
+       __pCheckButton->SetActionId(IDA_BUTTON_CHECKED, IDA_BUTTON_UNCHECKED);
+       __pCheckButton->AddActionEventListener(*this);
+
+       __pListview = static_cast< ListView* >(GetControl("IDC_LISTVIEW1"));
+
+       if (__pListview == null)
+       {
+               return E_FAILURE;
+       }
+
+       __pListview->AddFastScrollListener(*this);
+       __pListview->AddListViewItemEventListener(*this);
+       __pListview->SetItemProvider(*this);
+
+       __pInfoPanel = static_cast< Panel* >(GetControl(
+                       L"IDC_INFO_PANEL", true));
+
+       if (__pInfoPanel == null)
+       {
+               return E_FAILURE;
+       }
+
+       __pInfoLabel = static_cast< Label* >(GetControl(
+                       L"IDC_INFO_LABEL", true));
+
+       if (__pInfoLabel == null)
+       {
+               return E_FAILURE;
+       }
+
+//     __pInfoLabel->SetBounds(Rectangle(0,0,rc.width, 48));
+       //selected.Append(L"(0)");
+       selected.Format(25, selected.GetPointer() , 0);
+       __pInfoLabel->SetText(selected);
+
+       __pInfoLabel->SetTextConfig(32,LABEL_TEXT_STYLE_BOLD);
+       //__pInfoLabel->SetBackgroundColor(CUSTOM_COLOR_INFO_LABEL);
+       __pInfoLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+       __pInfoLabel->SetTextHorizontalAlignment(ALIGNMENT_CENTER);
+       GetFooter()->SetItemEnabled(0,false);
+       GetFooter()->AddActionEventListener(*this);
+       __pTimer = new (std::nothrow) Timer();
+       __pTimer->Construct(*this);
+
+       __pSelectedList = new(std::nothrow) ArrayList();
+               __pSelectedList->Construct();
+       return r;
+}
+
+void
+EditBookmarkListForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       result r = E_SUCCESS;
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+
+       switch (actionId)
+       {
+       case IDA_DELETEITEM_CLICKED:
+               if(__pConfirmationPopup)
+               {
+                       delete __pConfirmationPopup;
+                       __pConfirmationPopup = null;
+               }
+               if (!__pConfirmationPopup)
+               {
+                       String closeWarning = CommonUtil::GetString(L"IDS_BR_SK3_DELETE");
+                       __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
+                       __pConfirmationPopup->Initialize();
+
+                       __pConfirmationPopup->RemoveActionListener(*this);
+                       __pConfirmationPopup->AddActionListener(*this);
+                       __pConfirmationPopup->setMessage(closeWarning);
+                       __pConfirmationPopup->Show();
+               }
+               break;
+       case IDA_BUTTON_NO:
+               if(__pConfirmationPopup)
+               {
+                       __pConfirmationPopup->SetShowState(false);
+                       __pConfirmationPopup->Show();
+                       delete __pConfirmationPopup;
+                       __pConfirmationPopup = null;
+               }
+               break;
+       case IDA_BUTTON_YES:
+       {
+               String labelString;
+               int count = 0;
+               if(__pListview == null)
+               {
+                       return;
+               }
+               int totalCount = __pListview->GetItemCount();
+               for (int count = 0;count < totalCount;count++)
+               {
+                       if (__pListview->IsItemChecked(count))
+                       {
+                               int id = 0;
+                               String bookmarkId;
+                               BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(count));
+                               if (pBookMark == null)
+                               {
+                                       return;
+                               }
+                               bookmarkId = pBookMark->GetBookmarkId();
+                               Integer::Parse(bookmarkId,id);
+
+                               if (pBookMark->GetBookmarkType() == BOOKMARK_TYPE_URL)
+                               {
+                                       r = BookmarkPresentationModel::GetInstance()->DeleteBookmark(id);
+                                       TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::OnActionPerformed BookmarkPresentationModel::GetInstance()->DeleteBookmark failed %s",GetErrorMessage(r));
+                               }
+                               else
+                               {
+                                       r = BookmarkPresentationModel::GetInstance()->DeleteFolder(id);
+                                       TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::OnActionPerformed BookmarkPresentationModel::GetInstance()->DeleteBookmark failed %s",GetErrorMessage(r));
+                               }
+                       }
+               }
+
+               if (__pListview != null)
+               {
+                       count = __pListview->GetItemCount();
+
+                       for(int index = 0; index < count ; index ++)
+                       {
+                               if(__pListview->IsItemChecked(index) == true )
+                               {
+                                       __pListview->SetItemChecked(index,false);
+                               }
+                       }
+
+                       __pCheckButton->SetSelected(false);
+                       __pListview->UpdateList();
+
+                       if ( __pListview->GetItemCount() == 0)
+                       {
+                               __pCheckButton->SetShowState(false);
+                               __pCheckButton->Invalidate(true);
+                               if (__pInfoPanel != null)
+                               {
+                                       __pInfoPanel->SetShowState(false);
+                               }
+                               r = __pListview->SetBounds(__pListview->GetX(), 0, __pListview->GetWidth(), GetClientAreaBounds().height);
+                               if (IsFailed(r))
+                               {
+                                       return;
+                               }
+
+
+                       }
+               }
+               GetFooter()->SetItemEnabled(0,false);
+               GetFooter()->Invalidate(true);
+               // removing all the element from selected list
+               __pSelectedList->RemoveAll(false);
+
+               labelString.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , 0);
+
+               /*labelString.Append(CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED"));
+               labelString.Append(L"\x200E"); // LEFT-TO-RIGHT MARK
+               labelString.Append(L"(0)");*/
+
+               if (__pInfoPanel != null)
+               {
+                       __pInfoLabel->SetText(labelString);
+                       __pInfoPanel->Draw();
+                       __pInfoPanel->Show();
+               }
+
+               NotificationPanel* pNotification = new (std::nothrow) NotificationPanel(*this);
+               String notification = CommonUtil::GetString(L"IDS_BR_POP_DELETED");
+               pNotification->SetText(notification);
+               pNotification->ShowNotification();
+
+               if(__pConfirmationPopup)
+               {
+                       delete __pConfirmationPopup;
+                       __pConfirmationPopup = null;
+               }
+               if( __pListview->GetItemCount() == 0)
+               {
+                       __pTimer->Start(1000);
+               }
+       }
+       break;
+       case IDA_CANCELITEM_CLICKED:
+       {
+               if ( __pTimer != NULL)
+               {
+                       __pTimer->Cancel();
+               }
+               if(pSceneManager != NULL)
+               {
+                       r = pSceneManager->GoBackward(BackwardSceneTransition());
+               }
+               if (IsFailed(r))
+               {
+                       AppLogDebug("EditBookmarkListForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));
+                       return;
+               }
+       }
+       break;
+       case IDA_BUTTON_CHECKED:
+       {
+               String labelString;
+               bool flag = false;
+
+               for (int count = 0;count < __pListview->GetItemCount();count++)
+               {
+                       __pListview->SetItemChecked(count,true);
+               }
+
+               GetFooter()->SetItemEnabled(0,true);
+               GetFooter()->Invalidate(true);
+
+               if(__pListview->GetItemCount() >1)
+               {
+                       labelString.Format(25, CommonUtil::GetString(L"IDS_BR_POP_PD_ITEMS_SELECTED").GetPointer() , __pListview->GetItemCount());
+               }
+               else
+               {
+                       labelString.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , __pListview->GetItemCount());
+               }
+
+               __selectedItemCount = 0;
+
+               __pInfoLabel->SetText(labelString);
+               __pInfoPanel->Draw();
+               __pInfoPanel->Show();
+
+               __pSelectedList->RemoveAll();
+               int totalCount = __pData->GetCount();
+               for(int index = 0; index <  totalCount; index++)
+               {
+                       BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
+                       if (pBookMark == null)
+                       {
+                               continue;
+                       }
+                       String *pBookmarkId = new(std::nothrow) String();
+                       if(pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
+                       {
+                               pBookmarkId->Append("F");
+                       }
+                       else
+                       {
+                               pBookmarkId->Append("U");
+                       }
+                       pBookmarkId->Append(pBookMark->GetBookmarkId());
+
+                       __pListview->SetItemChecked(index, true);
+                       __pSelectedList->Add(pBookmarkId);
+               }
+       __pListview->Invalidate(true);
+       }
+       break;
+       case IDA_BUTTON_UNCHECKED:
+       {
+               String labelString = L"";
+
+               for (int count = 0;count < __pListview->GetItemCount();count++)
+               {
+                       __pListview->SetItemChecked(count,false);
+               }
+
+               /*labelString.Append(CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED"));
+               labelString.Append(L"\x200E"); // LEFT-TO-RIGHT MARK
+               labelString.Append(L"(0)");*/
+
+               labelString.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , 0);
+
+               __pInfoLabel->SetText(labelString);
+               __pInfoPanel->Draw();
+               __pInfoPanel->Show();
+               __pSelectedList->RemoveAll(true);
+               __pListview->Invalidate(true);
+
+               GetFooter()->SetItemEnabled(0,false);
+               GetFooter()->Invalidate(true);
+       }
+       break;
+       default:
+               break;
+       }
+
+       CATCH: return ;
+}
+
+ListItemBase*
+EditBookmarkListForm::CreateItem(int index, int itemWidth)
+{
+       result r = E_SUCCESS;
+       ListAnnexStyle style = LIST_ANNEX_STYLE_MARK;
+       CustomItem* pItem = null;
+       BookmarkData* pBookMark = null;
+       Bitmap* pBitmap = null;
+       String bitmapId;
+       const int x_Margin_Url = 104;
+       const int y_Margin_Url = 70;
+       const int height_Url = 40;
+       const int width_Url = GetClientAreaBounds().width - 104 - 120 - 16 - 48;
+       const int itemHeight = 112;
+       const int textSize = 32;
+       const int width_Title = GetClientAreaBounds().width - 104 - 120 - 16 - 48;
+
+       pItem = new(std::nothrow) CustomItem();
+       if (pItem == null)
+       {
+               return null;
+       }
+       pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
+       if (pBookMark == null)
+       {
+               delete pItem;
+               pItem = null;
+               return null;
+       }
+       if (pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
+       {
+               r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth, 112 - 44 + __fontSize), style);
+               TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::CreateItem contruct item failed  %s",GetErrorMessage(r));
+
+               pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_FOLDER_OPEN);
+
+               if (pBitmap != null)
+               {
+                       pItem->AddElement(Rectangle(16, 26+(__fontSize - 44)/2, 60, 60), IDA_FORMAT_ICON, *pBitmap, null);
+                       delete pBitmap;
+               }
+
+               pItem->AddElement(Rectangle(92, 8, width_Title/*__pListview->GetWidth() - 92 - 80*/, 112 + (__fontSize - 44)), IDA_FORMAT_FOLDER, pBookMark->GetBookmarkTitle(),__fontSize, CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true);
+
+               pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ITEM);
+
+               if (pBitmap != null)
+               {
+                       pItem->AddElement(Rectangle(GetClientAreaBounds().width - 92 - 80, 20 + (__fontSize - 44)/2, 60, 60), IDA_FORMAT_BITMAP, *pBitmap, null, null);
+                       pItem->SetElementSelectionEnabled(IDA_FORMAT_BITMAP, true);
+                       delete pBitmap;
+               }
+       }
+       else
+       {
+               r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth, 128 + (__fontSize - 44)), style);
+               TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::CreateItem contruct item failed  %s",GetErrorMessage(r));
+
+               pBitmap = pBookMark->GetFavIconBitmap();
+
+               if (pBitmap == null)
+               {
+                       pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
+               }
+
+               pItem->AddElement(Rectangle(16, 28 + (__fontSize - 44)/2, 72, 72), IDA_FORMAT_ICON, *pBitmap, null);
+               delete pBitmap;
+
+               pItem->AddElement(Rectangle(104, 10, width_Title, itemHeight - height_Url + (__fontSize - 44)), IDA_FORMAT_SITE, pBookMark->GetBookmarkTitle(),__fontSize,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true);
+               pItem->AddElement(Rectangle(x_Margin_Url, y_Margin_Url + (__fontSize - 44), width_Url, height_Url), IDA_FORMAT_URL, pBookMark->GetUrl(),textSize,CUSTOM_COLOR_GREY,CUSTOM_COLOR_LISTVIEW_TEXT,CUSTOM_COLOR_LISTVIEW_TEXT,true);
+
+               //pBitmap = AppResource::GetInstance()->GetBitmapN("I01_picker_arrow_right.png");
+               pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_RIGHT_ARROW);
+               Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_RIGHT_ARROW_PRESS);
+               if (pBitmap != null && pPressedBitmap != null)
+               {
+                       pItem->AddElement(Rectangle(GetClientAreaBounds().width - 92 - 84-4, 32 + (__fontSize - 44)/2-4, 72, 72), IDA_FORMAT_BITMAP, *pBitmap, pPressedBitmap, null);
+                       pItem->SetElementSelectionEnabled(IDA_FORMAT_BITMAP, true);
+                       delete pBitmap;
+                       delete pPressedBitmap;
+               }
+       }
+       return pItem;
+
+       CATCH:
+       delete pItem;
+       pItem = null;
+       return NULL;
+}
+
+bool
+EditBookmarkListForm::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)
+{
+       delete pItem;
+       pItem = null;
+       return true;
+}
+
+int
+EditBookmarkListForm::GetItemCount(void)
+{
+       int count = 0;
+       result r = E_SUCCESS;
+
+       BookmarkPresentationModel::GetInstance()->GetFolderBookmarkCount(__parentID, count);
+
+       if (__pData != NULL)
+       {
+               __pData->RemoveAll(true);
+               delete __pData;
+               __pData = NULL ;
+
+       }
+       __pData = new(std::nothrow) ArrayList();
+
+       if (__pData == null)
+       {
+               return 0;
+       }
+
+       r = __pData->Construct();
+
+       TryCatch( r == E_SUCCESS,,"EditBookmarkListForm::GetItemCount __pData->Construct() failed  %s",GetErrorMessage(r));
+
+       BookmarkPresentationModel::GetInstance()->GetFoldersBookmarks(__parentID, 0, count, *__pData);
+
+
+       if ( count == 0)
+       {
+               if(__pCheckButton != null)
+               {
+                       __pCheckButton->SetShowState(false);
+               }
+               if(__pInfoPanel != null)
+               {
+                       __pInfoPanel->SetShowState(false);
+               }
+               __pListview->SetBounds(__pListview->GetX(), 0, __pListview->GetWidth(), GetClientAreaBounds().height);
+
+       }
+       else
+       {
+               if(__pCheckButton != null)
+               {
+                       __pCheckButton->SetShowState(true);
+               }
+               if(__pInfoPanel != null)
+               {
+                       __pInfoPanel->SetShowState(true);
+               }
+               if(__pCheckButton != null && __pInfoPanel != null)
+               __pListview->SetBounds(__pListview->GetX(), __pListview->GetY(), __pListview->GetWidth(), GetClientAreaBounds().height - __pCheckButton->GetHeight() - __pInfoPanel->GetHeight());
+
+       }
+       if(__pCheckButton != null)
+       {
+               __pCheckButton->Invalidate(true);
+       }
+       if(__pInfoPanel != null)
+       {
+               __pInfoPanel->Invalidate(false);
+       }
+
+       return count;
+
+       CATCH:
+       __pData->RemoveAll(true);
+       delete __pData;
+       __pData = null;
+       return 0;
+}
+
+void
+EditBookmarkListForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+{
+
+}
+
+void
+EditBookmarkListForm::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
+{
+
+}
+
+void
+EditBookmarkListForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       String labelString;
+       __selectedItemCount = 0;
+       result r = E_SUCCESS;
+
+       switch (elementId)
+       {
+       case IDA_FORMAT_BITMAP:
+       {
+               ArrayList* pArgList = null;
+               SceneManager* pSceneManager = SceneManager::GetInstance();
+               BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
+
+               if(pBookMark == NULL)
+               {
+                       return;
+               }
+
+               if (pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
+               {
+                       pArgList = new(std::nothrow) ArrayList();
+
+                       if (pArgList != null)
+                       {
+                               pArgList->Construct();
+                               pArgList->Add(*new(std::nothrow) BookmarkData(*pBookMark));
+                               if ( pSceneManager != null)
+                               {
+                                       result r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_BOOKMARK_FOLDER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
+                               }
+
+                               if (pArgList != null)
+                               {
+                                       pArgList->RemoveAll(false);
+                                       delete pArgList;
+                                       pArgList = null;
+                               }
+                               if(IsFailed(r))
+                               {
+                                       AppLogDebug("BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));
+                                       return;
+                               }
+                       }
+               }
+               else
+               {
+                       pArgList = new(std::nothrow) ArrayList();
+
+                       if (pArgList != null)
+                       {
+                               pArgList->Construct();
+                               pArgList->Add(*new(std::nothrow) String(L"1"));
+                               pArgList->Add(*new(std::nothrow) BookmarkData(*pBookMark));
+                               if ( pSceneManager != null)
+                               {
+                                       result r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ADD_BOOKMARK, SCENE_TRANSITION_ANIMATION_TYPE_NONE), pArgList);
+                               }
+                               if (pArgList != null)
+                               {
+                                       pArgList->RemoveAll(false);
+                                       delete pArgList;
+                                       pArgList = null;
+                               }
+                               if(IsFailed(r))
+                               {
+                                       AppLogDebug("BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));
+                                       return;
+                               }
+                       }
+               }
+       }
+       break;
+
+       default:
+       {
+               int count = 0;
+               bool flag = false;
+               BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
+
+
+               if(pBookMark == NULL)
+               {
+                       return;
+               }
+               String *pBookmarkId = new(std::nothrow) String();
+               if(pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
+               {
+                       pBookmarkId->Append("F");
+               }
+               else
+               {
+                       pBookmarkId->Append("U");
+               }
+               pBookmarkId->Append(pBookMark->GetBookmarkId());
+
+               if (__pListview->IsItemChecked(index) == false)
+               {
+                       __pSelectedList->Remove(*pBookmarkId);
+               }
+               else
+               {
+                       __pSelectedList->Add(pBookmarkId);
+               }
+
+
+               int itemCount = __pListview->GetItemCount();
+               for (int count = 0;count < itemCount ; count++)
+               {
+                       if (__pListview->IsItemChecked(count))
+                       {
+                               __selectedItemCount++;
+                       }
+               }
+
+               //labelString.Append(__selectedItemCount);
+               /*labelString.Append(CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED"));
+               labelString.Append(L"\x200E"); // LEFT-TO-RIGHT MARK
+               labelString.Append(L"(");
+               labelString.Append(__selectedItemCount);
+               labelString.Append(L")");*/
+
+               if(__selectedItemCount >1)
+               {
+                       labelString.Format(25, CommonUtil::GetString(L"IDS_BR_POP_PD_ITEMS_SELECTED").GetPointer() , __selectedItemCount);
+               }
+               else
+               {
+                       labelString.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , __selectedItemCount);
+               }
+
+               __pInfoLabel->SetText(labelString);
+               __pInfoPanel->Draw();
+               __pInfoPanel->Show();
+               BookmarkPresentationModel::GetInstance()->GetFolderBookmarkCount(__parentID,count);
+               if (__selectedItemCount == count)
+               {
+                       __pCheckButton->SetSelected(true);
+               }
+               else
+               {
+                       __pCheckButton->SetSelected(false);
+               }
+
+               itemCount = __pListview->GetItemCount();
+               for (int count = 0;count < itemCount ;count++)
+               {
+                       if (__pListview->IsItemChecked(count))
+                       {
+                               flag = true;
+                               break;
+                       }
+               }
+
+               if (flag == true)
+               {
+                       GetFooter()->SetItemEnabled(0,true);
+               }
+               else
+               {
+                       GetFooter()->SetItemEnabled(0,false);
+               }
+
+               GetFooter()->Invalidate(true);
+
+       }
+       break;
+       }
+}
+
+void
+EditBookmarkListForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
+{
+
+}
+
+void
+EditBookmarkListForm::OnFastScrollIndexSelected(Tizen::Ui::Control& source, Tizen::Base::String& index)
+{
+
+}
+void
+EditBookmarkListForm::OnListViewItemReordered(Tizen::Ui::Controls::ListView& listView, int indexFrom, int indexTo)
+{
+
+}
+
+void
+EditBookmarkListForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
+{
+       result r = E_FAILURE;
+       String labelString ;
+       int count = 0;
+       BookmarkData* pBookMark = null;
+
+       if (pArgs != null)
+       {
+               __parentID.Clear();
+               String* pStr = dynamic_cast<String*>(pArgs->GetAt(0));
+               if(pStr == null)
+               {
+                       return;
+               }
+               __parentID.Append(pStr->GetPointer());
+       }
+
+       __selectedItemCount = 0;
+
+
+       __pListview->UpdateList();
+
+       count = __pListview->GetItemCount();
+       if(count == 0)
+       {
+               __pTimer->Start(1000);
+       }
+
+       for(int index = 0 ; index < count ; index++)
+       {
+               pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
+
+               if(pBookMark == NULL)
+               {
+                       return;
+               }
+               String *pBookmarkId = new(std::nothrow) String();
+               if(pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
+               {
+                       pBookmarkId->Append("F");
+               }
+               else
+               {
+                       pBookmarkId->Append("U");
+               }
+               pBookmarkId->Append(pBookMark->GetBookmarkId());
+
+               if(__pSelectedList->Contains(*pBookmarkId))
+               {
+                       __pListview->SetItemChecked(index,true);
+                       __selectedItemCount++;
+               }
+               else
+               {
+                       __pListview->SetItemChecked(index,false);
+               }
+               if (pBookmarkId)
+               {
+                       delete pBookmarkId;
+                       pBookmarkId = null;
+               }
+       }
+
+       //if(previousSceneId == IDSCN_ADD_BOOKMARK)
+       //      return;
+
+       if(__selectedItemCount >1)
+       {
+               labelString.Format(25, CommonUtil::GetString(L"IDS_BR_POP_PD_ITEMS_SELECTED").GetPointer() , __selectedItemCount);
+       }
+       else
+       {
+               labelString.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , __selectedItemCount);
+       }
+
+       __pInfoLabel->SetText(labelString);
+
+
+       if(__selectedItemCount == 0)
+       {
+               GetFooter()->SetItemEnabled(0, false);
+               GetFooter()->Invalidate(true);
+       }
+       else
+       {
+               GetFooter()->SetItemEnabled(0, true);
+               GetFooter()->Invalidate(true);
+       }
+       if(__selectedItemCount < __pListview->GetItemCount())
+       {
+               __pCheckButton->SetSelected(false);
+       }
+       else
+       {
+               __pCheckButton->SetSelected(true);
+       }
+       
+       Invalidate(true);
+}
+
+void
+EditBookmarkListForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
+{
+
+}
+
+void
+EditBookmarkListForm::OnFormBackRequested(Form& source)
+{
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+
+       if ( __pTimer != NULL)
+       {
+               __pTimer->Cancel();
+               delete __pTimer;
+       }
+
+       if (pSceneManager != null)
+       {
+               //pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_BOOKMARK_VIEW, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
+               result r = pSceneManager->GoBackward(BackwardSceneTransition());
+               if(IsFailed(r))
+               {
+                       AppLogDebug("BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));
+                       return;
+               }
+
+       }
+       GetFooter()->Invalidate(true);
+}
+
+
+void EditBookmarkListForm::OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+       int itemCount = 0;
+       ArrayList* pCheckedItems  = NULL ;
+
+       if (__pListview != null)
+       {
+               AppLog("the list Y axis is %d", __pListview->GetY());
+               pCheckedItems  = new(std::nothrow) ArrayList();
+               pCheckedItems->Construct();
+               if ( __pListview->GetItemCount() == 0)
+               {
+                       __pCheckButton->SetShowState(false);
+                       __pInfoPanel->SetShowState(false);
+                       __pListview->SetBounds(0, __pListview->GetY(), GetClientAreaBounds().width, GetClientAreaBounds().height -__pListview->GetY());
+
+               }
+               else
+               {
+                       AppLog("EditBookmarkListForm::OnOrientationChanged 1");
+                       __pCheckButton->SetShowState(true);
+                       __pInfoPanel->SetShowState(true);
+                       __pListview->SetBounds(__pListview->GetX(), __pListview->GetY(), __pListview->GetWidth(), GetClientAreaBounds().height - __pCheckButton->GetHeight() - __pInfoPanel->GetHeight());
+                       __pInfoLabel->SetBounds(__pInfoLabel->GetX(),__pInfoLabel->GetY(), GetClientAreaBounds().width,__pInfoLabel->GetHeight());
+                       __pInfoLabel->Invalidate(true);
+               }
+               __pCheckButton->Invalidate(true);
+
+               itemCount = __pListview->GetItemCount();
+
+               for (int count = 0;count < itemCount ; count++)
+               {
+
+                       if (__pListview->IsItemChecked(count))
+                       {
+                               pCheckedItems->Add(* new Integer(count));
+                       }
+               }
+
+//             __pListview->UpdateList();
+
+               for (int count = 0;count < itemCount ;count++)
+               {
+                       if (pCheckedItems->Contains(* new Integer(count)) == true)
+                       {
+                               __pListview->SetItemChecked(count, true);
+                       }
+               }
+               if ( pCheckedItems != NULL )
+               {
+                       pCheckedItems->RemoveAll(true);
+                       delete pCheckedItems;
+               }
+               Invalidate(true);
+       }
+}
+
+void
+EditBookmarkListForm::OnTimerExpired(Timer&  timer)
+{
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+
+       if ( pSceneManager != NULL)
+       {
+               result r = pSceneManager->GoBackward(BackwardSceneTransition());
+               if(IsFailed(r))
+               {
+                       AppLogDebug("EditBookmarkListForm::OnTimerExpired GoBackward failed %s",GetErrorMessage(r));
+               }
+       }
+}
+
+void
+EditBookmarkListForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
+{
+       AppLog("receiving userevent for appcontrol %d",requestId);
+       if (requestId == APPCONTROL_LAUNCH_MAX_LIMIT_REACHED)
+       {
+               AppLog("receiving userevent for appcontrol %d ",requestId);
+               if(__pConfirmationPopup)
+               {
+                       __pConfirmationPopup->SetShowState(false);
+                       delete __pConfirmationPopup;
+                       __pConfirmationPopup = null;
+               }
+       }
+}