3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.1 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 //!Internet SettingsClearPrivateDataForm class
19 /*@file: IntSettingsClearPrivateDataForm.cpp
20 *@brief: The SettingsClearPrivateDataForm used to create private data scene
24 #include <FAppUiApp.h>
26 #include "IntSettingClearPrivateDataForm.h"
27 #include "IntSceneRegister.h"
28 #include "IntHistoryPresentationModel.h"
29 #include "IntSettingPresentationModel.h"
31 using namespace Tizen::App;
32 using namespace Tizen::Base;
33 using namespace Tizen::Base::Collection;
34 using namespace Tizen::Graphics;
35 using namespace Tizen::Ui;
36 using namespace Tizen::Ui::Controls;
37 using namespace Tizen::Ui::Scenes;
39 const int SettingsClearPrivateDataForm::IDA_FORMAT_TITLE_STRING = 101;
40 const int SettingsClearPrivateDataForm::IDA_BUTTON_DELETE = 102;
41 const int SettingsClearPrivateDataForm::IDA_BUTTON_CANCEL = 103;
43 SettingsClearPrivateDataForm::SettingsClearPrivateDataForm()
49 SettingsClearPrivateDataForm::~SettingsClearPrivateDataForm()
54 SettingsClearPrivateDataForm::Initialize(void)
56 Construct(L"IDL_SETTINGS_CLEAR_PRIVATE_DATA");
57 //SetBackgroundColor(Color::GetColor(COLOR_ID_BLACK));
62 SettingsClearPrivateDataForm::OnInitializing(void)
65 SceneManager* pSceneManager = SceneManager::GetInstance();
66 if (pSceneManager == null)
71 Footer* pFooter = GetFooter();
77 FooterItem deleteButton;
78 FooterItem cancelButton;
80 SetFormStyle(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR | FORM_STYLE_HEADER | FORM_STYLE_FOOTER);
82 r = pSceneManager->AddSceneEventListener(IDSCN_SETTINGS_CLEAR_PRIVATE_DATA, *this);
84 // Setup back event listener
85 SetFormBackEventListener(this);
86 pFooter->AddActionEventListener(*this);
88 __pList = static_cast< ListView* >(GetControl(L"IDC_CLEAR_LISTVIEW"));
91 __pList->SetItemProvider(*this);
92 __pList->AddListViewItemEventListener(*this);
95 AddOrientationEventListener(*this);
97 pFooter->SetStyle(FOOTER_STYLE_BUTTON_ICON);
98 deleteButton.Construct(IDA_BUTTON_DELETE);
99 deleteButton.SetText(L"Delete");
101 pFooter->AddItem(deleteButton);
102 cancelButton.Construct(IDA_BUTTON_CANCEL);
103 cancelButton.SetText(L"Cancel");
105 pFooter->AddItem(cancelButton);
106 pFooter->SetItemEnabled(0, false);
111 SettingsClearPrivateDataForm::OnTerminating(void)
113 result r = E_SUCCESS;
118 SettingsClearPrivateDataForm::OnActionPerformed(const Control& source, int actionId)
120 Footer* pFooter = GetFooter();
121 if ( pFooter == NULL )
126 SceneManager* pSceneManager = SceneManager::GetInstance();
127 if (pSceneManager == null)
133 case IDA_BUTTON_DELETE:
135 AppLog("Delete button is called");
138 if (__pList->IsItemChecked(0) || __pList->IsItemChecked(1) || __pList->IsItemChecked(2) || __pList->IsItemChecked(3) || __pList->IsItemChecked(4))
140 pFooter->SetItemEnabled(0, true);
141 pFooter->Invalidate(true);
143 // Delete the specific index setting
144 if (__pList->IsItemChecked(0) == true)
146 // clear all private data
147 AppLog("Clear all private data");
148 HistoryPresentationModel::GetInstance()->ClearHistory();
149 SettingPresentationModel::GetInstance()->ClearCache();
150 SettingPresentationModel::GetInstance()->ClearCookie();
152 if (__pList->IsItemChecked(1) == true)
155 AppLog("Clear all History data");
156 HistoryPresentationModel::GetInstance()->ClearHistory();
158 if (__pList->IsItemChecked(2) == true)
161 AppLog("Clear all cache data");
162 SettingPresentationModel::GetInstance()->ClearCache();
164 if (__pList->IsItemChecked(3) == true)
167 AppLog("Clear all cookie data");
168 SettingPresentationModel::GetInstance()->ClearCookie();
170 else if (__pList->IsItemChecked(4) == true)
172 // clear saved ID and password
173 AppLog("Clear saved ID and password");
178 pFooter->SetItemEnabled(0, false);
179 pFooter->Invalidate(true);
182 SceneManager::GetInstance()->GoBackward(BackwardSceneTransition());
186 case IDA_BUTTON_CANCEL:
188 AppLog("cancel button is called");
189 SceneManager::GetInstance()->GoBackward(BackwardSceneTransition());
199 SettingsClearPrivateDataForm::OnFormBackRequested(Form& source)
201 SceneManager* pSceneManager = SceneManager::GetInstance();
202 if (pSceneManager == null)
206 pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_SETTINGS, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
210 SettingsClearPrivateDataForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
214 __pList->UpdateList();
220 SettingsClearPrivateDataForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
226 SettingsClearPrivateDataForm::OnListViewContextItemStateChanged(ListView& listView, int index, int elementId, ListContextItemStatus state)
232 SettingsClearPrivateDataForm::OnListViewItemStateChanged(ListView& listView, int index, int elementId, ListItemStatus status)
235 bool checkstatus = __pList->IsItemChecked(index);
241 __pList->SetItemChecked(0, false);
242 __pList->SetItemChecked(1, false);
243 __pList->SetItemChecked(2, false);
244 __pList->SetItemChecked(3, false);
245 __pList->SetItemChecked(4, false);
249 __pList->SetItemChecked(0, true);
250 __pList->SetItemChecked(1, true);
251 __pList->SetItemChecked(2, true);
252 __pList->SetItemChecked(3, true);
253 __pList->SetItemChecked(4, true);
256 if (__pList->IsItemChecked(0) || __pList->IsItemChecked(1) || __pList->IsItemChecked(2) || __pList->IsItemChecked(3) || __pList->IsItemChecked(4))
258 GetFooter()->SetItemEnabled(0, true);
259 GetFooter()->Invalidate(true);
263 GetFooter()->SetItemEnabled(0, false);
264 GetFooter()->Invalidate(true);
270 SettingsClearPrivateDataForm::OnListViewItemSwept(ListView& listView, int index, SweepDirection direction)
276 SettingsClearPrivateDataForm::OnListViewItemLongPressed(ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
282 SettingsClearPrivateDataForm::CreateItem(int index, int itemWidth)
284 Rectangle pagetTitleRect;
285 CustomItem* pItem = new(std::nothrow) CustomItem();
286 ListAnnexStyle style = LIST_ANNEX_STYLE_MARK;
287 pItem->Construct(Tizen::Graphics::Dimension(itemWidth, 112), style);
288 Rectangle screenBounds = GetBounds();
290 pagetTitleRect.SetBounds(screenBounds.x + 15, 38, screenBounds.width - 10, 40);
294 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, L"Select all", 38, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
298 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, L"History", 38, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
302 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, L"Cache", 38, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
306 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, L"Cookie", 38, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
310 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, L"Saved ID and password", 38, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
317 SettingsClearPrivateDataForm::DeleteItem(int index, ListItemBase* pItem, int itemWidth)
325 SettingsClearPrivateDataForm::GetItemCount(void)
331 SettingsClearPrivateDataForm::OnOrientationChanged(const Control& source, OrientationStatus orientationStatus)
335 __pList->UpdateList();