2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 /*@file: IntBookmarkListForm
19 *@brief: This class defines BookmarkListForm
24 #include "IntBookmarkData.h"
25 #include "IntBookmarkListForm.h"
26 #include "IntBookmarkPresentationModel.h"
27 #include "IntCommonLib.h"
28 #include "IntConfirmationPopup.h"
29 #include "IntFaviconManager.h"
30 #include "IntMultipleWindowPresentationModel.h"
31 #include "IntSceneRegister.h"
35 using namespace Tizen::App;
36 using namespace Tizen::Base;
37 using namespace Tizen::Base::Collection;
38 using namespace Tizen::Base::Runtime;
39 using namespace Tizen::Graphics;
40 using namespace Tizen::Ui;
41 using namespace Tizen::Ui::Controls;
42 using namespace Tizen::Ui::Scenes;
44 const wchar_t* DEFAULT_VALUE_PARENTID = L"-1";
45 static const wchar_t* IDB_TAB_ICON_BOOKMARK = L"I01_tab_icon_bookmarks.png";
46 static const wchar_t* IDB_TAB_ICON_HISTORY = L"I01_tab_icon_history.png";
47 static const wchar_t* IDB_NO_CONTENT_BOOKMARK = L"I01_Nocontents_Bookmarks.png";
48 static const wchar_t* IDB_ICON_FOLDER_OPEN = L"I01_icon_folder_open.png";
50 const int BookmarkListForm::IDA_TABBAR_ITEM_1 = 101;
51 const int BookmarkListForm::IDA_TABBAR_ITEM_2 = 102;
52 const int BookmarkListForm::IDA_FOOTER_ITEM1 = 103;
53 const int BookmarkListForm::IDA_FOOTER_ITEM2 = 104;
54 const int BookmarkListForm::IDA_FOOTER_ITEM_ADDBOOKMARK = 105;
55 const int BookmarkListForm::IDA_FORMAT_FOLDER = 106;
56 const int BookmarkListForm::IDA_FORMAT_SITE = 107;
57 const int BookmarkListForm::IDA_CONTEXT_ITEM_FOLDER_EDIT = 108;
58 const int BookmarkListForm::IDA_CONTEXT_ITEM_FOLDER_DELETE = 109;
59 const int BookmarkListForm::IDA_CONTEXT_ITEM_EDIT = 110;
60 const int BookmarkListForm::IDA_CONTEXT_ITEM_SHARE = 111;
61 const int BookmarkListForm::IDA_CONTEXT_ITEM_DELETE = 112;
62 const int BookmarkListForm::IDA_FORMAT_ICON = 113;
63 const int BookmarkListForm::IDA_FORMAT_URL = 114;
65 //const int BookmarkListForm::IDA_CONFIRMATION_NO = 1000;
66 //const int BookmarkListForm::IDA_CONFIRMATION_YES = 1001;
68 BookmarkListForm::BookmarkListForm(void)
70 __pItemContextFolder = null ;
71 __pItemContextSite = null ;
74 __pSearchListView = null;
76 __searchBookmark = false;
77 __parentID = DEFAULT_VALUE_PARENTID;
82 BookmarkListForm::~BookmarkListForm(void)
87 __pData->RemoveAll(true);
92 if (__pItemContextFolder != null)
94 delete __pItemContextFolder;
97 if (__pItemContextSite != null)
99 delete __pItemContextSite;
104 BookmarkListForm::OnTerminating(void)
106 result r = E_SUCCESS;
110 __pData->RemoveAll(true);
120 BookmarkListForm::Initialize(void)
122 Construct(L"IDL_BOOKMARK_LIST");
127 BookmarkListForm::OnInitializing(void)
129 result r = E_SUCCESS;
132 Bitmap *pBitmapNormal = null;
133 Bitmap *pBitmapPressed = null;
134 Header *pHeader = GetHeader();
135 Bitmap *pIconBitmap = null;
136 AppResource* pAppResource = UiApp::GetInstance()->GetAppResource();
137 int bookmarkCount = 0;
138 const int WIDTH_CONTEXT_MENU_TWO_BUTTON = 336;
139 const int WIDTH_CONTEXT_MENU_THREE_BUTTON = 160;
140 const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
142 // Setup back event listener
143 SetFormBackEventListener(this);
144 AddOrientationEventListener(*this);
146 SceneManager::GetInstance()->AddSceneEventListener(IDSCN_BOOKMARK_VIEW, *this);
147 GetHeader()->AddActionEventListener(*this);
148 GetFooter()->AddActionEventListener(*this);
150 if ( pAppResource == NULL )
155 __pItemContextFolder = new(std::nothrow) ListContextItem();
156 __pItemContextFolder->Construct();
157 __pItemContextFolder->AddElement(IDA_CONTEXT_ITEM_FOLDER_EDIT, CommonUtil::GetString(L"IDS_BR_SK_EDIT"));
158 pBitmapNormal = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete.9.png", WIDTH_CONTEXT_MENU_TWO_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON);
159 pBitmapPressed = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete_press.9.png", WIDTH_CONTEXT_MENU_TWO_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON);
161 if (pBitmapNormal != null && pBitmapPressed != null)
163 __pItemContextFolder->AddElement(IDA_CONTEXT_ITEM_FOLDER_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), *pBitmapNormal, *pBitmapPressed, pBitmapPressed);
166 if (pBitmapNormal != null)
168 delete pBitmapNormal;
171 if (pBitmapPressed != null)
173 delete pBitmapPressed;
176 __pItemContextSite = new(std::nothrow) ListContextItem();
177 __pItemContextSite->Construct();
178 __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_EDIT, CommonUtil::GetString(L"IDS_BR_SK_EDIT"));
179 __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_SHARE, CommonUtil::GetString(L"IDS_BR_OPT_SHARE"));
180 pBitmapNormal = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete.9.png", WIDTH_CONTEXT_MENU_THREE_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON);
181 pBitmapPressed = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete_press.9.png", WIDTH_CONTEXT_MENU_THREE_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON);
183 if (pBitmapNormal != null && pBitmapPressed != null)
185 __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), *pBitmapNormal, *pBitmapPressed, pBitmapPressed);
188 if (pBitmapNormal != null)
190 delete pBitmapNormal;
193 if (pBitmapPressed != null)
195 delete pBitmapPressed;
197 __pListview = static_cast< ListView* >(GetControl("IDC_LISTVIEW1"));
199 if (__pListview == null)
203 __pSearchBar = static_cast< SearchBar* >(GetControl(L"IDC_SEARCHBAR1"));
205 if (__pSearchBar == null)
210 if (__pListview != null)
212 // __pListview->SetBounds(__pListview->GetX(), __pListview->GetY(), GetClientAreaBounds().width, GetClientAreaBounds().height);
213 __pListview->AddFastScrollListener(*this);
214 __pListview->AddListViewItemEventListener(*this);
215 __pListview->SetItemProvider(*this);
216 __pListview->UpdateList();
219 __pPopUp = new(std::nothrow) SharePopup();
221 if (__pPopUp != null)
223 __pPopUp->Initialize();
224 AddControl(*__pPopUp);
227 __pSearchListView = new(std::nothrow) ListView();
229 if (__pSearchListView == null)
234 r = __pSearchListView->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height -72 - 30), true, false);
235 TryCatch( !IsFailed(r),,"BookmarkListForm::OnSearchBarModeChanged Update list failed %s",GetErrorMessage(r));
237 __pSearchListView->SetItemProvider(*this);
238 __pSearchListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_RESULTS_FOUND"));
239 __pSearchListView->SetTextColorOfEmptyList(Color::GetColor(COLOR_ID_BLACK));
240 __pSearchListView->SetShowState(false);
241 __pSearchListView->AddListViewItemEventListener(*this);
243 __pSearchBar->AddSearchBarEventListener(*this);
244 __pSearchBar->AddKeypadEventListener(*this);
245 __pSearchBar->SetContent(__pSearchListView);
247 BookmarkPresentationModel::GetInstance()->GetFolderBookmarkCount(__parentID, bookmarkCount);
248 if(bookmarkCount <= 0)
250 __pSearchBar->SetShowState(false);
251 //__pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetY(),__pSearchBar->GetWidth(),GetClientAreaBounds().height - __pSearchBar->GetPosition().y);
252 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetY(),__pListview->GetWidth(),GetClientAreaBounds().height);
256 __pSearchBar->SetShowState(true);
262 pHeader->SetStyle(HEADER_STYLE_TAB);
263 bookmark.Construct(IDA_TABBAR_ITEM_1);
265 pAppResource->GetString(L"IDS_BR_TAB_BOOKMARKS", strbookmark);
266 bookmark.SetText(strbookmark);
267 pIconBitmap = pAppResource->GetBitmapN(IDB_TAB_ICON_BOOKMARK);
268 bookmark.SetIcon(HEADER_ITEM_STATUS_NORMAL, pIconBitmap);
269 bookmark.SetIcon(HEADER_ITEM_STATUS_PRESSED, pIconBitmap);
270 pHeader->AddItem(bookmark);
272 if (pIconBitmap != NULL)
277 history.Construct(IDA_TABBAR_ITEM_2);
279 pAppResource->GetString(L"IDS_BR_TAB_HISTORY", strhistory);
280 history.SetText(strhistory);
281 pIconBitmap = pAppResource->GetBitmapN(IDB_TAB_ICON_HISTORY);
282 history.SetIcon(HEADER_ITEM_STATUS_NORMAL, pIconBitmap);
283 history.SetIcon(HEADER_ITEM_STATUS_PRESSED, pIconBitmap);
284 pHeader->AddItem(history);
285 pHeader->SetItemSelected(0);
287 if (pIconBitmap != NULL)
298 BookmarkListForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
300 AppLogDebug("BookmarkListForm::OnActionPerformed actionId = %d",actionId);
303 BookmarkData* pBookMark = null;
307 case IDA_FOOTER_ITEM1:
309 GetHeader()->SetItemSelected(0);
310 GetHeader()->Invalidate(true);
311 SceneManager* pSceneManager = SceneManager::GetInstance();
312 pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(__selectedindex));
314 if ( pBookMark == NULL )
319 ArrayList* pArgList = null;
320 pArgList = new(std::nothrow) ArrayList();
321 if (pArgList != null)
323 pArgList->Construct();
324 pArgList->Add(*new(std::nothrow) String(pBookMark->GetParentId()));
326 //pArgList->Add(*new(std::nothrow) String(pBookmark->);
327 if (pSceneManager != null)
329 if(pSceneManager->GoForward(ForwardSceneTransition(IDSCN_EDIT_BOOKMARK_LIST),pArgList) != E_SUCCESS)
331 AppLogDebug("BookmarkListForm::OnActionPerformed GoForward failed");
332 pArgList->RemoveAll(true);
339 if ( pArgList != NULL)
341 pArgList->RemoveAll(true);
347 case IDA_TABBAR_ITEM_2:
349 GetHeader()->SetItemSelected(0);
350 GetHeader()->Invalidate(true);
352 SceneManager* pSceneManager = SceneManager::GetInstance();
354 if (pSceneManager != null)
356 if(pSceneManager->GoForward(ForwardSceneTransition(IDSCN_HISTORY_LIST, SCENE_TRANSITION_ANIMATION_TYPE_LEFT)) != E_SUCCESS)
358 AppLogDebug("BookmarkListForm::OnActionPerformed GoForward failed");
364 case IDA_FOOTER_ITEM2:
366 SceneManager* pSceneManager = SceneManager::GetInstance();
370 if(pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_BOOKMARK_FOLDER)) != E_SUCCESS)
372 AppLogDebug("BookmarkListForm::OnActionPerformed GoForward failed");
378 case IDA_FOOTER_ITEM_ADDBOOKMARK:
380 SceneManager* pSceneManager = SceneManager::GetInstance();
382 // send array list 0-for add, 1 for edit with parent ID
383 ArrayList* pArgList = null;
384 pArgList = new(std::nothrow) ArrayList();
385 if (pArgList != null)
387 pArgList->Construct();
388 pArgList->Add(*new(std::nothrow) String(L"0"));
389 pArgList->Add(*new(std::nothrow) String(__parentID));
394 if(pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ADD_BOOKMARK),pArgList) != E_SUCCESS)
396 AppLogDebug("BookmarkListForm::OnActionPerformed GoForward failed");
397 pArgList->RemoveAll(true);
403 if (pArgList != null)
405 pArgList->RemoveAll(true);
412 __pConfirmationPopup->SetShowState(false);
413 __pConfirmationPopup->Show();
416 pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(__selectedindex));
417 if ( pBookMark== null)
419 bookmarkId=pBookMark->GetBookmarkId();
420 Integer::Parse(bookmarkId,id);
421 if (pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
422 BookmarkPresentationModel::GetInstance()->DeleteFolder(id);
424 BookmarkPresentationModel::GetInstance()->DeleteBookmark(id);
425 if (__pListview == null)
429 AppLogDebug("__pListview GetBounds %d,%d,%d,%d",__pListview->GetBounds().x,__pListview->GetBounds().y,__pListview->GetBounds().width,__pListview->GetBounds().height);
430 __pSearchListView->UpdateList();
431 __pListview->UpdateList();
433 if (__pListview->GetItemCount() == 0)
435 GetFooter()->SetItemEnabled(1,false);
436 __pSearchBar->SetShowState(false);
437 __pSearchBar->Invalidate(true);
440 if (__noBookmarks == true)
442 Bitmap* emptyListBmp = AppResource::GetInstance()->GetBitmapN(IDB_NO_CONTENT_BOOKMARK);
443 GetFooter()->SetItemEnabled(1,false);
444 __pSearchBar->SetShowState(false);
445 __pSearchBar->Invalidate(true);
446 // __pListview->SetBounds(__pSearchBar->GetPosition().x,__pSearchBar->GetPosition().y,__pSearchBar->GetWidth() ,GetClientAreaBounds().height);
447 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetPosition().y,__pSearchBar->GetWidth() ,GetClientAreaBounds().height);
448 __pListview->SetBitmapOfEmptyList(emptyListBmp);
454 __pListview->UpdateList();
459 GetFooter()->SetItemEnabled(1,true);
461 if (__parentID.CompareTo(L"-1") == 0)
463 __pSearchBar->SetShowState(true);
464 __pSearchBar->Invalidate(true);
468 GetFooter()->Invalidate(true);
469 __pConfirmationPopup->SetShowState(false);
470 __pConfirmationPopup->Show();
479 BookmarkListForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
481 AppLogDebug("BrowserApplicationForm::OnFormBackRequested");
483 UiApp* pApp = UiApp::GetInstance();
489 if (__parentID != DEFAULT_VALUE_PARENTID)
491 __parentID = DEFAULT_VALUE_PARENTID;
492 __pSearchBar->SetShowState(true);
493 __pListview->SetBounds(__pListview->GetX() ,__pSearchBar->GetPosition().y + __pSearchBar->GetHeight(),__pListview->GetWidth(),GetClientAreaBounds().height - (__pSearchBar->GetY() + __pSearchBar->GetHeight()));
494 __pListview->UpdateList();
495 __pFooter = GetFooter();
496 GetFooter()->SetItemEnabled(2,true);
497 GetFooter()->Invalidate(true);
501 SceneManager* pSceneManager = SceneManager::GetInstance();
502 if (pSceneManager != null)
504 pSceneManager->GoBackward(BackwardSceneTransition());
508 if (__noBookmarks == true)
510 GetFooter()->SetItemEnabled(1,false);
514 GetFooter()->SetItemEnabled(1,true);
518 Tizen::Ui::Controls::ListItemBase*
519 BookmarkListForm::CreateItem(int index, int itemWidth)
521 AppLog("BookmarkListForm::CreateItem index %d , itemWidth %d",index, itemWidth);
522 AppLog("listviewwidth %d",__pListview->GetWidth());
523 result r = E_FAILURE;
524 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
525 CustomItem* pItem = new(std::nothrow) CustomItem();
526 BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
527 Bitmap* pBitmap = null;
529 const int x_Margin_Icon = 16; // local as there used only in this function
530 const int y_Margin_Icon = 28;
531 const int height_Icon = 72;
532 const int width_Icon = 72 ;
533 const int x_Margin_Title = 104 ;
534 const int y_Margin_Title = 10;
535 const int width_Title = GetClientAreaBounds().width - 108 - 52 - 30;
536 const int x_Margin_Url = 104 ;
537 const int y_Margin_Url = 70 ;
538 const int width_Url = GetClientAreaBounds().width - 108 - 52 ;
539 const int height_Url = 48;
540 const int itemHeight = 128;
541 const int textSize = 32;
544 if( pBookMark == NULL )
550 if ( pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER )
552 r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth,112), LIST_ANNEX_STYLE_DETAILED);
553 TryCatch(!IsFailed(r),,"BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));
555 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_FOLDER_OPEN);
558 pItem->AddElement(Rectangle(x_Margin_Icon, 20, width_Icon, height_Icon), IDA_FORMAT_ICON, *pBitmap, null);
562 pItem->AddElement(Rectangle(x_Margin_Title, 26, width_Title, 60), IDA_FORMAT_FOLDER, pBookMark->GetBookmarkTitle(), true);
564 if ( __pItemContextFolder != NULL)
566 pItem->SetContextItem(__pItemContextFolder);
571 r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth, itemHeight), style);
572 TryCatch( !IsFailed(r),,"BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));
574 AppLogDebug("BookmarkListForm::faviconid %ls",pBookMark->GetFaviconId().GetPointer());
575 bitmapId = pBookMark->GetFaviconId();
577 pBitmap = FaviconManager::GetInstance()->GetFaviconN(bitmapId);
580 AppLogDebug("BookmarkListForm::CreateItem bitmap is null");
581 pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
583 pItem->AddElement(Rectangle(x_Margin_Icon, y_Margin_Icon, width_Icon, height_Icon), IDA_FORMAT_ICON, *pBitmap, null);
584 pItem->AddElement(Rectangle(x_Margin_Title, 0, width_Title, itemHeight - height_Url), IDA_FORMAT_SITE, pBookMark->GetBookmarkTitle(),44,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true);
585 if(__pSearchBar->GetMode() == SEARCH_BAR_MODE_INPUT)
586 pItem->AddElement(Rectangle(x_Margin_Url, y_Margin_Url, width_Url, height_Url), IDA_FORMAT_URL, pBookMark->GetUrl(),textSize,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true);
588 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);
594 if ( __pItemContextSite != NULL)
596 pItem->SetContextItem(__pItemContextSite);
610 BookmarkListForm::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)
618 BookmarkListForm::GetItemCount(void)
622 if (__pData != NULL )
624 __pData->RemoveAll(true);
628 __pData = new(std::nothrow) Collection::ArrayList();
629 __pData->Construct();
631 if (__searchBookmark == false)
633 BookmarkPresentationModel::GetInstance()->GetFolderBookmarkCount(__parentID, count);
634 BookmarkPresentationModel::GetInstance()->GetFoldersBookmarks(__parentID, 0, count, *__pData);
638 String searchBarText = __pSearchBar->GetText();
639 BookmarkPresentationModel::GetInstance()->GetSearchFolderBookmarkCount(count,searchBarText);
640 BookmarkPresentationModel::GetInstance()->GetSearchFoldersBookmarks(0, count, *__pData, searchBarText);
643 AppLogDebug("Count = %d parentId = %ls", count, __parentID.GetPointer());
647 __noBookmarks = true;
648 GetFooter()->SetItemEnabled(1,false);
652 __noBookmarks = false;
653 GetFooter()->SetItemEnabled(1,true);
656 AppLogDebug("Result: %s", GetErrorMessage(GetLastResult()));
657 GetFooter()->Invalidate(true);
658 if (__pData != null && __pData->GetCount() >= 1)
660 // __pSearchBar->SetMode(SEARCH_BAR_MODE_NORMAL);
661 __pSearchBar->SetShowState(true);
662 __pSearchBar->Invalidate(true);
664 else if (__searchBookmark == false)
666 __pSearchBar->SetShowState(false);
667 __pSearchBar->Invalidate(true);
670 if (__parentID.CompareTo(L"-1") != 0)
672 __pSearchBar->SetShowState(false);
673 __pSearchBar->Invalidate(true);
675 if (__noBookmarks == true)
677 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetPosition().y,__pSearchBar->GetWidth() ,GetClientAreaBounds().height);
678 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_NO_CONTENT_BOOKMARK);
680 if ( pBitmap != NULL)
682 __pListview->SetBitmapOfEmptyList(pBitmap);
688 if (__parentID.CompareTo(L"-1") == 0)
690 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetHeight(),GetClientAreaBounds().width ,GetClientAreaBounds().height - __pSearchBar->GetY() - __pSearchBar->GetHeight());
694 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetY(),__pSearchBar->GetWidth() ,GetClientAreaBounds().height);
699 __pListview->Invalidate(true);
705 BookmarkListForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
707 AppLogDebug("BookmarkListForm::OnListViewContextItemStateChanged int index %d, int elementId %d, Tizen::Ui::Controls::ListContextItemStatus status %d",index,elementId,status);
709 String deleteText = CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB");
710 deleteText.Append(L"? ");
712 result r = E_SUCCESS;
716 case IDA_CONTEXT_ITEM_FOLDER_EDIT:
718 ArrayList* pArgList = null;
719 String* pEdit = null;
721 SceneManager* pSceneManager = SceneManager::GetInstance();
722 BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
723 if (pBookMark != null && pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
725 pArgList = new(std::nothrow) ArrayList();
726 if (pArgList != null)
728 pEdit= new(std::nothrow) String(CommonUtil::GetString(L"IDS_BR_HEADER_EDIT_FOLDER"));
729 pArgList->Construct();
730 pArgList->Add(*new(std::nothrow) BookmarkData(*pBookMark));
731 pArgList->Add(*pEdit);
732 if ( pSceneManager != null)
735 r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_BOOKMARK_FOLDER), pArgList);
738 if (pArgList != null)
745 AppLogDebug("BookmarkListForm::OnListViewContextItemStateChanged GoForward failed %s",GetErrorMessage(r));
754 case IDA_CONTEXT_ITEM_FOLDER_DELETE:
755 case IDA_CONTEXT_ITEM_DELETE:
757 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
758 __pConfirmationPopup->Initialize();
759 __pConfirmationPopup->RemoveActionListener(*this);
760 __pConfirmationPopup->AddActionListener(*this);
761 __pConfirmationPopup->setMessage(deleteText);
762 __pConfirmationPopup->Show();
763 __selectedindex = index;
767 case IDA_CONTEXT_ITEM_EDIT:
769 ArrayList* pArgList = null;
770 SceneManager* pSceneManager = SceneManager::GetInstance();
771 BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
772 if (pBookMark!= null && pBookMark->GetBookmarkType() == BOOKMARK_TYPE_URL)
774 AppLogDebug("ID_CONTEXT_ITEM_SITE_1 BOOKMARK_TYPE_URL");
775 pArgList = new(std::nothrow) ArrayList();
776 if (pArgList != null)
778 pArgList->Construct();
779 pArgList->Add(*new(std::nothrow) String(L"1"));
780 pArgList->Add(*new(std::nothrow) BookmarkData(*pBookMark));
781 if ( pSceneManager != null)
784 r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ADD_BOOKMARK), pArgList);
785 if (pArgList != null)
792 AppLogDebug("BookmarkListForm::OnListViewContextItemStateChanged GoForward failed %s",GetErrorMessage(r));
800 case IDA_CONTEXT_ITEM_SHARE:
802 AppLogDebug("OnListViewContextItemStateChanged Share");
804 BookmarkData* pBookmark = dynamic_cast<BookmarkData*>(__pData->GetAt(index));
805 if (pBookmark != null)
807 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
808 pShareInfo->SetPageTitle(pBookmark->GetBookmarkTitle());
809 pShareInfo->SetPageUrl(pBookmark->GetUrl());
810 pShareInfo->SetImageAttached(false);
811 __pPopUp->RemoveAllShareInfo();
812 __pPopUp->AddShareInfo(pShareInfo);
815 if (__pPopUp != null)
817 __pPopUp->SetShowState(true);
829 BookmarkListForm::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
835 BookmarkListForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
837 AppLogDebug("BookmarkListForm::OnListViewItemStateChanged");
839 result r = E_FAILURE;
840 ArrayList *pArgList = null;
841 SceneManager* pSceneManager = SceneManager::GetInstance();
842 BookmarkData* pBookmark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
844 if ( pBookmark == NULL )
849 switch (pBookmark->GetBookmarkType())
851 case BOOKMARK_TYPE_FOLDER:
853 __parentID = pBookmark->GetBookmarkId();
854 AppLogDebug("BOOKMARK_TYPE_FOLDER parent ID is %ls",__parentID.GetPointer());
856 listView.UpdateList();
857 if (listView.GetItemCount() == 0)
859 GetFooter()->SetItemEnabled(1,false);
863 GetFooter()->SetItemEnabled(1,true);
865 GetFooter()->SetItemEnabled(2,false);
866 GetFooter()->Invalidate(true);
867 __pSearchBar->HideKeypad();
868 __pSearchBar->SetMode(SEARCH_BAR_MODE_NORMAL);
869 __pSearchBar->SetShowState(false);
870 __pSearchBar->Invalidate(true);
871 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetY(),__pListview->GetWidth() ,GetClientAreaBounds().height);
874 case BOOKMARK_TYPE_URL:
876 pArgList = new(std::nothrow) ArrayList();
877 if (pArgList != null)
879 r = pArgList->Construct();
880 TryCatch(!IsFailed(r), L"BookmarkListForm::OnListViewItemStateChanged pArgList Construct failed %s", GetErrorMessage(r));
882 AppLogDebug("bookmark url = %ls",pBookmark->GetUrl().GetPointer());
883 r = pArgList->Add(*MultipleWindowPresentationModel::GetInstance()->GetActiveWindowInfo());
884 pArgList->Add(*new(std::nothrow) String(pBookmark->GetUrl()));
886 if (pSceneManager != null)
888 AppLogDebug("pSceneManager exists");
890 MultipleWindowPresentationModel::GetInstance()->GetCurrentSceneId(prevSceneId);
891 r = pSceneManager->GoBackward(BackwardSceneTransition(prevSceneId), pArgList);
892 TryCatch(!IsFailed(r), L"BookmarkListForm::OnListViewItemStateChanged pArgList Construct failed %s", GetErrorMessage(r));
906 pArgList->RemoveAll(true);
913 BookmarkListForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
920 BookmarkListForm::OnFastScrollIndexSelected(Tizen::Ui::Control& source, Tizen::Base::String& index)
926 BookmarkListForm::OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode)
928 result r = E_FAILURE;
929 if (mode == SEARCH_BAR_MODE_NORMAL)
931 __pSearchListView->SetShowState(false);
932 __pListview->SetShowState(true);
934 __searchBookmark = false;
935 r = __pListview->UpdateList();
936 TryCatch( !IsFailed(r),,"BookmarkListForm::OnSearchBarModeChanged Update list failed %s",GetErrorMessage(r));
941 __pSearchListView->SetShowState(true);
942 __pSearchListView->SetEnabled(false);
943 __pListview->SetShowState(false);
946 __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), __pSearchListView->GetHeight()));
947 __pSearchBar->SetText(L"");
949 r = __pListview->UpdateList();
950 __pSearchListView->UpdateList();
955 BookmarkListForm::OnKeypadWillOpen(Tizen::Ui::Control& source)
957 Footer* pFooter = GetFooter();
958 pFooter->SetShowState(false);
959 __pSearchListView->SetEnabled(false);
963 BookmarkListForm::OnKeypadOpened(Tizen::Ui::Control& source)
969 BookmarkListForm::OnKeypadClosed(Tizen::Ui::Control& source)
971 if ( Clipboard::GetInstance()->IsPopupVisible() == false && __searchBookmark == false)
974 __pSearchListView->SetEnabled(true);
976 GetFooter()->SetShowState(true);
981 BookmarkListForm::OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction)
983 AppLog("BookmarkListForm::OnKeypadActionPerformed %d",keypadAction);
984 if (__pSearchBar != null)
986 __pSearchBar->HideKeypad();
989 if ( __pSearchBar != null && keypadAction == KEYPAD_ACTION_SEARCH)
991 if (__pSearchBar->GetText().GetLength() == 0)
995 __searchBookmark = true;
996 __pListview->SetShowState(false);
997 __pSearchListView->SetEnabled(true);
998 __pSearchListView->SetShowState(true);
999 __pSearchListView->UpdateList();
1006 BookmarkListForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
1008 AppLogDebug("BookmarkListForm::OnSceneActivatedN called");
1010 __searchBookmark = false;
1012 GetHeader()->SetItemSelected(0);
1013 GetHeader()->Invalidate(true);
1015 /* if (previousSceneId != IDSCN_HISTORY_LIST && previousSceneId != IDSCN_CREATE_BOOKMARK_FOLDER && previousSceneId != IDSCN_EDIT_BOOKMARK_LIST)
1017 __previousSceneId = previousSceneId;
1020 if (__pListview != null)
1022 __pListview->UpdateList();
1029 BookmarkListForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
1031 AppLog("BookmarkListForm::OnOrientationChanged start");
1035 if(__pSearchBar->GetShowState())
1037 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetHeight(),GetClientAreaBounds().width ,GetClientAreaBounds().height - __pSearchBar->GetY() - __pSearchBar->GetHeight());
1041 __pListview->SetBounds(__pListview->GetX(),0,GetClientAreaBounds().width ,GetClientAreaBounds().height);
1043 __pListview->UpdateList();
1046 if (__pSearchListView && __pListview)
1048 AppLog("__pListview->GetBounds() %d, %d, %d, %d",__pListview->GetBounds().x,__pListview->GetBounds().y,__pListview->GetBounds().width,__pListview->GetBounds().height);
1049 __pSearchListView->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height -__pSearchBar->GetHeight());
1051 if( __searchBookmark == false)
1053 __pSearchListView->UpdateList();
1058 if (__pSearchListView && __pData != null )
1060 if (__parentID != DEFAULT_VALUE_PARENTID)
1062 AppLog("BookmarkListForm::OnOrientationChanged parent id true");
1063 __pSearchBar->SetShowState(false);
1064 __pSearchBar->Invalidate(true);
1068 AppLog("BookmarkListForm::OnOrientationChanged parent id false1");
1069 if(__pSearchBar->GetShowState() == false)
1071 AppLog("BookmarkListForm::OnOrientationChanged parent id false2");
1072 __pSearchBar->SetShowState(true);
1073 __pSearchBar->Invalidate(true);
1076 __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), __pSearchListView->GetHeight()));
1084 BookmarkListForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
1086 if (__pData != null)
1088 __pData->RemoveAll(true);
1092 __pSearchBar->SetMode(SEARCH_BAR_MODE_NORMAL);