-//\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;
+ }
+ }
+}