Fixed Nabi Issues
[apps/osp/Internet.git] / src / IntSettingForm.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 SettingForm class
18 /*@file:        IntSettingForm.cpp
19  *@brief:       The SettingForm
20  */
21
22 #include <FApp.h>
23 #include <FGraphics.h>
24 #include <FUi.h>
25
26 #include "IntCommonLib.h"
27 #include "IntConfirmationPopup.h"
28 #include "IntDefaultCustomItem.h"
29 #include "IntDropDownCustomItem.h"
30 #include "IntHistoryPresentationModel.h"
31 #include "IntInternetApp.h"
32 #include "IntMultipleWindowPresentationModel.h"
33 #include "IntNotificationPanel.h"
34 #include "IntRadioCustomItem.h"
35 #include "IntSceneRegister.h"
36 #include "IntSettingForm.h"
37 #include "IntSettingPresentationModel.h"
38 #include "IntSettingToggleCustomItem.h"
39
40
41 using namespace Tizen::App;
42 using namespace Tizen::Base;
43 using namespace Tizen::Base::Collection;
44 using namespace Tizen::Graphics;
45 using namespace Tizen::System;
46 using namespace Tizen::Ui;
47 using namespace Tizen::Ui::Controls;
48 using namespace Tizen::Ui::Scenes;
49
50
51
52 SettingForm::SettingForm(void)
53 : __fontValue(0),__pResetPopup(null),__pWindowInfo(null) , __pConfirmationPopup(null)
54 {
55         __currentURL = L"";
56         __pList = null;
57         InitializeSettingValues();
58         __fontSize = 44;
59 }
60
61 SettingForm::~SettingForm(void)
62 {
63         if (pGroupItemCount)
64         {
65                 delete[] pGroupItemCount;
66                 pGroupItemCount = null;
67         }
68 }
69
70 void
71 SettingForm::InitializeSettingValues(void)
72 {
73         AppLog("SettingForm::InitializeSettingValues homepage %ls",SettingPresentationModel::GetInstance()->GetHomepage().GetPointer());
74         groupCount = 5;
75         pGroupItemCount = new(std::nothrow) int[5];
76         pGroupItemCount[0] = 5;  //Homepage
77         pGroupItemCount[1] = 6;  //Page content settings
78         pGroupItemCount[2] = 9;  //Private and Security
79         pGroupItemCount[3] = 4;  //Search
80         pGroupItemCount[4] = 1;  //Website settings and Reset
81
82         for (int iter = (int) SETTING_INVALID + 1; iter < (int) SETTING_MAX; iter++)
83         {
84                 settingInfo[iter].isSelected = false;
85         }
86
87         AppLogDebug("image display %d", (int) SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
88         settingInfo[SETTING_HOMEPAGE_TITLE].titleText = CommonUtil::GetString(L"IDS_BR_BODY_HOMEPAGE");
89         settingInfo[SETTING_HOMEPAGE_TITLE].subText = SettingPresentationModel::GetInstance()->GetHomepage();
90         settingInfo[SETTING_HOMEPAGE_TITLE].itemType = ITEM_TYPE_DROPDOWN;
91
92         settingInfo[SETTING_CURRENT_PAGE].titleText = CommonUtil::GetString(L"IDS_BR_BODY_CURRENT_PAGE");
93         settingInfo[SETTING_CURRENT_PAGE].subText = L"";
94         settingInfo[SETTING_CURRENT_PAGE].itemType = ITEM_TYPE_RADIO;
95
96         settingInfo[SETTING_BLANK_PAGE].titleText = CommonUtil::GetString(L"IDS_BR_BODY_BLANK_PAGE");
97         settingInfo[SETTING_BLANK_PAGE].subText = L"";
98         settingInfo[SETTING_BLANK_PAGE].itemType = ITEM_TYPE_RADIO;
99         if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
100         {
101                 settingInfo[SETTING_BLANK_PAGE].isSelected = true;
102         }
103
104         settingInfo[SETTING_MOST_VISITED_SITE].titleText = CommonUtil::GetString(L"IDS_BR_BODY_MOST_VISITED_SITES");
105         settingInfo[SETTING_MOST_VISITED_SITE].subText = L"";
106         settingInfo[SETTING_MOST_VISITED_SITE].itemType = ITEM_TYPE_RADIO;
107         if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
108         {
109                 settingInfo[SETTING_MOST_VISITED_SITE].isSelected = true;
110         }
111         WindowInfo* pWindowInfo = null;
112         String curUrl = SettingPresentationModel::GetInstance()->GetFavoriteUrl();
113         AppLog("SettingForm::OnSceneActivatedN check1");
114
115         settingInfo[SETTING_FAVORITE_URL].titleText = L"http://www.tizen.org";
116         if (SettingPresentationModel::GetInstance()->GetFavoriteUrl().CompareTo(L"") == 0)
117         {
118                 SettingPresentationModel::GetInstance()->SetFavoriteValue(L"http://www.tizen.org");
119         }
120         settingInfo[SETTING_FAVORITE_URL].subText = L"";
121         settingInfo[SETTING_FAVORITE_URL].itemType = ITEM_TYPE_RADIO;
122
123         String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
124         if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
125         {
126                 settingInfo[SETTING_MOST_VISITED_SITE].isSelected = true;
127                 settingInfo[SETTING_BLANK_PAGE].isSelected = false;
128                 settingInfo[SETTING_CURRENT_PAGE].isSelected = false;
129                 settingInfo[SETTING_FAVORITE_URL].isSelected = false;
130                 SettingPresentationModel::GetInstance()->SetHomepage(L"IDS_BR_BODY_MOST_VISITED_SITES");
131         }
132         else if (homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
133         {
134                 settingInfo[SETTING_MOST_VISITED_SITE].isSelected = false;
135                 settingInfo[SETTING_BLANK_PAGE].isSelected = true;
136                 settingInfo[SETTING_CURRENT_PAGE].isSelected = false;
137                 settingInfo[SETTING_FAVORITE_URL].isSelected = false;
138                 SettingPresentationModel::GetInstance()->SetHomepage(L"IDS_BR_BODY_BLANK_PAGE");
139         }
140         else
141         {
142                 settingInfo[SETTING_MOST_VISITED_SITE].isSelected = false;
143                 settingInfo[SETTING_BLANK_PAGE].isSelected = false;
144                 settingInfo[SETTING_CURRENT_PAGE].isSelected = false;
145                 settingInfo[SETTING_FAVORITE_URL].isSelected = true;
146         }
147
148         settingInfo[SETTING_DEFAULT_VIEW_TITLE].titleText = CommonUtil::GetString(L"IDS_BR_BODY_DEFAULT_VIEW");
149         settingInfo[SETTING_DEFAULT_VIEW_TITLE].subText = CommonUtil::GetString(SettingPresentationModel::GetInstance()->GetDefaultView());
150         settingInfo[SETTING_DEFAULT_VIEW_TITLE].itemType = ITEM_TYPE_DROPDOWN;
151
152         settingInfo[SETTING_FIT_TO_WIDTH].titleText = CommonUtil::GetString(L"IDS_BR_BODY_FIT_TO_WIDTH");
153         settingInfo[SETTING_FIT_TO_WIDTH].subText = L"";
154         settingInfo[SETTING_FIT_TO_WIDTH].itemType = ITEM_TYPE_RADIO;
155         settingInfo[SETTING_FIT_TO_WIDTH].isSelected = !(String::Compare(settingInfo[SETTING_FIT_TO_WIDTH].titleText, settingInfo[SETTING_DEFAULT_VIEW_TITLE].subText));
156
157         settingInfo[SETTING_READABLE].titleText = CommonUtil::GetString(L"IDS_BR_BODY_READABLE");
158         settingInfo[SETTING_READABLE].subText = L"";
159         settingInfo[SETTING_READABLE].itemType = ITEM_TYPE_RADIO;
160         settingInfo[SETTING_READABLE].isSelected = !(String::Compare(settingInfo[SETTING_READABLE].titleText, settingInfo[SETTING_DEFAULT_VIEW_TITLE].subText));
161
162         settingInfo[SETTING_RUN_JAVASCRIPT].titleText = CommonUtil::GetString(L"IDS_BR_BODY_RUN_JAVASCRIPT");
163         settingInfo[SETTING_RUN_JAVASCRIPT].subText = L"";
164         settingInfo[SETTING_RUN_JAVASCRIPT].itemType = ITEM_TYPE_TOGGLE;
165         settingInfo[SETTING_RUN_JAVASCRIPT].isSelected = SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled();
166
167         settingInfo[SETTING_DISPLAY_IMAGES].titleText = CommonUtil::GetString(L"IDS_BR_BODY_SHOW_IMAGES");
168         settingInfo[SETTING_DISPLAY_IMAGES].subText = L"";
169         settingInfo[SETTING_DISPLAY_IMAGES].itemType = ITEM_TYPE_TOGGLE;
170         settingInfo[SETTING_DISPLAY_IMAGES].isSelected = SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled();
171
172         settingInfo[SETTING_BLOCK_POPUP].titleText = CommonUtil::GetString(L"IDS_BR_BODY_BLOCK_POP_UPS_ABB");
173         settingInfo[SETTING_BLOCK_POPUP].subText = L"";
174         settingInfo[SETTING_BLOCK_POPUP].itemType = ITEM_TYPE_TOGGLE;
175         settingInfo[SETTING_BLOCK_POPUP].isSelected = !SettingPresentationModel::GetInstance()->IsBlockPopUp();
176
177         settingInfo[SETTING_CLEAR_CACHE].titleText = CommonUtil::GetString(L"IDS_BR_BODY_CLEAR_CACHE");
178         settingInfo[SETTING_CLEAR_CACHE].subText = L"";
179         settingInfo[SETTING_CLEAR_CACHE].itemType = ITEM_TYPE_NORMAL;
180
181         settingInfo[SETTING_CLEAR_HISTORY].titleText = CommonUtil::GetString(L"IDS_BR_BODY_CLEAR_HISTORY");
182         settingInfo[SETTING_CLEAR_HISTORY].subText = L"";
183         settingInfo[SETTING_CLEAR_HISTORY].itemType = ITEM_TYPE_NORMAL;
184
185         settingInfo[SETTING_SHOW_SECURITY_WARNINGS].titleText = CommonUtil::GetString(L"IDS_BR_BODY_SHOW_SECURITY_WARNINGS");
186         settingInfo[SETTING_SHOW_SECURITY_WARNINGS].subText = L"";
187         settingInfo[SETTING_SHOW_SECURITY_WARNINGS].itemType = ITEM_TYPE_TOGGLE;
188         settingInfo[SETTING_SHOW_SECURITY_WARNINGS].isSelected = SettingPresentationModel::GetInstance()->IsSecurityWarningsEnabled();
189
190         settingInfo[SETTING_ACCEPT_COOKIES].titleText = CommonUtil::GetString(L"IDS_BR_BODY_ACCEPT_COOKIES");
191         settingInfo[SETTING_ACCEPT_COOKIES].subText = L"";
192         settingInfo[SETTING_ACCEPT_COOKIES].itemType = ITEM_TYPE_TOGGLE;
193         settingInfo[SETTING_ACCEPT_COOKIES].isSelected = SettingPresentationModel::GetInstance()->IsCookiesEnabled();
194
195         settingInfo[SETTING_CLEAR_COOKIE_DATA].titleText = CommonUtil::GetString(L"IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA");
196         settingInfo[SETTING_CLEAR_COOKIE_DATA].subText = CommonUtil::GetString(L"IDS_BR_BODY_COOKIES");
197         settingInfo[SETTING_CLEAR_COOKIE_DATA].itemType = ITEM_TYPE_NORMAL;
198
199         settingInfo[SETTING_REMEMBER_FORM_DATA].titleText = CommonUtil::GetString(L"IDS_BR_BODY_REMEMBER_FORM_DATA");
200         settingInfo[SETTING_REMEMBER_FORM_DATA].subText = L"";
201         settingInfo[SETTING_REMEMBER_FORM_DATA].itemType = ITEM_TYPE_TOGGLE;
202         settingInfo[SETTING_REMEMBER_FORM_DATA].isSelected = SettingPresentationModel::GetInstance()->IsRememberFormData();
203
204         settingInfo[SETTING_CLEAR_FORM_DATA].titleText = CommonUtil::GetString(L"IDS_BR_BODY_CLEAR_FORM_DATA");
205         settingInfo[SETTING_CLEAR_FORM_DATA].subText = CommonUtil::GetString(L"IDS_BR_HEADER_FORM_DATA");
206         settingInfo[SETTING_CLEAR_FORM_DATA].itemType = ITEM_TYPE_NORMAL;
207
208         settingInfo[SETTING_REMEMBER_PASSWORD].titleText = CommonUtil::GetString(L"IDS_BR_BODY_REMEMBER_PASSWORDS");
209         settingInfo[SETTING_REMEMBER_PASSWORD].subText = L"";
210         settingInfo[SETTING_REMEMBER_PASSWORD].itemType = ITEM_TYPE_TOGGLE;
211         settingInfo[SETTING_REMEMBER_PASSWORD].isSelected = SettingPresentationModel::GetInstance()->IsRememberPassword();
212
213
214         settingInfo[SETTING_CLEAR_PASSWORDS].titleText = CommonUtil::GetString(L"IDS_BR_BODY_CLEAR_PASSWORDS");
215         settingInfo[SETTING_CLEAR_PASSWORDS].subText = L"";
216         settingInfo[SETTING_CLEAR_PASSWORDS].itemType = ITEM_TYPE_NORMAL;
217
218         settingInfo[SETTING_SEARCH_ENGINE_TITLE].titleText = CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_ENGINE");
219         settingInfo[SETTING_SEARCH_ENGINE_TITLE].subText = SettingPresentationModel::GetInstance()->GetSearchEngine();
220         settingInfo[SETTING_SEARCH_ENGINE_TITLE].itemType = ITEM_TYPE_DROPDOWN;
221
222         settingInfo[SETTING_SEARCH_ENGINE_YAHOO].titleText = L"Yahoo";  //CommonUtil::GetString(L"IDS_BR_BODY_YAHOO");
223         settingInfo[SETTING_SEARCH_ENGINE_YAHOO].subText = L"";
224         settingInfo[SETTING_SEARCH_ENGINE_YAHOO].itemType = ITEM_TYPE_RADIO;
225         settingInfo[SETTING_SEARCH_ENGINE_YAHOO].isSelected = !(String::Compare(settingInfo[SETTING_SEARCH_ENGINE_YAHOO].titleText, settingInfo[SETTING_SEARCH_ENGINE_TITLE].subText));
226
227         settingInfo[SETTING_SEARCH_ENGINE_NAVER].titleText = L"Naver";          //CommonUtil::GetString(L"IDS_BR_BODY_NAVER");
228         settingInfo[SETTING_SEARCH_ENGINE_NAVER].subText = L"";
229         settingInfo[SETTING_SEARCH_ENGINE_NAVER].itemType = ITEM_TYPE_RADIO;
230         settingInfo[SETTING_SEARCH_ENGINE_NAVER].isSelected = !(String::Compare(settingInfo[SETTING_SEARCH_ENGINE_NAVER].titleText, settingInfo[SETTING_SEARCH_ENGINE_TITLE].subText));
231
232         settingInfo[SETTING_SEARCH_ENGINE_GOOGLE].titleText = CommonUtil::GetString(L"IDS_COM_BODY_GOOGLE");
233         settingInfo[SETTING_SEARCH_ENGINE_GOOGLE].subText = L"";
234         settingInfo[SETTING_SEARCH_ENGINE_GOOGLE].itemType = ITEM_TYPE_RADIO;
235         settingInfo[SETTING_SEARCH_ENGINE_GOOGLE].isSelected = !(String::Compare(settingInfo[SETTING_SEARCH_ENGINE_GOOGLE].titleText, settingInfo[SETTING_SEARCH_ENGINE_TITLE].subText));
236
237         settingInfo[SETTING_RESET_TO_DEFAULT].titleText = CommonUtil::GetString(L"IDS_BR_BODY_RESET_TO_DEFAULT");
238         settingInfo[SETTING_RESET_TO_DEFAULT].subText = L"";
239         settingInfo[SETTING_RESET_TO_DEFAULT].itemType = ITEM_TYPE_NORMAL;
240 }
241
242 bool
243 SettingForm::Initialize(void)
244 {
245         result r = E_FAILURE;
246
247         r = Construct(L"IDL_SETTING_FORM");
248         if (IsFailed(r))
249         {
250                 return false;
251         }
252         return true;
253 }
254
255 result
256 SettingForm::OnInitializing(void)
257 {
258         result r = E_FAILURE;
259         Footer* pFooter = NULL;
260         SceneManager* pSceneManager = NULL;
261
262         __fontSize = CommonUtil::GetFontSize();
263
264         bool isHwKeySupported = false;
265
266         SetFormStyle(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR);
267         __pList = static_cast< GroupedListView* >(GetControl(L"IDC_SETTING_LIST"));
268         if ( __pList != NULL )
269         {
270
271                 r = __pList->SetItemProvider(*this);
272                 TryCatch(!IsFailed(r),,"setItemProvider failed with error %s",GetErrorMessage(r));
273                 __pList->AddGroupedListViewItemEventListener(*this);
274         }
275
276 //      pFooter = GetFooter();
277 //      if (pFooter)
278 //      {
279 //              AppLogDebug("setting back button");
280 //              pFooter->SetBackButtonEnabled(true);
281 //      }
282         SetFormBackEventListener(this);
283         AppLog("SetFormBackEventListener result %s",GetErrorMessage(GetLastResult()));
284         pSceneManager = SceneManager::GetInstance();
285         if (pSceneManager != null)
286         {
287                 r = pSceneManager->AddSceneEventListener(IDSCN_SETTINGS, *this);
288                 TryCatch(!IsFailed(r),,"AddSceneEventListener failed with error %s",GetErrorMessage(r));
289         }
290         AddOrientationEventListener(*this);
291
292         CATCH:
293         return r;
294 }
295
296 void
297 SettingForm::OnGroupedListViewContextItemStateChanged(GroupedListView& listView, int groupIndex, int itemIndex, int elementId, ListContextItemStatus status)
298 {
299
300 }
301
302 void
303 SettingForm::OnGroupedListViewItemStateChanged(GroupedListView& listView, int groupIndex, int itemIndex, int elementId, ListItemStatus status)
304 {
305         int effectiveIndex = 0;
306         SettingPresentationModel* pSettingMgr = SettingPresentationModel::GetInstance();
307
308         if (pSettingMgr == null)
309                 return;
310
311         for (int i = 0; i < groupIndex; i++)
312                 effectiveIndex = effectiveIndex + pGroupItemCount[i];
313         effectiveIndex = effectiveIndex + itemIndex;
314
315         if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_DROPDOWN)
316         {
317                 AppLogDebug("refreshing data child count is %d", settingInfo[effectiveIndex].childCount);
318                 if (settingInfo[effectiveIndex].isOpen == false)
319                 {
320                         settingInfo[effectiveIndex].isOpen = true;
321                         settingInfo[effectiveIndex].childCount = 0;
322                         for (int iter = effectiveIndex + 1; iter < SETTING_MAX; iter++)
323                         {
324                                 if (settingInfo[iter].itemType == ITEM_TYPE_RADIO)
325                                         settingInfo[effectiveIndex].childCount++;
326                                 else
327                                         break;
328                         }
329                         listView.UpdateList();
330                 }
331                 else
332                 {
333                         settingInfo[effectiveIndex].isOpen = false;
334                         listView.UpdateList();
335                 }
336         }
337         else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_RADIO)
338         {
339                 int parentIndex = 0;
340                 for (parentIndex = effectiveIndex; parentIndex > SETTING_INVALID; parentIndex--)
341                 {
342                         if (settingInfo[parentIndex].itemType == ITEM_TYPE_DROPDOWN)
343                                 break;
344                 }
345                 settingInfo[parentIndex].subText = settingInfo[effectiveIndex].titleText;
346
347                 for (int iter = 0; iter < settingInfo[parentIndex].childCount; iter++)
348                 {
349                         if (parentIndex + iter + 1 != effectiveIndex)
350                         {
351                                 AppLogDebug("long effectiveIndex %d set to false", itemIndex - (effectiveIndex - parentIndex) + iter + 1);
352                                 settingInfo[parentIndex + iter + 1].isSelected = false;
353                         }
354                         else
355                         {
356                                 AppLogDebug("effectiveIndex %d set to true", effectiveIndex);
357                                 settingInfo[effectiveIndex].isSelected = true;
358                         }
359                         if (effectiveIndex == SETTING_CURRENT_PAGE)
360                         {
361                                 settingInfo[SETTING_CURRENT_PAGE].isSelected = false;
362                                 settingInfo[SETTING_FAVORITE_URL].isSelected = true;
363                         }
364                         //listView.RefreshList(groupIndex, itemIndex - (effectiveIndex - parentIndex) + iter + 1, LIST_REFRESH_TYPE_ITEM_MODIFY);
365                 }
366 //              listView.UpdateList();
367                 //listView.ScrollToItem(groupIndex, itemIndex, LIST_SCROLL_ITEM_ALIGNMENT_TOP);
368                 Invalidate(true);
369         }
370         else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_TOGGLE)
371         {
372                 if (settingInfo[effectiveIndex].isSelected == true)
373                 {
374                         settingInfo[effectiveIndex].isSelected = false;
375                 }
376                 else
377                 {
378                         settingInfo[effectiveIndex].isSelected = true;
379                 }
380 //              listView.RefreshList(groupIndex, itemIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
381                 if(__pList != null)
382                 {
383                         __pList->SetItemChecked(groupIndex, itemIndex, settingInfo[effectiveIndex].isSelected);
384                 }
385         }
386
387         switch (effectiveIndex)
388         {
389         case SETTING_CURRENT_PAGE:
390                 //SettingPresentationModel::GetInstance()->SetHomepage(settingInfo[SETTING_FAVORITE_URL].titleText);
391                 AppLog("setting current page currentURL is =%ls",__currentURL.GetPointer());
392                 if (__currentURL.CompareTo(L"") != 0)
393                 {
394                         AppLog("setting current page currentURL is =%ls",__currentURL.GetPointer());
395                         SettingPresentationModel::GetInstance()->SetHomepage(CommonUtil::GetString(L"IDS_BR_BODY_USER_HOMEPAGE"));
396                         SettingPresentationModel::GetInstance()->SetFavoriteValue(__currentURL);
397                         settingInfo[SETTING_FAVORITE_URL].titleText = __currentURL;
398 //                      listView.RefreshList(groupIndex, effectiveIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
399                         listView.UpdateList();
400                 }
401                 break;
402         case SETTING_BLANK_PAGE:
403                 //SettingPresentationModel::GetInstance()->SetHomepage(settingInfo[SETTING_BLANK_PAGE].titleText);
404                 SettingPresentationModel::GetInstance()->SetHomepage((L"IDS_BR_BODY_BLANK_PAGE"));
405                 AppLog("GetHomepage() %ls",SettingPresentationModel::GetInstance()->GetHomepage().GetPointer());
406                 listView.UpdateList();
407
408                 break;
409         case SETTING_MOST_VISITED_SITE:
410                 SettingPresentationModel::GetInstance()->SetHomepage(L"IDS_BR_BODY_MOST_VISITED_SITES");
411                 listView.UpdateList();
412                 break;
413
414         case SETTING_FAVORITE_URL:
415                 //SettingPresentationModel::GetInstance()->SetHomepage(settingInfo[SETTING_FAVORITE_URL].titleText);
416                 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_EDIT_HOMEPAGE_VIEW, SCENE_TRANSITION_ANIMATION_TYPE_LEFT));
417                 break;
418
419         case SETTING_FIT_TO_WIDTH:
420                 SettingPresentationModel::GetInstance()->SetDefaultView(L"IDS_BR_BODY_FIT_TO_WIDTH");
421                 listView.UpdateList();
422                 break;
423
424         case SETTING_READABLE:
425                 SettingPresentationModel::GetInstance()->SetDefaultView(L"IDS_BR_BODY_READABLE");
426                 listView.UpdateList();
427                 break;
428
429         case SETTING_RUN_JAVASCRIPT:
430                 SettingPresentationModel::GetInstance()->SetRunJavascriptEnabled(settingInfo[SETTING_RUN_JAVASCRIPT].isSelected);
431                 break;
432
433         case SETTING_DISPLAY_IMAGES:
434                 SettingPresentationModel::GetInstance()->SetDisplayImagesEnabled(settingInfo[SETTING_DISPLAY_IMAGES].isSelected);
435                 break;
436
437         case SETTING_BLOCK_POPUP:
438                 SettingPresentationModel::GetInstance()->SetBlockPopUp(!settingInfo[SETTING_BLOCK_POPUP].isSelected);
439                 break;
440
441         case SETTING_CLEAR_CACHE:
442                 ClearCache();
443                 break;
444
445         case SETTING_CLEAR_HISTORY:
446                 ClearHistory();
447                 break;
448
449         case SETTING_SHOW_SECURITY_WARNINGS:
450                 SettingPresentationModel::GetInstance()->SetSecurityWarningsEnabled(settingInfo[SETTING_SHOW_SECURITY_WARNINGS].isSelected);
451                 break;
452
453         case SETTING_ACCEPT_COOKIES:
454                 SettingPresentationModel::GetInstance()->SetCookiesEnabled(settingInfo[SETTING_ACCEPT_COOKIES].isSelected);
455                 break;
456
457         case SETTING_CLEAR_COOKIE_DATA:
458                 ClearCookie();
459                 break;
460
461         case SETTING_REMEMBER_FORM_DATA:
462                 SettingPresentationModel::GetInstance()->SetRememberFormData(settingInfo[SETTING_REMEMBER_FORM_DATA].isSelected);
463                 break;
464
465         case SETTING_CLEAR_FORM_DATA:
466                 ClearFormData();
467                 break;
468
469         case SETTING_CLEAR_PASSWORDS:
470                 ClearPasswords();
471                 break;
472
473         case SETTING_REMEMBER_PASSWORD:
474                 SettingPresentationModel::GetInstance()->SetRememberPassword(settingInfo[SETTING_REMEMBER_PASSWORD].isSelected);
475                 break;
476
477         case SETTING_SEARCH_ENGINE_YAHOO:
478                 SettingPresentationModel::GetInstance()->SetSearchEngine(settingInfo[SETTING_SEARCH_ENGINE_YAHOO].titleText);
479                 listView.UpdateList();
480                 break;
481
482         case SETTING_SEARCH_ENGINE_NAVER:
483                 SettingPresentationModel::GetInstance()->SetSearchEngine(settingInfo[SETTING_SEARCH_ENGINE_NAVER].titleText);
484                 listView.UpdateList();
485                 break;
486
487         case SETTING_SEARCH_ENGINE_GOOGLE:
488                 SettingPresentationModel::GetInstance()->SetSearchEngine(settingInfo[SETTING_SEARCH_ENGINE_GOOGLE].titleText);
489                 listView.UpdateList();
490                 break;
491
492         case SETTING_RESET_TO_DEFAULT:
493                 //OpenResetPopup();
494                 ResetToDefault();
495                 break;
496
497         default:
498                 break;
499         }
500 }
501
502 void
503 SettingForm::OnGroupedListViewItemSwept(GroupedListView& listView, int groupIndex, int itemIndex, SweepDirection direction)
504 {
505
506 }
507
508 GroupItem*
509 SettingForm::CreateGroupItem(int groupIndex, int itemWidth)
510 {
511         result r = E_FAILURE;
512         String text(L"");
513         GroupItem* pItem = null;
514         const Color ITEM_TEXT_COLOR = CUSTOM_COLOR_SETTINGS_GROUPTITLE;
515
516         pItem = new(std::nothrow) GroupItem();
517         if (pItem == null)
518         {
519                 return null;
520         }
521         r = pItem->Construct(Dimension(itemWidth, 46));
522         if (IsFailed(r))
523         {
524                 delete pItem;
525                 return null;
526         }
527
528         switch (groupIndex)
529         {
530         case 0:
531                 text = CommonUtil::GetString(L"IDS_BR_BODY_HOMEPAGE"); // IDS_HOMEPAGE
532                 settingInfo[SETTING_HOMEPAGE_TITLE].subText = SettingPresentationModel::GetInstance()->GetHomepage();
533                 break;
534
535         case 1:
536                 text = CommonUtil::GetString(L"IDS_BR_MBODY_PAGE_CONTENT_SETTINGS"); // IDS_BR_MBODY_PAGE_CONTENT_SETTINGS
537                 break;
538
539         case 2:
540                 text = CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB");  // IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB
541                 break;
542
543         case 3:
544                 text = CommonUtil::GetString(L"IDS_BR_BODY_SEARCH");    // IDS_BR_BODY_SEARCH
545                 break;
546
547         case 4:
548                 text = L"";
549                 break;
550
551         default:
552                 break;
553         }
554
555         pItem->SetElement(text, null);
556
557         AppLogDebug("background color set result %s", GetErrorMessage(r));
558
559         pItem->SetTextColor(ITEM_TEXT_COLOR);
560         return pItem;
561 }
562
563 ListItemBase*
564 SettingForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
565 {
566         AppLog("SettingForm::CreateItem --> groupIndex : %d, itemIndex: %d itemWidth: %d ", groupIndex, itemIndex, itemWidth);
567
568         result r = E_SUCCESS;
569         int effectiveIndex = 0;
570         const Color ITEM_BACKGROUND_COLOR = CUSTOM_COLOR_SETTINGS_LISTITEM_BACKGROUND;
571         const Color ITEM_RADIO_ITEM_BACKGROUND_COLOR = CUSTOM_COLOR_SETTINGS_LISTITEM_RADIO_BACKGROUND;
572         const Color ITEM_BACKGROUND_COLOR_HIGHLIGHTED = CUSTOM_BACKGROUND_COLOR_LISTVIEW_PRESSED_HIGHLIGHTED;
573
574         for (int i = 0; i < groupIndex; i++)
575                 effectiveIndex = effectiveIndex + pGroupItemCount[i];
576         effectiveIndex = effectiveIndex + itemIndex;
577         AppLogDebug("SettingForm::CreateItem --> groupIndex : %d, itemIndex: %d itemWidth: %d effectiveIndex %d", groupIndex, itemIndex, itemWidth, effectiveIndex);
578
579         if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_TOGGLE)
580         {
581                 SettingToggleCustomItem* pItem = new(std::nothrow) SettingToggleCustomItem();
582                 r = pItem->Construct(itemWidth, 112 + (__fontSize - 44));
583                 if (IsFailed(r))
584                 {
585                         delete pItem;
586                         return null;
587                 }
588
589                 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL,ITEM_BACKGROUND_COLOR);
590                 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED,ITEM_BACKGROUND_COLOR_HIGHLIGHTED);
591                 if(__pList != null)
592                 {
593                         __pList->SetItemChecked(groupIndex, itemIndex, settingInfo[effectiveIndex].isSelected);
594                 }
595
596                 pItem->SetText(settingInfo[effectiveIndex].titleText);
597                 pItem->Make();
598
599                 return pItem;
600
601         }
602         else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_DROPDOWN)
603         {
604                 DropDownCustomItem* pItem = new(std::nothrow) DropDownCustomItem();
605                 r = pItem->Construct(itemWidth);
606                 if (IsFailed(r))
607                 {
608                         delete pItem;
609                         return null;
610                 }
611
612 /*              Bitmap* pNormalBackgroundBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_LIST_GROUP_BG9,itemWidth,128);
613                 Bitmap* pPressedBackgroundBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_LIST_GROUP_BG_PRESS9,itemWidth,112);
614
615                 if (pNormalBackgroundBitmap != NULL)
616                 {
617                         pItem->SetBackgroundBitmap(LIST_ITEM_DRAWING_STATUS_NORMAL,pNormalBackgroundBitmap);
618                         delete pNormalBackgroundBitmap;
619                 }
620
621                 if (pPressedBackgroundBitmap != NULL)
622                 {
623                         pItem->SetBackgroundBitmap(LIST_ITEM_DRAWING_STATUS_PRESSED,pPressedBackgroundBitmap);
624                         delete pPressedBackgroundBitmap;
625                 }*/
626
627                 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL,ITEM_BACKGROUND_COLOR);
628                 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED,ITEM_BACKGROUND_COLOR_HIGHLIGHTED);
629
630                 pItem->SetMainText(settingInfo[effectiveIndex].titleText);
631                 if(settingInfo[effectiveIndex].subText.CompareTo(L"IDS_BR_BODY_BLANK_PAGE") == 0 || settingInfo[effectiveIndex].subText.CompareTo(L"IDS_BR_BODY_MOST_VISITED_SITES") == 0  || settingInfo[effectiveIndex].subText.CompareTo(L"IDS_BR_BODY_FIT_TO_WIDTH") == 0 || settingInfo[effectiveIndex].subText.CompareTo(L"IDS_BR_BODY_READABLE") == 0)
632                 {
633                         pItem->SetSubText(CommonUtil::GetString(settingInfo[effectiveIndex].subText));
634                 }
635                 else
636                 {
637                         pItem->SetSubText(settingInfo[effectiveIndex].subText);
638                 }
639                 if (settingInfo[effectiveIndex].isOpen)
640                 {
641                         pItem->SetCurState(DROP_DOWN_ITEM_STATE_OPENED);
642                 }
643                 else
644                 {
645                         pItem->SetCurState(DROP_DOWN__ITEM_STATE_CLOSED);
646                 }
647                 r = pItem->Make();
648                 //      if (pBitmap != null)
649                 //              pItem->AddElement(Rectangle(0, 0, 10, 128), IDA_LIST_LEFT_SIDE_MARGIN_DROPDOWN, *pBitmap, null);
650
651                 if (IsFailed(r))
652                 {
653                         delete pItem;
654                         return null;
655                 }
656
657                 return pItem;
658         }
659         else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_RADIO)
660         {
661                 RadioCustomItem* pItem = new(std::nothrow) RadioCustomItem();
662                 int parentIndex = 0;
663                 for (parentIndex = effectiveIndex; parentIndex > SETTING_INVALID; parentIndex--)
664                 {
665                         if (settingInfo[parentIndex].itemType == ITEM_TYPE_DROPDOWN)
666                                 break;
667                 }
668                 if (settingInfo[parentIndex].isOpen == false || (__isCurrentPageDisable == true && groupIndex == 0 && itemIndex == 1))
669                 {
670                         r = pItem->Construct(itemWidth, 0);
671                         AppLogDebug("construct with height 0 %s", GetErrorMessage(r));
672                         return pItem;
673                 }
674                 else
675                 {
676                         pItem->Construct(itemWidth, 112 +  (__fontSize - 44));
677                 }
678 /*
679                 Bitmap* pNormalBackgroundBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_LIST_GROUP_BG9,itemWidth,112);
680                 Bitmap* pPressedBackgroundBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_LIST_GROUP_BG_PRESS9,itemWidth,112);
681
682                 if (pNormalBackgroundBitmap != NULL)
683                 {
684                         pItem->SetBackgroundBitmap(LIST_ITEM_DRAWING_STATUS_NORMAL,pNormalBackgroundBitmap);
685                         delete pNormalBackgroundBitmap;
686                 }
687
688                 if (pPressedBackgroundBitmap != NULL)
689                 {
690                         pItem->SetBackgroundBitmap(LIST_ITEM_DRAWING_STATUS_PRESSED,pPressedBackgroundBitmap);
691                         delete pPressedBackgroundBitmap;
692                 }*/
693
694                 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL,ITEM_RADIO_ITEM_BACKGROUND_COLOR);
695                 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED,ITEM_BACKGROUND_COLOR_HIGHLIGHTED);
696
697
698                 pItem->SetText(settingInfo[effectiveIndex].titleText);
699                 AppLogDebug("effectiveIndex %d SettingInfo[effectiveIndex].isSelected %d", effectiveIndex, settingInfo[effectiveIndex].isSelected);
700
701                 //if (pBitmap != null)
702                 //      pItem->AddElement(Rectangle(0, 0, 10, 112), IDA_LIST_LEFT_SIDE_MARGIN, *pBitmap, null);
703
704 //              pItem->SetSelected(settingInfo[effectiveIndex].isSelected);
705                 __pList->SetItemChecked(groupIndex,itemIndex,settingInfo[effectiveIndex].isSelected);
706                 pItem->Make();
707
708                 return pItem;
709         }
710         else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_NORMAL)
711         {
712                 DefaultCustomItem* pItem = new(std::nothrow) DefaultCustomItem();
713
714                 r = pItem->Construct(itemWidth, 112 + (__fontSize - 44));
715                 if (IsFailed(r))
716                 {
717                         delete pItem;
718                         return null;
719                 }
720
721
722 //              Bitmap* pNormalBackgroundBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_LIST_GROUP_BG9,itemWidth,112);
723 //              Bitmap* pPressedBackgroundBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_LIST_GROUP_BG_PRESS9,itemWidth,112);
724 //
725 //              if (pNormalBackgroundBitmap != NULL)
726 //              {
727 //                      pItem->SetBackgroundBitmap(LIST_ITEM_DRAWING_STATUS_NORMAL,pNormalBackgroundBitmap);
728 //                      delete pNormalBackgroundBitmap;
729 //              }
730 //
731 //              if (pPressedBackgroundBitmap != NULL)
732 //              {
733 //                      pItem->SetBackgroundBitmap(LIST_ITEM_DRAWING_STATUS_PRESSED,pPressedBackgroundBitmap);
734 //                      delete pPressedBackgroundBitmap;
735 //              }
736
737                 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL,ITEM_BACKGROUND_COLOR);
738                 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED,ITEM_BACKGROUND_COLOR_HIGHLIGHTED);
739
740
741                 pItem->SetText(settingInfo[effectiveIndex].titleText);
742
743                 //if (pBitmap != null)
744                 //      pItem->AddElement(Rectangle(0, 0, 10, 112), IDA_LIST_LEFT_SIDE_MARGIN, *pBitmap, null);
745
746                 r = pItem->Make();
747                 if (IsFailed(r))
748                 {
749                         delete pItem;
750                         return null;
751                 }
752                 return pItem;
753         }
754         else
755         {
756                 return null;
757         }
758 }
759
760 bool
761 SettingForm::DeleteGroupItem(int groupIndex, GroupItem* pItem, int itemWidth)
762 {
763         delete pItem;
764         pItem = null;
765         return true;
766 }
767
768 bool
769 SettingForm::DeleteItem(int groupIndex, int itemIndex, ListItemBase* pItem, int itemWidth)
770 {
771         delete pItem;
772         pItem = null;
773         return true;
774 }
775
776 int
777 SettingForm::GetGroupCount(void)
778 {
779         return groupCount;
780 }
781
782 int
783 SettingForm::GetItemCount(int groupIndex)
784 {
785         AppLog(" SettingForm::GetItemCount --> groupIndex : %d,", groupIndex);
786         return pGroupItemCount[groupIndex];
787 }
788
789 void
790 SettingForm::OnFormBackRequested(Form& source)
791 {
792         AppLog("SettingForm::OnFormBackRequested entered");
793         String* pSelectedScene = NULL;
794         Object* value = NULL;
795         MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &value);
796         pSelectedScene = (String*) value;
797         if (pSelectedScene)
798         {
799                 SceneManager::GetInstance()->GoBackward(BackwardSceneTransition(*pSelectedScene, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
800 //              delete pSelectedScene;
801 //              pSelectedScene = null;
802         }
803 }
804
805 void
806 SettingForm::OnActionPerformed(const Control& source, int actionId)
807 {
808         switch (actionId)
809         {
810         case IDA_BUTTON_NO:
811                 if(__pConfirmationPopup)
812                 {
813                         __pConfirmationPopup->SetShowState(false);
814                         __pConfirmationPopup->Show();
815                         delete __pConfirmationPopup;
816                         __pConfirmationPopup = null;
817                 }
818                 break;
819
820         case IDA_BUTTON_YES:
821                 if(__pConfirmationPopup)
822                 {
823                         String message = L"";
824                         __pConfirmationPopup->SetShowState(false);
825                         __pConfirmationPopup->Show();
826                         if (__pConfirmationPopup->GetMessage() == CommonUtil::GetString(L"IDS_BR_POP_EMPTY_COOKIE_POPUP_BNO"))
827                         {
828                                 message = CommonUtil::GetString(L"IDS_BR_POP_DELETED");
829                                 SettingPresentationModel::GetInstance()->ClearCookie();
830                         }
831                         else if (__pConfirmationPopup->GetMessage() == CommonUtil::GetString(L"IDS_BR_POP_DELETE_ALL_SAVED_FORM_DATA_Q"))
832                         {
833                                 message = CommonUtil::GetString(L"IDS_BR_POP_DELETED");
834                                 SettingPresentationModel::GetInstance()->ClearFormData();
835                         }
836                         else if (__pConfirmationPopup->GetMessage() == CommonUtil::GetString(L"IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q"))
837                         {
838                                 message = CommonUtil::GetString(L"IDS_BR_POP_DELETED");
839                                 SettingPresentationModel::GetInstance()->ClearPasswords();
840                         }
841                         else if (__pConfirmationPopup->GetMessage() == CommonUtil::GetString(L"IDS_BR_POP_DELETE_LOCALLY_CACHED_CONTENT_AND_DATABASES_Q"))
842                         {
843                                 message = CommonUtil::GetString(L"IDS_BR_POP_DELETED");
844                                 SettingPresentationModel::GetInstance()->ClearCache();
845                         }
846                         else if (__pConfirmationPopup->GetMessage() == CommonUtil::GetString(L"IDS_BR_BODY_DELETE_BROWSER_HISTORY_Q"))
847                         {
848                                 message = CommonUtil::GetString(L"IDS_BR_POP_DELETED");
849                                 HistoryPresentationModel::GetInstance()->ClearHistory();
850                         }
851                         else if (__pConfirmationPopup->GetMessage() == CommonUtil::GetString(L"IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q"))
852                         {
853                                 message = CommonUtil::GetString(L"IDS_BR_SK_DONE");
854                                 SettingPresentationModel::GetInstance()->ResetRegistry();
855                                 InitializeSettingValues();
856                                 if(__pList != null)
857                                 {
858                                         __pList->UpdateList();
859                                 }
860                         }
861                         delete __pConfirmationPopup;
862                         __pConfirmationPopup = null;
863
864                         NotificationPanel* pNotification = new (std::nothrow) NotificationPanel(*this);
865                         pNotification->SetText(message);
866                         pNotification->SetPositionDiff(0);
867                         pNotification->ShowNotification();
868                 }
869                 break;
870
871         default:
872                 break;
873         }
874 }
875
876 void
877 SettingForm::OnOrientationChanged(const Control& source, OrientationStatus orientationStatus)
878 {
879         Rectangle rect = GetClientAreaBounds();
880         if(__pList == null)
881         {
882                 return;
883         }
884         __pList->SetBounds(rect.x,rect.y,rect.width-16,rect.height);
885         __pList->UpdateList();
886 }
887
888 SettingForm::SettingItemInfo::SettingItemInfo(void)
889 {
890         titleText = L"";
891         subText = L"";
892         childCount = 0;
893         isOpen = false;
894         isSelected = false ;
895 }
896 void
897 SettingForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
898 {
899         WindowInfo* pWindowInfo = null;
900         String curUrl = SettingPresentationModel::GetInstance()->GetFavoriteUrl();
901
902         pWindowInfo = MultipleWindowPresentationModel::GetInstance()->GetActiveWindowInfo();
903
904         if (previousSceneId == IDSCN_EDIT_HOMEPAGE_VIEW)
905         {
906                 if (pArgs != null)
907                 {
908                         String* pValue = NULL;
909                         pValue = dynamic_cast<String*>(pArgs->GetAt(0));
910                         if( pValue != NULL )
911                         {
912                                 if (pValue->CompareTo(L"Done") == 0)
913                                 {
914                                 //      SettingPresentationModel::GetInstance()->SetHomepage(CommonUtil::GetString(L"IDS_BR_BODY_USER_HOMEPAGE"));
915                                 }
916                                 else if (pValue->CompareTo(L"Cancel") == 0)
917                                 {
918                                         String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
919                                         if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
920                                         {
921                                                 settingInfo[SETTING_MOST_VISITED_SITE].isSelected = true;
922                                                 settingInfo[SETTING_BLANK_PAGE].isSelected = false;
923                                                 settingInfo[SETTING_CURRENT_PAGE].isSelected = false;
924                                                 settingInfo[SETTING_FAVORITE_URL].isSelected = false;
925                                                 SettingPresentationModel::GetInstance()->SetHomepage(L"IDS_BR_BODY_MOST_VISITED_SITES");
926
927                                         }
928                                         else if (homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
929                                         {
930                                                 settingInfo[SETTING_MOST_VISITED_SITE].isSelected = false;
931                                                 settingInfo[SETTING_BLANK_PAGE].isSelected = true;
932                                                 settingInfo[SETTING_CURRENT_PAGE].isSelected = false;
933                                                 settingInfo[SETTING_FAVORITE_URL].isSelected = false;
934                                                 SettingPresentationModel::GetInstance()->SetHomepage(L"IDS_BR_BODY_BLANK_PAGE");
935                                         }
936                                         else
937                                         {
938                                                 settingInfo[SETTING_MOST_VISITED_SITE].isSelected = false;
939                                                 settingInfo[SETTING_BLANK_PAGE].isSelected = false;
940                                                 settingInfo[SETTING_CURRENT_PAGE].isSelected = false;
941                                                 settingInfo[SETTING_FAVORITE_URL].isSelected = true;
942                                         }
943
944                                 }
945                         }
946                 }
947         }
948
949         if (pWindowInfo != null)
950         {
951                 __currentURL.Clear();
952                 __currentURL.Append(pWindowInfo->pageUrl);
953                 AppLog("current url is %ls",__currentURL.GetPointer());
954
955                 if (SettingPresentationModel::GetInstance()->GetFavoriteUrl().CompareTo(L"") == 0)
956                 {
957                         if (pWindowInfo->pageUrl.CompareTo(L"") == 0)
958                         {
959                                 //settingInfo[SETTING_FAVORITE_URL].titleText = CommonUtil::GetString(L"IDS_SET_HOMEPAGE");
960                                 settingInfo[SETTING_FAVORITE_URL].titleText = L"http://www.tizen.org";
961                         }
962                         else
963                         {
964                                 settingInfo[SETTING_FAVORITE_URL].titleText = pWindowInfo->pageUrl;
965                         }
966                 }
967                 else
968                 {
969                         settingInfo[SETTING_FAVORITE_URL].titleText = SettingPresentationModel::GetInstance()->GetFavoriteUrl();
970                 }
971         }
972
973         if (__pList != null)
974         {
975                 __pList->UpdateList();
976                 if (pWindowInfo && pWindowInfo->pageUrl.CompareTo(L"") == 0)
977                 {
978                         __isCurrentPageDisable = true;
979                         AppLog("set item enabled is false");
980                         __pList->SetItemEnabled(0, 1, false);
981                 }
982                 else
983                 {
984                         __isCurrentPageDisable = false;
985                         AppLog("set item enabled is true");
986                         __pList->SetItemEnabled(0, 1, true);
987                 }
988                 for(int grpindex = 0; grpindex < groupCount; grpindex++)
989                 {
990                         for(int index = 0; index < *(pGroupItemCount+groupCount); index++)
991                         {
992                                 int effectiveIndex = 0;
993                                 for (int i = 0; i < grpindex; i++)
994                                                 effectiveIndex = effectiveIndex + pGroupItemCount[i];
995                                         effectiveIndex = effectiveIndex + index;
996
997                                         if(effectiveIndex >= SETTING_MAX)
998                                         {
999                                                 continue;
1000                                         }
1001                                 if(settingInfo[effectiveIndex].itemType == ITEM_TYPE_TOGGLE || settingInfo[effectiveIndex].itemType == ITEM_TYPE_RADIO )
1002                                 {
1003                                         __pList->SetItemChecked(grpindex, index, settingInfo[effectiveIndex].isSelected);
1004                                 }
1005                         }
1006                 }
1007         }
1008         return;
1009 }
1010
1011 void
1012 SettingForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
1013 {
1014         return;
1015 }
1016
1017 void
1018 SettingForm::ClearHistory(void)
1019 {
1020         if(__pConfirmationPopup)
1021         {
1022                 __pConfirmationPopup->SetShowState(false);
1023                 __pConfirmationPopup->Show();
1024                 delete __pConfirmationPopup;
1025                 __pConfirmationPopup = null;
1026         }
1027         String message = CommonUtil::GetString(L"IDS_BR_BODY_DELETE_BROWSER_HISTORY_Q");
1028         if(!__pConfirmationPopup)
1029         {
1030                 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
1031                 __pConfirmationPopup->Initialize();
1032                 __pConfirmationPopup->RemoveActionListener(*this);
1033                 __pConfirmationPopup->AddActionListener(*this);
1034                 __pConfirmationPopup->setMessage(message);
1035                 __pConfirmationPopup->Show();
1036         }
1037 }
1038
1039 void
1040 SettingForm::ClearCache(void)
1041 {
1042         if(__pConfirmationPopup)
1043         {
1044                 __pConfirmationPopup->SetShowState(false);
1045                 __pConfirmationPopup->Show();
1046                 delete __pConfirmationPopup;
1047                 __pConfirmationPopup = null;
1048         }
1049         String message = CommonUtil::GetString(L"IDS_BR_POP_DELETE_LOCALLY_CACHED_CONTENT_AND_DATABASES_Q");
1050         if(!__pConfirmationPopup)
1051         {
1052                 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
1053                 __pConfirmationPopup->Initialize();
1054                 __pConfirmationPopup->RemoveActionListener(*this);
1055                 __pConfirmationPopup->AddActionListener(*this);
1056                 __pConfirmationPopup->setMessage(message);
1057                 __pConfirmationPopup->Show();
1058         }
1059 }
1060
1061 void
1062 SettingForm::ClearCookie(void)
1063 {
1064         if(__pConfirmationPopup)
1065         {
1066                 __pConfirmationPopup->SetShowState(false);
1067                 __pConfirmationPopup->Show();
1068                 delete __pConfirmationPopup;
1069                 __pConfirmationPopup = null;
1070         }
1071         String message = CommonUtil::GetString(L"IDS_BR_POP_EMPTY_COOKIE_POPUP_BNO");
1072         if(!__pConfirmationPopup)
1073         {
1074                 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
1075                 __pConfirmationPopup->Initialize();
1076                 __pConfirmationPopup->RemoveActionListener(*this);
1077                 __pConfirmationPopup->AddActionListener(*this);
1078                 __pConfirmationPopup->setMessage(message);
1079                 __pConfirmationPopup->Show();
1080         }
1081 }
1082
1083 void
1084 SettingForm::ClearFormData(void)
1085 {
1086         if(__pConfirmationPopup)
1087         {
1088                 __pConfirmationPopup->SetShowState(false);
1089                 __pConfirmationPopup->Show();
1090                 delete __pConfirmationPopup;
1091                 __pConfirmationPopup = null;
1092         }
1093         String message = CommonUtil::GetString(L"IDS_BR_POP_DELETE_ALL_SAVED_FORM_DATA_Q");
1094         if(!__pConfirmationPopup)
1095         {
1096                 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
1097                 __pConfirmationPopup->Initialize();
1098                 __pConfirmationPopup->RemoveActionListener(*this);
1099                 __pConfirmationPopup->AddActionListener(*this);
1100                 __pConfirmationPopup->setMessage(message);
1101                 __pConfirmationPopup->Show();
1102         }
1103 }
1104
1105 void
1106 SettingForm::ClearPasswords(void)
1107 {
1108         if(__pConfirmationPopup)
1109         {
1110                 __pConfirmationPopup->SetShowState(false);
1111                 __pConfirmationPopup->Show();
1112                 delete __pConfirmationPopup;
1113                 __pConfirmationPopup = null;
1114         }
1115         String message = CommonUtil::GetString(L"IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q");
1116         if(!__pConfirmationPopup)
1117         {
1118                 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
1119                 __pConfirmationPopup->Initialize();
1120                 __pConfirmationPopup->RemoveActionListener(*this);
1121                 __pConfirmationPopup->AddActionListener(*this);
1122                 __pConfirmationPopup->setMessage(message);
1123                 __pConfirmationPopup->Show();
1124         }
1125 }
1126
1127
1128 void
1129 SettingForm::ResetToDefault()
1130 {
1131         if(__pConfirmationPopup)
1132         {
1133                 __pConfirmationPopup->SetShowState(false);
1134                 __pConfirmationPopup->Show();
1135                 delete __pConfirmationPopup;
1136                 __pConfirmationPopup = null;
1137         }
1138         String message = CommonUtil::GetString(L"IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q");
1139         if(!__pConfirmationPopup)
1140         {
1141                 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
1142                 __pConfirmationPopup->Initialize();
1143                 __pConfirmationPopup->RemoveActionListener(*this);
1144                 __pConfirmationPopup->AddActionListener(*this);
1145                 __pConfirmationPopup->setMessage(message);
1146                 __pConfirmationPopup->Show();
1147         }
1148 }