Fixed Nabi Issues N_SE-54919,54952,55044
[apps/osp/Internet.git] / src / IntBookmarkListForm.cpp
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.1 (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
7 //
8 //     http://floralicense.org/license/
9 //
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.
15 //
16
17 //!Internet
18 /*@file:    IntBookmarkListForm
19  *@brief:       This class defines BookmarkListForm
20  *
21  */
22
23 #include <FApp.h>
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"
32 #include "IntTypes.h"
33
34
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;
43 using namespace Tizen::Media;
44
45 const wchar_t* DEFAULT_VALUE_PARENTID = L"0";
46 static const wchar_t* IDB_TAB_ICON_BOOKMARK = L"I01_search_list_icon_favorite.png";
47 static const wchar_t* IDB_TAB_ICON_HISTORY = L"I01_search_list_icon_history.png";
48 static const wchar_t* IDB_NO_CONTENT_BOOKMARK = L"I01_Nocontents_Bookmarks.png";
49 static const wchar_t* IDB_ICON_FOLDER_OPEN = L"I01_icon_folder_open.png";
50
51 const int BookmarkListForm::IDA_TABBAR_ITEM_1 = 101;
52 const int BookmarkListForm::IDA_TABBAR_ITEM_2 = 102;
53 const int BookmarkListForm::IDA_FOOTER_ITEM1 = 103;
54 const int BookmarkListForm::IDA_FOOTER_ITEM2 = 104;
55 const int BookmarkListForm::IDA_FOOTER_ITEM_ADDBOOKMARK = 105;
56 const int BookmarkListForm::IDA_FORMAT_FOLDER = 106;
57 const int BookmarkListForm::IDA_FORMAT_SITE = 107;
58 const int BookmarkListForm::IDA_CONTEXT_ITEM_FOLDER_EDIT = 108;
59 const int BookmarkListForm::IDA_CONTEXT_ITEM_FOLDER_DELETE = 109;
60 const int BookmarkListForm::IDA_CONTEXT_ITEM_EDIT = 110;
61 const int BookmarkListForm::IDA_CONTEXT_ITEM_SHARE = 111;
62 const int BookmarkListForm::IDA_CONTEXT_ITEM_DELETE = 112;
63 const int BookmarkListForm::IDA_FORMAT_ICON = 113;
64 const int BookmarkListForm::IDA_FORMAT_URL = 114;
65
66 //const int BookmarkListForm::IDA_CONFIRMATION_NO = 1000;
67 //const int BookmarkListForm::IDA_CONFIRMATION_YES = 1001;
68
69 BookmarkListForm::BookmarkListForm(void)
70 {
71         __pItemContextFolder = null ;
72         __pItemContextSite = null ;
73         __pListview = null;
74         __pData = null;
75         __pSearchListView = null;
76         __pSearchBar = null;
77         __searchBookmark = false;
78         __parentID = DEFAULT_VALUE_PARENTID;
79         __noBookmarks = true;
80         __selectedindex = 0;
81         __searchText = L"";
82         __previousSceneId = L"";
83         __fontSize = 44;
84 }
85
86 BookmarkListForm::~BookmarkListForm(void)
87 {
88
89         if (__pData != null)
90         {
91                 __pData->RemoveAll(true);
92                 delete __pData;
93                 __pData = NULL;
94         }
95
96         if (__pItemContextFolder != null)
97         {
98                 delete __pItemContextFolder;
99                 __pItemContextFolder = null;
100         }
101
102         if (__pItemContextSite != null)
103         {
104                 delete __pItemContextSite;
105                 __pItemContextSite = null;
106         }
107 }
108
109 result
110 BookmarkListForm::OnTerminating(void)
111 {
112         result r = E_SUCCESS;
113
114         if (__pData != null)
115         {
116                 __pData->RemoveAll(true);
117                 delete __pData;
118                 __pData = NULL;
119         }
120
121         return r;
122 }
123
124
125 bool
126 BookmarkListForm::Initialize(void)
127 {
128         Construct(L"IDL_BOOKMARK_LIST");
129         return true;
130 }
131
132 result
133 BookmarkListForm::OnInitializing(void)
134 {
135         result r = E_SUCCESS;
136         HeaderItem bookmark;
137         HeaderItem history;
138         Header *pHeader = GetHeader();
139         Bitmap *pIconBitmap = null;
140         AppResource* pAppResource = UiApp::GetInstance()->GetAppResource();
141         int bookmarkCount = 0;
142         const int WIDTH_CONTEXT_MENU_TWO_BUTTON = 336;
143         const int WIDTH_CONTEXT_MENU_THREE_BUTTON = 160;
144         const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
145
146
147         // Setup back event listener
148         SetFormBackEventListener(this);
149         AddOrientationEventListener(*this);
150
151         SceneManager::GetInstance()->AddSceneEventListener(IDSCN_BOOKMARK_VIEW, *this);
152         GetHeader()->AddActionEventListener(*this);
153         GetFooter()->AddActionEventListener(*this);
154
155         if ( pAppResource == NULL )
156         {
157                 return E_FAILURE;
158         }
159
160         __fontSize = CommonUtil::GetFontSize();
161         __pItemContextFolder = new(std::nothrow) ListContextItem();
162         __pItemContextFolder->Construct();
163         __pItemContextFolder->AddElement(IDA_CONTEXT_ITEM_FOLDER_EDIT, CommonUtil::GetString(L"IDS_BR_SK_EDIT"));
164
165         __pItemContextFolder->AddElement(IDA_CONTEXT_ITEM_FOLDER_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), true);
166         __pItemContextFolder->SetElementBackgroundColor(IDA_CONTEXT_ITEM_FOLDER_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR);
167         __pItemContextFolder->SetElementBackgroundColor(IDA_CONTEXT_ITEM_FOLDER_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR);
168         __pItemContextFolder->SetElementBackgroundColor(IDA_CONTEXT_ITEM_FOLDER_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR);
169
170         __pItemContextSite = new(std::nothrow) ListContextItem();
171         __pItemContextSite->Construct();
172         __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_EDIT, CommonUtil::GetString(L"IDS_BR_SK_EDIT"));
173         __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_SHARE, CommonUtil::GetString(L"IDS_BR_OPT_SHARE"));
174
175         __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), true);
176         __pItemContextSite->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR);
177         __pItemContextSite->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR);
178         __pItemContextSite->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR);
179
180         __pListview = static_cast< ListView* >(GetControl("IDC_LISTVIEW1"));
181
182         if (__pListview == null)
183         {
184                 return E_FAILURE;
185         }
186         __pSearchBar = static_cast< SearchBar* >(GetControl(L"IDC_SEARCHBAR1"));
187
188         if (__pSearchBar == null)
189         {
190                 return E_FAILURE;
191         }
192
193         __pSearchBar->AddFocusEventListener(*this);
194         if (__pListview != null)
195         {
196                 __pListview->SetBackgroundColor(GetBackgroundColor());
197                 //              __pListview->SetBounds(__pListview->GetX(), __pListview->GetY(), GetClientAreaBounds().width, GetClientAreaBounds().height);
198                 __pListview->AddFastScrollListener(*this);
199                 __pListview->AddListViewItemEventListener(*this);
200                 __pListview->SetItemProvider(*this);
201                 __pListview->UpdateList();
202         }
203
204         __pPopUp = new(std::nothrow) SharePopup();
205
206         if (__pPopUp != null)
207         {
208                 __pPopUp->Initialize();
209 //              AddControl(__pPopUp);
210         }
211
212         __pSearchListView = new(std::nothrow) ListView();
213
214         if (__pSearchListView == null)
215         {
216                 return E_FAILURE;
217         }
218
219         r = __pSearchListView->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height -72), true, false);
220         TryCatch( !IsFailed(r),,"BookmarkListForm::OnSearchBarModeChanged Update list failed %s",GetErrorMessage(r));
221
222         __pSearchListView->SetBackgroundColor(GetBackgroundColor());
223         __pSearchListView->SetItemProvider(*this);
224         __pSearchListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_RESULTS_FOUND"));
225         __pSearchListView->SetTextColorOfEmptyList(Color::GetColor(COLOR_ID_BLACK));
226         __pSearchListView->SetShowState(false);
227         __pSearchListView->AddListViewItemEventListener(*this);
228
229         __pSearchBar->AddSearchBarEventListener(*this);
230         __pSearchBar->AddKeypadEventListener(*this);
231         __pSearchBar->SetContent(__pSearchListView);
232
233         BookmarkPresentationModel::GetInstance()->GetFolderBookmarkCount(__parentID, bookmarkCount);
234         if(bookmarkCount <= 0)
235         {
236                 __pSearchBar->SetShowState(false);
237                 //__pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetY(),__pSearchBar->GetWidth(),GetClientAreaBounds().height - __pSearchBar->GetPosition().y);
238                 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetY(),__pListview->GetWidth(),GetClientAreaBounds().height);
239         }
240         else
241         {
242                 __pSearchBar->SetShowState(true);
243         }
244
245
246         if (pHeader != null)
247         {
248                 pHeader->SetStyle(HEADER_STYLE_TAB);
249                 bookmark.Construct(IDA_TABBAR_ITEM_1);
250                 String strbookmark;
251                 pAppResource->GetString(L"IDS_BR_TAB_BOOKMARKS", strbookmark);
252                 bookmark.SetText(strbookmark);
253                 pIconBitmap = pAppResource->GetBitmapN(IDB_TAB_ICON_BOOKMARK);
254                 bookmark.SetIcon(HEADER_ITEM_STATUS_NORMAL, pIconBitmap);
255                 bookmark.SetIcon(HEADER_ITEM_STATUS_PRESSED, pIconBitmap);
256                 pHeader->AddItem(bookmark);
257
258                 if (pIconBitmap != NULL)
259                 {
260                         delete pIconBitmap;
261                 }
262
263                 history.Construct(IDA_TABBAR_ITEM_2);
264                 String strhistory;
265                 pAppResource->GetString(L"IDS_BR_TAB_HISTORY", strhistory);
266                 history.SetText(strhistory);
267                 pIconBitmap = pAppResource->GetBitmapN(IDB_TAB_ICON_HISTORY);
268                 history.SetIcon(HEADER_ITEM_STATUS_NORMAL, pIconBitmap);
269                 history.SetIcon(HEADER_ITEM_STATUS_PRESSED, pIconBitmap);
270                 pHeader->AddItem(history);
271                 pHeader->SetItemSelected(0);
272                 pHeader->SetTabEditModeEnabled(false);
273
274                 if (pIconBitmap != NULL)
275                 {
276                         delete pIconBitmap;
277                 }
278         }
279
280
281         CATCH:return r;
282 }
283
284 void
285 BookmarkListForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
286 {
287         AppLogDebug("BookmarkListForm::OnActionPerformed actionId = %d",actionId);
288         String bookmarkId;
289         int id = 0;
290         BookmarkData* pBookMark = null;
291
292         switch (actionId)
293         {
294         case IDA_FOOTER_ITEM1:
295         {
296                 __pSearchBar->SetMode(SEARCH_BAR_MODE_NORMAL);
297 //              GetHeader()->SetItemSelected(0);
298 //              GetHeader()->Invalidate(true);
299                 SceneManager* pSceneManager = SceneManager::GetInstance();
300                 pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(__selectedindex));
301
302                 if ( pBookMark == NULL )
303                 {
304                         return;
305                 }
306
307                 ArrayList* pArgList = null;
308                 pArgList = new(std::nothrow) ArrayList();
309                 if (pArgList != null)
310                 {
311                         pArgList->Construct();
312                         pArgList->Add(*new(std::nothrow) String(pBookMark->GetParentId()));
313                 }
314                 //pArgList->Add(*new(std::nothrow) String(pBookmark->);
315                 if (pSceneManager != null)
316                 {
317                         if(pSceneManager->GoForward(ForwardSceneTransition(IDSCN_EDIT_BOOKMARK_LIST),pArgList) != E_SUCCESS)
318                         {
319                                 AppLogDebug("BookmarkListForm::OnActionPerformed GoForward failed");
320                                 pArgList->RemoveAll(true);
321                                 delete pArgList;
322                                 pArgList = null;
323                                 return;
324                         }
325                 }
326
327                 if ( pArgList != NULL)
328                 {
329                         pArgList->RemoveAll(true);
330                         delete pArgList;
331                 }
332         }
333
334         break;
335         case IDA_TABBAR_ITEM_2:
336         {
337         //      GetHeader()->SetItemSelected(0);
338         //      GetHeader()->Invalidate(true);
339
340                 SceneManager* pSceneManager = SceneManager::GetInstance();
341
342                 if (pSceneManager != null)
343                 {
344                         if(__previousSceneId.CompareTo(IDSCN_HISTORY_LIST) != 0)
345                         {
346                                 if(pSceneManager->GoForward(ForwardSceneTransition(IDSCN_HISTORY_LIST, SCENE_TRANSITION_ANIMATION_TYPE_LEFT)) != E_SUCCESS)
347                                 {
348                                         AppLogDebug("BookmarkListForm::OnActionPerformed GoForward failed");
349                                         return;
350                                 }
351                         }
352                         else
353                         {
354
355                                 if(pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT))!= E_SUCCESS)
356                                 {
357                                         AppLogDebug("BookmarkListForm::OnActionPerformed GoBackward failed");
358                                         return;
359                                 }
360
361                         }
362                 }
363         }
364         break;
365         case IDA_FOOTER_ITEM2:
366         {
367                 SceneManager* pSceneManager = SceneManager::GetInstance();
368
369                 if (pSceneManager)
370                 {
371                         if(pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_BOOKMARK_FOLDER)) != E_SUCCESS)
372                         {
373                                 AppLogDebug("BookmarkListForm::OnActionPerformed GoForward failed");
374                                 return;
375                         }
376                 }
377         }
378         break;
379         case IDA_FOOTER_ITEM_ADDBOOKMARK:
380         {
381                 SceneManager* pSceneManager = SceneManager::GetInstance();
382
383                 // send array list 0-for add, 1 for edit with parent ID
384                 ArrayList* pArgList = null;
385                 pArgList = new(std::nothrow) ArrayList();
386                 if (pArgList != null)
387                 {
388                         pArgList->Construct();
389                         pArgList->Add(*new(std::nothrow) String(L"0"));
390                         pArgList->Add(*new(std::nothrow) String(__parentID));
391                 }
392
393                 if (pSceneManager)
394                 {
395                         if(pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ADD_BOOKMARK),pArgList) != E_SUCCESS)
396                         {
397                                 AppLogDebug("BookmarkListForm::OnActionPerformed GoForward failed");
398                                 pArgList->RemoveAll(true);
399                                 delete pArgList;
400                                 return;
401                         }
402                 }
403
404                 if (pArgList != null)
405                 {
406                         pArgList->RemoveAll(true);
407                         delete pArgList;
408                 }
409
410         }
411         break;
412         case IDA_BUTTON_NO:
413                 __pConfirmationPopup->SetShowState(false);
414                 __pConfirmationPopup->Show();
415                 break;
416         case IDA_BUTTON_YES:
417                 pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(__selectedindex));
418                 if ( pBookMark== null)
419                         return;
420                 bookmarkId=pBookMark->GetBookmarkId();
421                 Integer::Parse(bookmarkId,id);
422                 if (pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
423                         BookmarkPresentationModel::GetInstance()->DeleteFolder(id);
424                 else
425                         BookmarkPresentationModel::GetInstance()->DeleteBookmark(id);
426                 if (__pListview == null)
427                 {
428                         return;
429                 }
430                 AppLogDebug("__pListview GetBounds %d,%d,%d,%d",__pListview->GetBounds().x,__pListview->GetBounds().y,__pListview->GetBounds().width,__pListview->GetBounds().height);
431                 __pSearchListView->UpdateList();
432                 __pListview->UpdateList();
433
434                 if (__pListview->GetItemCount() == 0)
435                 {
436                         GetFooter()->SetItemEnabled(1,false);
437                         __pSearchBar->SetShowState(false);
438                         __pSearchBar->Invalidate(true);
439                 }
440
441                 if (__noBookmarks == true)
442                 {
443                         Bitmap* emptyListBmp = AppResource::GetInstance()->GetBitmapN(IDB_NO_CONTENT_BOOKMARK);
444                         GetFooter()->SetItemEnabled(1,false);
445                         __pSearchBar->SetShowState(false);
446                         __pSearchBar->Invalidate(true);
447                         //                      __pListview->SetBounds(__pSearchBar->GetPosition().x,__pSearchBar->GetPosition().y,__pSearchBar->GetWidth() ,GetClientAreaBounds().height);
448                         __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetPosition().y,__pSearchBar->GetWidth() ,GetClientAreaBounds().height);
449                         __pListview->SetBitmapOfEmptyList(emptyListBmp);
450                         if (emptyListBmp)
451                         {
452                                 delete emptyListBmp;
453                                 emptyListBmp = null;
454                         }
455                         __pListview->UpdateList();
456
457                 }
458                 else
459                 {
460                         GetFooter()->SetItemEnabled(1,true);
461
462                         if (__parentID.CompareTo(L"0") == 0)
463                         {
464                                 __pSearchBar->SetShowState(true);
465                                 __pSearchBar->Invalidate(true);
466                         }
467                 }
468
469                 GetFooter()->Invalidate(true);
470                 __pConfirmationPopup->SetShowState(false);
471                 __pConfirmationPopup->Show();
472                 __selectedindex = 0;
473
474                 break;
475         default:
476                 break;
477         }
478 }
479
480 void
481 BookmarkListForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
482 {
483         AppLogDebug("BrowserApplicationForm::OnFormBackRequested");
484
485         UiApp* pApp = UiApp::GetInstance();
486         if      (pApp == null)
487         {
488                 return;
489         }
490
491         if (__parentID != DEFAULT_VALUE_PARENTID)
492         {
493                 __parentID = DEFAULT_VALUE_PARENTID;
494                 __pSearchBar->SetShowState(true);
495                 __pListview->SetBounds(__pListview->GetX() ,__pSearchBar->GetPosition().y + __pSearchBar->GetHeight(),__pListview->GetWidth(),GetClientAreaBounds().height - (__pSearchBar->GetY() + __pSearchBar->GetHeight()));
496                 __pListview->UpdateList();
497                 __pFooter = GetFooter();
498                 GetFooter()->SetItemEnabled(2,true);
499                 GetFooter()->Invalidate(true);
500         }
501         else
502         {
503                 SceneManager* pSceneManager = SceneManager::GetInstance();
504                 if (pSceneManager != null)
505                 {
506                         if(__previousSceneId.CompareTo(IDSCN_HISTORY_LIST) != 0)
507                         {
508                                 pSceneManager->GoBackward(BackwardSceneTransition());
509                         }
510                         else
511                         {
512                                 pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_LEFT));
513                         }
514                 }
515         }
516
517         if (__noBookmarks == true)
518         {
519                 GetFooter()->SetItemEnabled(1,false);
520         }
521         else
522         {
523                 GetFooter()->SetItemEnabled(1,true);
524         }
525 }
526
527 Tizen::Ui::Controls::ListItemBase*
528 BookmarkListForm::CreateItem(int index, int itemWidth)
529 {
530
531         AppLog("BookmarkListForm::CreateItem index %d , itemWidth %d",index, itemWidth);
532         AppLog("listviewwidth %d",__pListview->GetWidth());
533         result r = E_FAILURE;
534         ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
535         if(__pData == null)
536         {
537                 return null;
538         }
539         CustomItem* pItem = new(std::nothrow) CustomItem();
540
541         BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
542         Bitmap* pBitmap = null;
543         Dimension dim;
544
545         Image* pImage = null;
546         pImage = new Image();
547         pImage->Construct();
548
549         const int x_Margin_Icon = 16;                 // local as there used only in this function
550         const int y_Margin_Icon = 28;
551         const int height_Icon = 72;
552         const int width_Icon = 72 ;
553         const int x_Margin_Title = 104 ;
554         const int y_Margin_Title = 10;
555         const int width_Title = GetClientAreaBounds().width - 108 - 52 - 40;
556         const int x_Margin_Url = 104 ;
557         const int y_Margin_Url = 70 ;
558         const int width_Url = GetClientAreaBounds().width - 108 - 52 ;
559         const int height_Url = 48;
560         const int itemHeight = 128;
561         const int textSize = 32;
562         String bitmapId;
563
564         if( pBookMark == NULL )
565         {
566                 delete pItem;
567                 pItem = null;
568                 delete pImage;
569                 pImage = null;
570                 return NULL;
571         }
572         if ( pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER )
573         {
574                 r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth,112 - 44 + __fontSize), LIST_ANNEX_STYLE_DETAILED);
575                 TryCatch(!IsFailed(r),,"BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));
576
577                 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_FOLDER_OPEN);
578                 if (pBitmap != null)
579                 {
580                         pItem->AddElement(Rectangle(x_Margin_Icon, 20+(__fontSize - 44)/2, width_Icon, height_Icon), IDA_FORMAT_ICON, *pBitmap, null);
581                         delete pBitmap;
582                 }
583
584                 pItem->AddElement(Rectangle(x_Margin_Title, 26, width_Title, 72 + (__fontSize - 44) ), IDA_FORMAT_FOLDER, pBookMark->GetBookmarkTitle(),__fontSize, CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true);
585
586                 if ( __pItemContextFolder != NULL)
587                 {
588                         pItem->SetContextItem(__pItemContextFolder);
589                 }
590         }
591         else
592         {
593                 r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth, itemHeight - 44 + __fontSize), style);
594                 TryCatch( !IsFailed(r),,"BookmarkListForm::CreateItem Construct failed %s",GetErrorMessage(r));
595
596                 AppLogDebug("BookmarkListForm::faviconid %ls",pBookMark->GetFaviconId().GetPointer());
597                 bitmapId = pBookMark->GetFaviconId();
598
599                 dim = Dimension(pBookMark->GetFavIconWidth(), pBookMark->GetFavIconHeight());
600
601                 AppLog("BookmarkListForm::CreateItem check 0");
602
603                 // get fav icon bitmap
604                 ByteBuffer* pFavIconBuffer = null;
605                 pFavIconBuffer = pBookMark->GetFavIconBuffer();
606
607                 AppLog("BookmarkListForm::CreateItem check 0");
608
609                 if (pFavIconBuffer != null)
610                 {
611                         AppLog("BookmarkListForm::CreateItem pFavIconBuffer is not null");
612                 }
613                 else
614                 {
615                         AppLog("BookmarkListForm::CreateItem pFavIconBuffer is null");
616                 }
617
618                 pBitmap = pImage->DecodeN(*pFavIconBuffer, IMG_FORMAT_PNG, BITMAP_PIXEL_FORMAT_ARGB8888);
619
620                 AppLog("BookmarkListForm::CreateItem check 1");
621
622                 if (pBitmap != null)
623                 {
624                         AppLog("rahul bitmap is not null");
625                         int width = pBitmap->GetWidth();
626                         int height = pBitmap->GetHeight();
627                         AppLog("rahul bitmap width is %d", width);
628                         AppLog("rahul bitmap height is %d", height);
629                         AppLog("rahul favicon width is %d", pBookMark->GetFavIconWidth());
630                         AppLog("rahul favicon height is %d", pBookMark->GetFavIconHeight());
631                 }
632                 else
633                 {
634                         AppLog("rahul bitmap is null");
635                 }
636
637                 if (pBitmap == null)
638                 {
639                         AppLogDebug("BookmarkListForm::CreateItem bitmap is null");
640                         pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
641                 }
642                 pItem->AddElement(Rectangle(x_Margin_Icon, y_Margin_Icon +(__fontSize - 44)/2, width_Icon, height_Icon), IDA_FORMAT_ICON, *pBitmap, null);
643                 pItem->AddElement(Rectangle(x_Margin_Title, 0, width_Title, itemHeight - height_Url - 44 + __fontSize), IDA_FORMAT_SITE, pBookMark->GetBookmarkTitle(),__fontSize,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true);
644 //              if(__pSearchBar->GetMode() == SEARCH_BAR_MODE_INPUT)
645 //                      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);
646 //              else
647                         pItem->AddElement(Rectangle(x_Margin_Url, y_Margin_Url - 44 + __fontSize, width_Url, height_Url), IDA_FORMAT_URL, pBookMark->GetUrl(),textSize,CUSTOM_COLOR_GREY,CUSTOM_COLOR_LISTVIEW_TEXT,CUSTOM_COLOR_LISTVIEW_TEXT,true);
648
649                 if (pBitmap != null)
650                 {
651                         delete pBitmap;
652                 }
653                 if ( __pItemContextSite != NULL)
654                 {
655                         pItem->SetContextItem(__pItemContextSite);
656                 }
657         }
658
659         delete pImage;
660         return pItem;
661
662         CATCH:
663
664         delete pImage;
665         delete pItem;
666         pItem = null;
667         return null;
668
669 }
670
671 bool
672 BookmarkListForm::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)
673 {
674         delete pItem;
675         pItem = null;
676         return true;
677 }
678
679 int
680 BookmarkListForm::GetItemCount(void)
681 {
682         int count = 0;
683
684         if (__pData != NULL )
685         {
686                 __pData->RemoveAll(true);
687                 delete __pData;
688                 __pData = null;
689         }
690         __pData = new(std::nothrow) Collection::ArrayList();
691         __pData->Construct();
692
693         if (__searchBookmark == false)
694         {
695                 BookmarkPresentationModel::GetInstance()->GetFolderBookmarkCount(__parentID, count);
696                 BookmarkPresentationModel::GetInstance()->GetFoldersBookmarks(__parentID, 0, count, *__pData);
697         }
698         else
699         {
700                 if (__searchText.GetLength() > 0)
701                 {
702                         __searchText.Replace(L"%", L"/%");
703                         __searchText.Replace(L"_", L"/_");
704                 }
705                 BookmarkPresentationModel::GetInstance()->GetSearchFolderBookmarkCount(count,__searchText);
706                 BookmarkPresentationModel::GetInstance()->GetSearchFoldersBookmarks(0, count, *__pData, __searchText);
707         }
708
709         AppLogDebug("Count = %d parentId = %ls __searchText %ls", count, __parentID.GetPointer() , __searchText.GetPointer());
710
711         if (count <= 0)
712         {
713                 __noBookmarks = true;
714                 GetFooter()->SetItemEnabled(1,false);
715         }
716         else
717         {
718                 __noBookmarks = false;
719                 GetFooter()->SetItemEnabled(1,true);
720         }
721
722         AppLogDebug("Result: %s", GetErrorMessage(GetLastResult()));
723         GetFooter()->Invalidate(true);
724         if (__pData != null && __pData->GetCount() >= 1)
725         {
726                 //              __pSearchBar->SetMode(SEARCH_BAR_MODE_NORMAL);
727                 __pSearchBar->SetShowState(true);
728                 __pSearchBar->Invalidate(true);
729         }
730         else if (__searchBookmark == false)
731         {
732                 __pSearchBar->SetShowState(false);
733                 __pSearchBar->Invalidate(true);
734         }
735
736         if (__parentID.CompareTo(L"0") != 0)
737         {
738                 __pSearchBar->SetShowState(false);
739                 __pSearchBar->Invalidate(true);
740         }
741         if (__noBookmarks == true)
742         {
743                 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetPosition().y,__pSearchBar->GetWidth() ,GetClientAreaBounds().height);
744                 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_NO_CONTENT_BOOKMARK);
745
746                 if ( pBitmap != NULL)
747                 {
748                         __pListview->SetBitmapOfEmptyList(pBitmap);
749                         delete pBitmap;
750                 }
751         }
752         else
753         {
754                 if (__parentID.CompareTo(L"0") == 0)
755                 {
756                         __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetHeight(),GetClientAreaBounds().width ,GetClientAreaBounds().height - __pSearchBar->GetY() - __pSearchBar->GetHeight());
757                 }
758                 else
759                 {
760                         __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetY(),__pSearchBar->GetWidth() ,GetClientAreaBounds().height);
761
762                 }
763
764         }
765         __pListview->Invalidate(true);
766         return count;
767
768 }
769
770 void
771 BookmarkListForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
772 {
773         AppLogDebug("BookmarkListForm::OnListViewContextItemStateChanged int index %d, int elementId %d, Tizen::Ui::Controls::ListContextItemStatus status %d",index,elementId,status);
774
775         String deleteText = CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB");
776         deleteText.Append(L"? ");
777         int timeOut = 25000;
778         result r = E_SUCCESS;
779
780         switch(elementId)
781         {
782         case IDA_CONTEXT_ITEM_FOLDER_EDIT:
783         {
784                 ArrayList* pArgList = null;
785                 String* pEdit = null;
786
787                 SceneManager* pSceneManager = SceneManager::GetInstance();
788                 BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
789                 if (pBookMark != null && pBookMark->GetBookmarkType() == BOOKMARK_TYPE_FOLDER)
790                 {
791                         pArgList = new(std::nothrow) ArrayList();
792                         if (pArgList != null)
793                         {
794                                 pEdit= new(std::nothrow) String(CommonUtil::GetString(L"IDS_BR_SK_EDIT"));
795                                 pArgList->Construct();
796                                 pArgList->Add(*new(std::nothrow) BookmarkData(*pBookMark));
797                                 pArgList->Add(*pEdit);
798                                 if (    pSceneManager != null)
799                                 {
800                                         result r;
801                                         r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_BOOKMARK_FOLDER), pArgList);
802                                 }
803
804                                 if (pArgList != null)
805                                 {
806                                         delete pArgList;
807                                         pArgList = null;
808                                 }
809                                 if(IsFailed(r))
810                                 {
811                                         AppLogDebug("BookmarkListForm::OnListViewContextItemStateChanged GoForward failed %s",GetErrorMessage(r));
812                                         return;
813                                 }
814                         }
815                 }
816
817         }
818         break;
819
820         case IDA_CONTEXT_ITEM_FOLDER_DELETE:
821         case IDA_CONTEXT_ITEM_DELETE:
822         {
823                 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
824                 __pConfirmationPopup->Initialize();
825                 __pConfirmationPopup->RemoveActionListener(*this);
826                 __pConfirmationPopup->AddActionListener(*this);
827                 __pConfirmationPopup->setMessage(deleteText);
828                 __pConfirmationPopup->Show();
829                 __selectedindex = index;
830         }
831         break;
832
833         case IDA_CONTEXT_ITEM_EDIT:
834         {
835                 ArrayList* pArgList = null;
836                 SceneManager* pSceneManager = SceneManager::GetInstance();
837                 BookmarkData* pBookMark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
838                 if (pBookMark!= null && pBookMark->GetBookmarkType() == BOOKMARK_TYPE_URL)
839                 {
840                         AppLogDebug("ID_CONTEXT_ITEM_SITE_1 BOOKMARK_TYPE_URL");
841                         pArgList = new(std::nothrow) ArrayList();
842                         if (pArgList != null)
843                         {
844                                 pArgList->Construct();
845                                 pArgList->Add(*new(std::nothrow) String(L"1"));
846                                 pArgList->Add(*new(std::nothrow) BookmarkData(*pBookMark));
847                                 if (    pSceneManager != null)
848                                 {
849                                         result r;
850                                         r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ADD_BOOKMARK), pArgList);
851                                         if (pArgList != null)
852                                         {
853                                                 delete pArgList;
854                                                 pArgList = null;
855                                         }
856                                         if(IsFailed(r))
857                                         {
858                                                 AppLogDebug("BookmarkListForm::OnListViewContextItemStateChanged GoForward failed %s",GetErrorMessage(r));
859                                                 return;
860                                         }
861                                 }
862                         }
863                 }
864         }
865         break;
866         case IDA_CONTEXT_ITEM_SHARE:
867         {
868                 AppLogDebug("OnListViewContextItemStateChanged Share");
869                 if (__pPopUp != null)
870                 {
871                         delete __pPopUp;
872                         __pPopUp = null;
873                 }
874                 __pPopUp = new(std::nothrow) SharePopup();
875                 __pPopUp->Initialize();
876                 BookmarkData* pBookmark = dynamic_cast<BookmarkData*>(__pData->GetAt(index));
877                 if (pBookmark != null)
878                 {
879                         ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
880                         pShareInfo->SetPageTitle(pBookmark->GetBookmarkTitle());
881                         pShareInfo->SetPageUrl(pBookmark->GetUrl());
882                         pShareInfo->SetImageAttached(false);
883                         __pPopUp->RemoveAllShareInfo();
884                         __pPopUp->AddShareInfo(pShareInfo);
885                 }
886
887                 __pPopUp->SetShowState(true);
888                 __pPopUp->Show();
889
890         }
891         break;
892         default:
893                 break;
894         }
895
896 }
897
898 void
899 BookmarkListForm::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
900 {
901
902 }
903
904 void
905 BookmarkListForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
906 {
907         AppLogDebug("BookmarkListForm::OnListViewItemStateChanged");
908
909         result r = E_FAILURE;
910         ArrayList *pArgList = null;
911         SceneManager* pSceneManager = SceneManager::GetInstance();
912         BookmarkData* pBookmark = dynamic_cast< BookmarkData* >(__pData->GetAt(index));
913
914         if ( pBookmark == NULL )
915         {
916                 return;
917         }
918
919         switch (pBookmark->GetBookmarkType())
920         {
921         case BOOKMARK_TYPE_FOLDER:
922
923                 __parentID = pBookmark->GetBookmarkId();
924                 AppLogDebug("BOOKMARK_TYPE_FOLDER parent ID is %ls",__parentID.GetPointer());
925
926                 listView.UpdateList();
927                 if (listView.GetItemCount() == 0)
928                 {
929                         GetFooter()->SetItemEnabled(1,false);
930                 }
931                 else
932                 {
933                         GetFooter()->SetItemEnabled(1,true);
934                 }
935                 GetFooter()->SetItemEnabled(2,false);
936                 GetFooter()->Invalidate(true);
937                 __pSearchBar->HideKeypad();
938                 __pSearchBar->SetMode(SEARCH_BAR_MODE_NORMAL);
939                 __pSearchBar->SetShowState(false);
940                 __pSearchBar->Invalidate(true);
941                 __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetY(),__pListview->GetWidth() ,GetClientAreaBounds().height);
942                 break;
943
944         case BOOKMARK_TYPE_URL:
945
946                 pArgList = new(std::nothrow) ArrayList();
947                 if (pArgList != null)
948                 {
949                         r = pArgList->Construct();
950                         TryCatch(!IsFailed(r), L"BookmarkListForm::OnListViewItemStateChanged pArgList Construct failed %s", GetErrorMessage(r));
951
952                         AppLogDebug("bookmark url = %ls",pBookmark->GetUrl().GetPointer());
953                         r = pArgList->Add(*MultipleWindowPresentationModel::GetInstance()->GetActiveWindowInfo());
954                         pArgList->Add(*new(std::nothrow) String(pBookmark->GetUrl()));
955
956                         if (pSceneManager != null)
957                         {
958                                 AppLogDebug("pSceneManager exists");
959                                 String prevSceneId;
960                                 MultipleWindowPresentationModel::GetInstance()->GetCurrentSceneId(prevSceneId);
961                                 r = pSceneManager->GoBackward(BackwardSceneTransition(prevSceneId), pArgList);
962                                 TryCatch(!IsFailed(r), L"BookmarkListForm::OnListViewItemStateChanged pArgList Construct failed %s", GetErrorMessage(r));
963                         }
964                         delete pArgList;
965                 }
966                 break;
967
968         default:
969                 break;
970         }
971
972         return;
973         CATCH:
974         if(pArgList)
975         {
976                 pArgList->RemoveAll(true);
977                 delete pArgList;
978         }
979
980 }
981
982 void
983 BookmarkListForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
984 {
985
986
987 }
988
989 void
990 BookmarkListForm::OnFastScrollIndexSelected(Tizen::Ui::Control& source, Tizen::Base::String& index)
991 {
992
993 }
994
995 void
996 BookmarkListForm::OnFocusGained(const Tizen::Ui::Control& source)
997 {
998         __pSearchListView->SetEnabled(false);
999 }
1000
1001 void
1002 BookmarkListForm::OnFocusLost(const Tizen::Ui::Control& source)
1003 {
1004         __pSearchListView->SetEnabled(true);
1005         __searchBookmark = false;
1006 }
1007
1008 void
1009 BookmarkListForm::OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode)
1010 {
1011         result r = E_FAILURE;
1012         AppLog("ABCD::BookmarkListForm::OnSearchBarModeChanged %d",GetClientAreaBounds().height);
1013
1014         __pSearchListView->SetBounds(__pSearchListView->GetX(), __pSearchListView->GetY(), __pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight());
1015         __pSearchListView->Invalidate(false);
1016
1017         if (mode == SEARCH_BAR_MODE_NORMAL)
1018         {
1019                 __pSearchListView->SetShowState(false);
1020                 __pSearchListView->UpdateList();
1021                 __pListview->SetShowState(true);
1022                 Invalidate(true);
1023                 __searchBookmark = false;
1024                 r = __pListview->UpdateList();
1025 //              __pSearchListView->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height -__pSearchBar->GetHeight());
1026                 __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight()));
1027                 TryCatch( !IsFailed(r),,"BookmarkListForm::OnSearchBarModeChanged Update list failed %s",GetErrorMessage(r));
1028                 CATCH:return;
1029         }
1030         else
1031         {
1032                 __pSearchListView->SetShowState(true);
1033                 __pSearchListView->SetEnabled(false);
1034                 __pListview->SetShowState(false);
1035
1036                 if(__pSearchBar)
1037                 {
1038                         AppLog("heightarea %d",GetClientAreaBounds().height - __pSearchBar->GetHeight());
1039                         r = __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight()));
1040                         __pSearchBar->SetText(L"");
1041                 }
1042                  __pListview->UpdateList();
1043                 __pSearchListView->UpdateList();
1044         }
1045 }
1046
1047 void
1048 BookmarkListForm::OnKeypadWillOpen(Tizen::Ui::Control& source)
1049 {
1050         AppLog("ABCD::BookmarkListForm::OnKeypadWillOpen");
1051 //      GetFooter()->SetShowState(false);
1052         __pSearchListView->SetBounds(__pSearchListView->GetX(), __pSearchListView->GetY(), GetClientAreaBounds().width, GetClientAreaBounds().height - __pSearchBar->GetHeight());
1053         __pSearchListView->SetEnabled(false);
1054         __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight()));
1055         Invalidate(true);
1056 }
1057
1058 void
1059 BookmarkListForm::OnKeypadOpened(Tizen::Ui::Control& source)
1060 {
1061         AppLog("ABCD::BookmarkListForm::OnKeypadOpened");
1062         GetFooter()->SetShowState(false);
1063         __pSearchListView->SetBounds(__pSearchListView->GetX(), __pSearchListView->GetY(), __pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight());
1064         __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight()));
1065         Invalidate(true);
1066 }
1067
1068 void
1069 BookmarkListForm::OnKeypadClosed(Tizen::Ui::Control& source)
1070 {
1071         AppLog("ABCD::BookmarkListForm::OnKeypadClosed");
1072         AppLog("jahsjkdad %d",Clipboard::GetInstance()->IsPopupVisible());
1073 //      if(Clipboard::GetInstance()->IsPopupVisible() == true)
1074 //      {
1075 //              return;
1076 //      }
1077         GetFooter()->SetShowState(true);
1078         __pSearchListView->SetBounds(__pSearchListView->GetX(), __pSearchListView->GetY(), __pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight());
1079         __pSearchListView->Invalidate(false);
1080         __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight()));
1081         __pListview->SetBounds(0, __pSearchBar->GetY() + __pSearchBar->GetHeight(), GetClientAreaBounds().width, GetClientAreaBounds().height - __pSearchBar->GetHeight());
1082         Invalidate(true);
1083 }
1084
1085 void
1086 BookmarkListForm::OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction)
1087 {
1088         AppLog("BookmarkListForm::OnKeypadActionPerformed %d",keypadAction);
1089
1090         if (__pSearchBar != null)
1091         {
1092                 __pSearchBar->HideKeypad();
1093         }
1094         if ( __pSearchBar != null && keypadAction == KEYPAD_ACTION_SEARCH)
1095         {
1096 //              if (__pSearchBar->GetText().GetLength() == 0)
1097 //              {
1098 //                      return;
1099 //              }
1100
1101                 if (__pSearchBar != null)
1102                 {
1103                         __pSearchBar->HideKeypad();
1104                 }
1105
1106                 __searchText = __pSearchBar->GetText();
1107                 AppLog("SearchbarGettext result %s %ls",GetErrorMessage(GetLastResult()),__searchText.GetPointer());
1108                 __searchBookmark = true;
1109                 __pListview->SetShowState(false);
1110                 __pSearchListView->SetEnabled(true);
1111                 __pSearchListView->SetShowState(true);
1112                 __pSearchListView->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height -__pSearchBar->GetHeight());
1113                 __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), __pSearchListView->GetHeight()));
1114                 __pSearchListView->UpdateList();
1115
1116         }
1117         Invalidate(true);
1118 }
1119
1120 void
1121 BookmarkListForm::OnKeypadBoundsChanged(Tizen::Ui::Control& source)
1122 {
1123         AppLog("ABCD::BookmarkListForm::OnKeypadBoundsChanged");
1124         FloatRectangle clientRect;
1125         clientRect = GetClientAreaBoundsF();
1126         AppLogDebug("ABCD::SearchBarForm::OnKeypadBoundsChanged ClientBounds(%f, %f, %f, %f)",clientRect.x, clientRect.y, clientRect.width, clientRect.height);
1127         __pSearchBar->SetContentAreaSize(FloatDimension(clientRect.width, clientRect.height - __pSearchBar->GetHeightF()));
1128         __pSearchListView->SetSize(FloatDimension(clientRect.width, clientRect.height - __pSearchBar->GetHeightF()));
1129         __pListview->SetSize(FloatDimension(clientRect.width, clientRect.height - __pSearchBar->GetHeightF()));
1130 //      __pListview->SetEnabled(false);
1131         Invalidate(true);
1132 }
1133
1134 void
1135 BookmarkListForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
1136 {
1137         AppLogDebug("BookmarkListForm::OnSceneActivatedN called");
1138         ArrayListT<String> * pList = dynamic_cast<ArrayListT<String>* >(SceneManager::GetInstance()->GetSceneHistoryN());
1139         if(pList != null)
1140         {
1141                 pList->GetAt(pList->GetCount()-1,__previousSceneId);
1142         }
1143
1144         __searchBookmark = false;
1145         GetFooter()->SetShowState(true);
1146         GetFooter()->Invalidate(true);
1147         GetHeader()->SetItemSelected(0);
1148         GetHeader()->Invalidate(true);
1149
1150         /*      if (previousSceneId != IDSCN_HISTORY_LIST && previousSceneId != IDSCN_CREATE_BOOKMARK_FOLDER && previousSceneId != IDSCN_EDIT_BOOKMARK_LIST)
1151         {
1152                 __previousSceneId = previousSceneId;
1153         }*/
1154
1155         if (pList)
1156         {
1157                 delete pList;
1158                 pList = null;
1159         }
1160
1161         if (__pListview != null)
1162         {
1163                 __pListview->UpdateList();
1164         }
1165
1166         return;
1167 }
1168
1169 void
1170 BookmarkListForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
1171 {
1172         AppLog("BookmarkListForm::OnOrientationChanged start");
1173         if (__pListview)
1174         {
1175                 __pListview->SetBackgroundColor(GetBackgroundColor());
1176         }
1177         if (__pSearchListView)
1178         {
1179                 __pSearchListView->SetBackgroundColor(GetBackgroundColor());
1180         }
1181         if (__pListview)
1182         {
1183                 if(__pSearchBar->GetShowState())
1184                 {
1185                         __pListview->SetBounds(__pListview->GetX(),__pSearchBar->GetHeight(),GetClientAreaBounds().width ,GetClientAreaBounds().height - __pSearchBar->GetY() - __pSearchBar->GetHeight());
1186                 }
1187                 else
1188                 {
1189                         __pListview->SetBounds(__pListview->GetX(),0,GetClientAreaBounds().width ,GetClientAreaBounds().height);
1190                 }
1191
1192         }
1193
1194         if (__pSearchListView && __pListview)
1195         {
1196                 AppLog("__pListview->GetBounds() %d, %d, %d, %d",__pListview->GetBounds().x,__pListview->GetBounds().y,__pListview->GetBounds().width,__pListview->GetBounds().height);
1197                 __pSearchListView->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height -__pSearchBar->GetHeight());
1198
1199                 __pSearchListView->UpdateList();
1200         }
1201
1202         if (__pSearchListView && __pData != null )
1203         {
1204                 if (__parentID != DEFAULT_VALUE_PARENTID)
1205                 {
1206                         AppLog("BookmarkListForm::OnOrientationChanged parent id true");
1207                         __pSearchBar->SetShowState(false);
1208                         __pSearchBar->Invalidate(true);
1209                 }
1210
1211                 __pSearchBar->SetContentAreaSize(Dimension(__pSearchListView->GetWidth(), GetClientAreaBounds().height - __pSearchBar->GetHeight()));
1212         }
1213
1214 //
1215 //
1216 //
1217 //      FloatRectangle clientRect;
1218 //      clientRect = GetClientAreaBoundsF();
1219 //
1220 //      __pSearchBar->SetContentAreaSize(FloatDimension(clientRect.width, clientRect.height - __pSearchBar->GetHeightF()));
1221 //      __pListview->SetSize(FloatDimension(clientRect.width, clientRect.height - __pSearchBar->GetHeightF()));
1222 //      __pSearchListView->SetSize(FloatDimension(clientRect.width, clientRect.height - __pSearchBar->GetHeightF()));
1223 //      Invalidate(true);
1224 //
1225
1226         Invalidate(true);
1227 }
1228
1229 void
1230 BookmarkListForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
1231 {
1232         __pSearchBar->SetMode(SEARCH_BAR_MODE_NORMAL);
1233         return;
1234 }
1235
1236 void
1237 BookmarkListForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
1238 {
1239         AppLog("receiving userevent for appcontrol %d",requestId);
1240         if (requestId == APPCONTROL_LAUNCH_MAX_LIMIT_REACHED)
1241         {
1242                 AppLog("receiving userevent for appcontrol %d ",requestId);
1243                 if(__pConfirmationPopup)
1244                 {
1245                         __pConfirmationPopup->SetShowState(false);
1246                         delete __pConfirmationPopup;
1247                         __pConfirmationPopup = null;
1248                 }
1249         }
1250 }