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.
19 /*@file: IntEditHistoryListForm
20 *@brief: This class defines EditHistoryListForm used to edit the history scene
24 #include <FAppUiApp.h>
26 #include "IntCommonLib.h"
27 #include "IntEditHistoryListForm.h"
28 #include "IntFaviconManager.h"
29 #include "IntHistoryPresentationModel.h"
30 #include "IntNotificationPanel.h"
31 #include "IntSceneRegister.h"
34 using namespace Tizen::App;
35 using namespace Tizen::Base;
36 using namespace Tizen::Base::Collection;
37 using namespace Tizen::Base::Runtime;
38 using namespace Tizen::Locales;
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::System;
45 const int EditHistoryListForm::IDA_TABBAR_ITEM_1 = 101;
46 const int EditHistoryListForm::IDA_TABBAR_ITEM_2 = 102;
47 const int EditHistoryListForm::IDA_BUTTON_NEXT_FORM = 103;
48 const int EditHistoryListForm::IDA_FORMAT_ICON = 104;
49 const int EditHistoryListForm::IDA_FORMAT_TITLE = 105;
50 const int EditHistoryListForm::IDA_FORMAT_URL = 106;
51 const int EditHistoryListForm::IDA_SELECT_ALL_CHECKED = 107;
52 const int EditHistoryListForm::IDA_SELECT_ALL_UNCHECKED = 108;
53 const int EditHistoryListForm::IDA_DELETE_HISTORY = 109;
54 const int EditHistoryListForm::IDA_CANCEL = 110;
57 EditHistoryListForm::EditHistoryListForm(void)
61 ,__pSelectAllCheck(null)
62 ,__pSelectedLabel(null)
64 ,__isNoHistoryPresent(true)
66 ,__pConfirmationPopup(null)
70 EditHistoryListForm::~EditHistoryListForm(void)
72 AppLog("EditHistoryListForm::~EditHistoryListForm called");
74 if (__pGroupData != null)
76 AppLog("removing __pGroupData");
77 __pGroupData->RemoveAll(false);
83 EditHistoryListForm::Initialize(void)
85 Construct(L"IDL_EDIT_HISTORY_LIST");
91 EditHistoryListForm::OnInitializing(void)
95 SetFormBackEventListener(this);
97 AppLogDebug("EditHistoryListForm::OnInitializing");
98 SetFormStyle(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR | FORM_STYLE_HEADER | FORM_STYLE_FOOTER);
100 __fontSize = CommonUtil::GetFontSize();
102 Header* pHeader = GetHeader();
109 pHeader->SetTitleText(CommonUtil::GetString("IDS_BR_SK_DELETE_ABB"));
111 GetFooter()->AddActionEventListener(*this);
112 AddOrientationEventListener(*this);
114 SceneManager::GetInstance()->AddSceneEventListener(IDSCN_EDIT_HISTORY_LIST, *this);
115 __pSelectedLabel = static_cast< Label* >(GetControl(L"IDC_LABEL1"));
117 if (__pSelectedLabel == null)
122 //selectedText.Append(L"\x200E"); // LEFT-TO-RIGHT MARK
123 //selectedText.Append(L"(0)");
124 selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , 0);
126 __pSelectedLabel->SetText(selectedText);
128 __pSelectAllCheck = static_cast< CheckButton* >(GetControl(L"IDC_SELECT_ALL",true));
130 if (__pSelectAllCheck != null)
132 __pSelectAllCheck->SetActionId(IDA_SELECT_ALL_CHECKED, IDA_SELECT_ALL_UNCHECKED);
133 __pSelectAllCheck->AddActionEventListener(*this);
140 __pListView = static_cast< GroupedListView* >(GetControl(L"IDC_GROUPEDLISTVIEW1"));
141 if( __pListView != NULL)
143 __pListView->SetItemProvider(*this);
144 __pListView->AddGroupedListViewItemEventListener(*this);
151 __pTimer = new (std::nothrow) Timer();
152 r = __pTimer->Construct(*this);
158 EditHistoryListForm::OnTerminating(void)
160 result r = E_SUCCESS;
166 EditHistoryListForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
169 SceneManager* pSceneManager = SceneManager::GetInstance();
171 if (pSceneManager == null)
178 case IDA_TABBAR_ITEM_1:
180 result r = pSceneManager->GoBackward(BackwardSceneTransition());
183 AppLogDebug("EditHistoryListForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));
189 case IDA_SELECT_ALL_CHECKED:
191 int selectedCount = 0;
192 for (int groupIndex = 0 ; __pGroupData != null && groupIndex < __pGroupData->GetCount() ; groupIndex ++)
194 GroupItemClass* pGClass = dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex));
199 for (int itemIndex = 0 ; itemIndex < pGClass->__pData->GetCount() ; itemIndex ++)
202 __pListView->SetItemChecked(groupIndex,itemIndex,true);
205 /*selectedText.Append(L"\x200E"); // LEFT-TO-RIGHT MARK
206 selectedText.Append(L"(");
207 selectedText.Append(selectedCount);
208 selectedText.Append(L")");*/
210 if (selectedCount >1)
212 selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_POP_PD_ITEMS_SELECTED").GetPointer() , selectedCount);
216 selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , selectedCount);
219 __selectedCount = selectedCount;
221 __pSelectedLabel->SetText(selectedText);
222 __pSelectedLabel->Invalidate(true);
224 if(__selectedCount > 0)
226 GetFooter()->SetItemEnabled(0, true);
227 GetFooter()->Invalidate(true);
230 __pListView->Invalidate(true);
234 case IDA_SELECT_ALL_UNCHECKED:
236 for (int groupIndex = 0 ; __pGroupData != null && groupIndex < __pGroupData->GetCount() ; groupIndex ++)
238 GroupItemClass* pGroupItemClass = dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex));
239 if(pGroupItemClass == null)
243 for (int itemIndex = 0 ; itemIndex < pGroupItemClass->__pData->GetCount() ; itemIndex ++)
245 __pListView->SetItemChecked(groupIndex,itemIndex,false);
248 //selectedText.Append(L"\x200E"); // LEFT-TO-RIGHT MARK
249 //selectedText.Append(L"(0)");
250 selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , 0);
252 __pSelectedLabel->SetText(selectedText);
254 __pSelectedLabel->Invalidate(true);
256 GetFooter()->SetItemEnabled(0, false);
257 GetFooter()->Invalidate(true);
259 __pListView->Invalidate(true);
262 case IDA_DELETE_HISTORY:
264 if (!__pConfirmationPopup)
266 String closeWarning = CommonUtil::GetString(L"IDS_BR_SK3_DELETE");
267 __pConfirmationPopup = new(std::nothrow) ConfirmationPopup();
268 __pConfirmationPopup->Initialize();
270 __pConfirmationPopup->RemoveActionListener(*this);
271 __pConfirmationPopup->AddActionListener(*this);
272 __pConfirmationPopup->setMessage(closeWarning);
273 __pConfirmationPopup->Show();
277 if(__pConfirmationPopup)
279 __pConfirmationPopup->SetShowState(false);
280 __pConfirmationPopup->Show();
281 delete __pConfirmationPopup;
282 __pConfirmationPopup = null;
287 ArrayList* pArrayList = new(std::nothrow) ArrayList();
292 pArrayList->Construct();
293 for (int groupIndex = 0 ; __pGroupData != null && groupIndex < __pGroupData->GetCount() ; groupIndex ++)
295 GroupItemClass* pGroupItemClass = dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex));
297 if (pGroupItemClass == null || pGroupItemClass->__pData == null)
299 AppLogDebug(" pGroupItemClass || __pData is null");
302 itemCount = pGroupItemClass->__pData->GetCount();
303 for (int itemIndex = 0 ; itemIndex < itemCount ; itemIndex++)
305 bool ret = __pListView->IsItemChecked(groupIndex,itemIndex);
310 AppLog("deleting history for groupId %d, item %d",groupIndex,itemIndex);
312 History* pHistory = dynamic_cast< History* >(pGroupItemClass->__pData->GetAt(itemIndex));
317 pArrayList->Add(*new(std::nothrow) String(pHistory->GetHistoryId()));
322 HistoryPresentationModel::GetInstance()->DeleteMultipleHistory(pArrayList);
324 if (pArrayList != null)
326 pArrayList->RemoveAll(true);
330 if(__pGroupData != null)
332 groupCount = __pGroupData->GetCount();
334 for(int groupIndex = 0 ; groupIndex < groupCount ; groupIndex ++ )
336 counter = __pListView->GetItemCountAt(groupIndex);
338 for(int index = 0 ; index < counter ; index++)
340 if(__pListView->IsItemChecked( groupIndex,index ) == true)
342 __pListView->SetItemChecked(groupIndex,index,false);
348 __pSelectAllCheck->SetSelected(false);
350 GetFooter()->SetItemEnabled(0,false);
351 GetFooter()->Invalidate(true);
352 //selectedText.Append(L"\x200E"); // LEFT-TO-RIGHT MARK
353 // selectedText.Append(L"(0)");
354 selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , 0);
355 __pSelectedLabel->SetText(selectedText);
357 __pSelectedLabel->Invalidate(true);
358 if (__pListView != null)
360 __pListView->UpdateList();
363 NotificationPanel* pNotification = new (std::nothrow) NotificationPanel(*this);
364 String notification = CommonUtil::GetString(L"IDS_BR_POP_DELETED");
365 pNotification->SetText(notification);
366 pNotification->ShowNotification();
367 if(__pConfirmationPopup)
369 delete __pConfirmationPopup;
370 __pConfirmationPopup = null;
377 if( __pTimer != NULL)
381 result r = pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_HISTORY_LIST, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
384 AppLogDebug("EditHistoryListForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));
396 EditHistoryListForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
398 SceneManager* pSceneManager = SceneManager::GetInstance();
400 if (pSceneManager == null)
405 result r = pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_HISTORY_LIST, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
408 AppLogDebug("EditHistoryListForm::OnFormBackRequested Failed to GoBackward %s",GetErrorMessage(r));
414 EditHistoryListForm::CreateGroupItem(int groupIndex, int itemWidth)
416 AppLogDebug("EditHistoryListForm::CreateGroupItem");
417 result r = E_FAILURE;
421 GroupItem* pItem = null;
424 GroupItemClass* pGroupItemClass = dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex));
425 if(pGroupItemClass == null)
427 pItem = new(std::nothrow) GroupItem();
434 if ( pGroupItemClass->__pData == null || pGroupItemClass->__pData->GetCount() == 0)
436 r = pItem->Construct(Dimension(itemWidth, 0));
440 r = pItem->Construct(Dimension(itemWidth, 48));
443 text = pGroupItemClass->__titleText;
447 if (pGroupItemClass->__titleText == CommonUtil::GetString(L"IDS_COM_BODY_TODAY") || pGroupItemClass->__titleText == CommonUtil::GetString(L"IDS_COM_BODY_YESTERDAY"))
449 Calendar* pGregorianCalendar = Calendar::CreateInstanceN(CALENDAR_GREGORIAN);
450 if (pGregorianCalendar != NULL)
452 pGregorianCalendar->SetTimeField(TIME_FIELD_YEAR, pGroupItemClass->__startTime.GetYear());
453 pGregorianCalendar->SetTimeField(TIME_FIELD_MONTH, pGroupItemClass->__startTime.GetMonth());
454 pGregorianCalendar->SetTimeField(TIME_FIELD_DAY_OF_MONTH, pGroupItemClass->__startTime.GetDay());
455 dayOfWeek = pGregorianCalendar->GetTimeField(TIME_FIELD_DAY_OF_WEEK);
457 if (pGregorianCalendar != NULL)
459 delete pGregorianCalendar;
466 r = text.Append(CommonUtil::GetString(L"IDS_COM_BODY_SUN"));
467 AppLog("dayOfWeek Append Result %s",GetErrorMessage(r));
471 r = text.Append(CommonUtil::GetString(L"IDS_COM_BODY_MON"));
472 AppLog("dayOfWeek Append Result %s",GetErrorMessage(r));
476 r = text.Append(CommonUtil::GetString(L"IDS_COM_BODY_TUE"));
477 AppLog("dayOfWeek Append Result %s",GetErrorMessage(r));
481 r = text.Append(CommonUtil::GetString(L"IDS_COM_BODY_WED"));
482 AppLog("dayOfWeek Append Result %s",GetErrorMessage(r));
486 AppLog("dayOfWeek Append Result yoyo");
487 r = text.Append(CommonUtil::GetString(L"IDS_COM_BODY_THU"));
488 AppLog("dayOfWeek Append Result %s",GetErrorMessage(r));
492 text.Append(CommonUtil::GetString(L"IDS_COM_BODY_FRI"));
496 text.Append(CommonUtil::GetString(L"IDS_COM_BODY_SAT"));
506 if (pGroupItemClass->__titleText != L"Older")
508 text.Append(pGroupItemClass->__startTime.GetDay());
510 strMonth = pGroupItemClass->__startTime.GetMonth();
511 month = GetMonth(strMonth);
519 if (pGroupItemClass->__titleText == L"Last week" || pGroupItemClass->__titleText == L"Two weeks ago" || pGroupItemClass->__titleText == L"Three weeks ago" || pGroupItemClass->__titleText == L"Four weeks ago" || pGroupItemClass->__titleText == L"Last month" || pGroupItemClass->__titleText == L"Older")
522 text.Append(pGroupItemClass->__endTime.GetDay());
524 strMonth = pGroupItemClass->__endTime.GetMonth();
525 month = GetMonth(strMonth);
530 AppLogDebug("startTime day = %d month = %d year = %d",pGroupItemClass->__startTime.GetDay(),pGroupItemClass->__startTime.GetMonth(),pGroupItemClass->__startTime.GetYear());
532 pItem->SetElement(text, null);
533 pItem->SetTextSize(32);
539 EditHistoryListForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
541 AppLogDebug("EditHistoryListForm::CreateItem");
542 result r = E_FAILURE;
543 const int bookmarkBtnWidth = 64;
545 if (__pGroupData == null)
550 CustomItem* pItem = new(std::nothrow) CustomItem();
555 GroupItemClass* pGroupItemClass = dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex));
557 if (pGroupItemClass == null)
563 History* pHistory = dynamic_cast< History* >(pGroupItemClass->__pData->GetAt(itemIndex));
564 if ( pHistory == NULL )
569 Bitmap* pBitmap = null;
571 r = pItem->Construct(Tizen::Graphics::Dimension(itemWidth, 128 + (__fontSize - 44)), LIST_ANNEX_STYLE_MARK);
575 pBitmap = pHistory->GetFavIconBitmap();
578 pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
583 pItem->AddElement(Rectangle(16, 26 + (__fontSize - 44)/2, 60, 60), IDA_FORMAT_ICON, *pBitmap, null);
586 r = pItem->AddElement(Rectangle(92, 4, GetClientAreaBounds().width - 96 - 32 -64 -32, 60 + (__fontSize - 44)), IDA_FORMAT_TITLE, pHistory->GetHistoryTitle(), __fontSize,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true);
590 AppLogException("CreateItem failed with %s", GetErrorMessage(r));
594 pItem->AddElement(Rectangle(92, 68 + (__fontSize - 44), GetClientAreaBounds().width - 108 - 32 - bookmarkBtnWidth - 32, 52), IDA_FORMAT_URL, pHistory->GetHistoryUrl(),32,CUSTOM_COLOR_GREY,CUSTOM_COLOR_GREY,CUSTOM_COLOR_GREY,true);
600 EditHistoryListForm::DeleteGroupItem(int groupIndex, GroupItem* pItem, int itemWidth)
603 AppLogDebug("EditHistoryListForm::DeleteGroupItem");
605 if (__pGroupData == null)
618 EditHistoryListForm::DeleteItem(int groupIndex, int itemIndex, ListItemBase* pItem, int itemWidth)
621 if (__pGroupData == null)
626 GroupItemClass* pGroupItemClass = dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex));
627 if (pGroupItemClass == null)
638 EditHistoryListForm::GetGroupCount(void)
640 result r = E_FAILURE;
641 AppLogDebug("EditHistoryListForm::GetGroupCount");
643 __isNoHistoryPresent = true;
648 //HistoryPresentationModel::GetInstance()->GetHistoryCount(count);
651 startTime.SetValue(0, 1, 1, 0, 0, 0);
653 SystemTime::GetCurrentTime(endTime);
654 endTime.SetValue(endTime.GetYear(), endTime.GetMonth(), endTime.GetDay(), 23,59,59);
656 r = HistoryPresentationModel::GetInstance()->GetHistoryCountWithTimeRange(startTime ,endTime, count);
660 __isNoHistoryPresent = false;
661 AppLogDebug("the value of isNoHistoryPresent %d",__isNoHistoryPresent);
662 __pTimer->Start(1000);
663 __pSelectAllCheck->SetShowState(false);
664 __pSelectedLabel->SetShowState(false);
668 __isNoHistoryPresent = true;
669 __pSelectAllCheck->SetShowState(true);
670 __pSelectedLabel->SetShowState(true);
672 __pSelectAllCheck->Invalidate(true);
673 __pSelectedLabel->Invalidate(false);
674 GetFooter()->Invalidate(true);
676 if (__pGroupData != null)
678 AppLogDebug("GetGroupCount returning %d",__pGroupData->GetCount());
679 count = __pGroupData->GetCount();
683 AppLogDebug("GetGroupCount returning 0");
691 EditHistoryListForm::GetItemCount(int groupIndex)
693 AppLogDebug("EditHistoryListForm::GetItemCount");
694 result r = E_FAILURE;
697 if (__pGroupData == null)
699 AppLogDebug("EditHistoryListForm::GetItemCount returning 0");
703 GroupItemClass* pGroupItemClass = dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex));
705 if (pGroupItemClass == null)
707 AppLogDebug("EditHistoryListForm::GetItemCount returning 0");
712 r = HistoryPresentationModel::GetInstance()->GetHistoryCountWithTimeRange(pGroupItemClass->__startTime,pGroupItemClass->__endTime,count);
716 AppLogDebug("EditHistoryListForm::GetItemCount returning 0");
720 if (pGroupItemClass->__pData != null)
722 pGroupItemClass->__pData->RemoveAll(false);
723 delete pGroupItemClass->__pData;
725 pGroupItemClass->__pData = new(std::nothrow) Collection::ArrayList();
726 pGroupItemClass->__pData->Construct();
727 AppLog("Starttime %ls endtime %ls",pGroupItemClass->__startTime.ToString().GetPointer(),pGroupItemClass->__endTime.ToString().GetPointer());
728 HistoryPresentationModel::GetInstance()->GetHistoryWithTimeRange(pGroupItemClass->__startTime,pGroupItemClass->__endTime, 0, count, *pGroupItemClass->__pData);
729 AppLogDebug("Count = %d ", count);
731 if (__pGroupData == null)
733 AppLogDebug("EditHistoryListForm::GetItemCount returning 0");
739 if (pGroupItemClass == null || pGroupItemClass->__pData == null)
741 AppLogDebug("EditHistoryListForm::GetItemCount returning 0");
746 AppLogDebug("EditHistoryListForm::GetItemCount returning %d for %d title %ls",pGroupItemClass->__pData->GetCount(),groupIndex,pGroupItemClass->__titleText.GetPointer());
747 return pGroupItemClass->__pData->GetCount();
752 EditHistoryListForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
753 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
755 AppLogDebug("EditHistoryListForm::OnSceneActivatedN");
758 String selectedText = L"";
760 if(__pGroupData != null)
762 groupCount = __pGroupData->GetCount();
764 for(int groupIndex = 0 ; groupIndex < groupCount ; groupIndex ++ )
766 count = __pListView->GetItemCountAt(groupIndex);
768 for(int index = 0 ; index < count ; index++)
770 if(__pListView->IsItemChecked( groupIndex,index ) == true)
772 __pListView->SetItemChecked(groupIndex,index,false);
777 if (__pListView != null)
779 __pListView->UpdateList();
781 __pSelectAllCheck->SetSelected(false);
783 selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , __selectedCount);
784 __pSelectedLabel->SetText(selectedText);
785 __pSelectedLabel->Invalidate(true);
786 GetFooter()->SetItemEnabled(0, false);
791 EditHistoryListForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
792 const Tizen::Ui::Scenes::SceneId& nextSceneId)
794 AppLogDebug("EditHistoryListForm::OnSceneDeactivated");
798 EditHistoryListForm::OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
804 EditHistoryListForm::OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus status)
806 AppLogDebug("EditHistoryListForm::OnGroupedListViewItemStateChanged entered");
810 if (status == LIST_ITEM_STATUS_UNCHECKED)
819 if (__selectedCount == 0)
821 GetFooter()->SetItemEnabled(0,false);
825 GetFooter()->SetItemEnabled(0,true);
827 GetFooter()->Invalidate(true);
830 if (__selectedCount >1)
832 selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_POP_PD_ITEMS_SELECTED").GetPointer() , __selectedCount);
836 selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , __selectedCount);
839 __pSelectedLabel->SetText(selectedText);
840 __pSelectedLabel->Invalidate(true);
842 if (status == LIST_ITEM_STATUS_UNCHECKED)
844 __pSelectAllCheck->SetSelected(false);
846 else if (status == LIST_ITEM_STATUS_CHECKED && __pSelectAllCheck->IsSelected() == false && __pGroupData != null)
848 int itemCount = __pGroupData->GetCount();
849 for (int groupIndex = 0 ; groupIndex < itemCount ; groupIndex ++)
851 GroupItemClass* pGClass = (dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex)));
856 for (int itemIndex = 0 ; itemIndex < pGClass->__pData->GetCount() ; itemIndex ++)
858 bool ret = __pListView->IsItemChecked(groupIndex,itemIndex);
862 __pSelectAllCheck->SetSelected(false);
867 __pSelectAllCheck->SetSelected(true);
873 EditHistoryListForm::OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, Tizen::Ui::Controls::SweepDirection direction)
879 EditHistoryListForm::GetMonth(int month)
885 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_JAN"));;
888 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_FEB"));;
891 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_MAR"));;
894 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_APR"));;
897 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_MAY"));;
900 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_JUNE"));;
903 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_JUL"));;
906 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_AUG"));;
909 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_SEP"));;
912 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_OCT"));;
915 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_NOV"));;
918 monthValue.Append(CommonUtil::GetString(L"IDS_COM_BODY_DEC"));;
928 EditHistoryListForm::CreateGroupItems(void)
930 AppLogDebug("EditHistoryListForm::createGroupItems entered");
931 if (__pGroupData != null)
933 __pGroupData->RemoveAll(true);
938 if (__pGroupData == null)
940 __pGroupData = new(std::nothrow) Collection::ArrayList();
941 __pGroupData->Construct();
944 DateTime currentTime;
946 HistoryPresentationModel::GetCurrentDateTime(currentTime);
947 GroupItemClass* pGroupItemClass = new(std::nothrow) GroupItemClass();
948 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_TODAY");
949 pGroupItemClass->__endTime = currentTime;
950 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), currentTime.GetDay());
951 __pGroupData->Add(*pGroupItemClass);
953 Calendar* pGregorianCalendar = Calendar::CreateInstanceN(CALENDAR_GREGORIAN);
955 if (pGregorianCalendar != NULL)
957 pGregorianCalendar->SetTimeField(TIME_FIELD_YEAR, currentTime.GetYear());
958 pGregorianCalendar->SetTimeField(TIME_FIELD_MONTH, currentTime.GetMonth());
959 pGregorianCalendar->SetTimeField(TIME_FIELD_DAY_OF_MONTH, currentTime.GetDay());
960 dayOfWeek = pGregorianCalendar->GetTimeField(TIME_FIELD_DAY_OF_WEEK);
961 delete pGregorianCalendar;
968 pGroupItemClass = new(std::nothrow) GroupItemClass();
969 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_WEEK");
970 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), currentTime.GetDay());
971 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
972 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 6 - 1);
973 __pGroupData->Add(*pGroupItemClass);
977 pGroupItemClass = new(std::nothrow) GroupItemClass();
978 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_WEEK");
979 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), currentTime.GetDay());
980 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
981 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 7 - 1);
982 __pGroupData->Add(*pGroupItemClass);
986 pGroupItemClass = new(std::nothrow) GroupItemClass();
987 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_YESTERDAY");
988 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), currentTime.GetDay());
989 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
990 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 1 - 1);
991 __pGroupData->Add(*pGroupItemClass);
992 pGroupItemClass = new(std::nothrow) GroupItemClass();
993 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_WEEK");
994 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
995 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 1 - 1);
996 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
997 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 8 - 1);
998 __pGroupData->Add(*pGroupItemClass);
1002 pGroupItemClass = new(std::nothrow) GroupItemClass();
1003 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_YESTERDAY");
1004 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), currentTime.GetDay());
1005 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1006 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 1 - 1);
1007 __pGroupData->Add(*pGroupItemClass);
1009 pGroupItemClass = new(std::nothrow) GroupItemClass();
1010 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_MON");
1011 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1012 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 1 - 1);
1013 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1014 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 2 - 1);
1015 __pGroupData->Add(*pGroupItemClass);
1017 pGroupItemClass = new(std::nothrow) GroupItemClass();
1018 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_WEEK");
1019 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1020 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 2 - 1);
1021 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1022 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 9 - 1);
1023 __pGroupData->Add(*pGroupItemClass);
1027 pGroupItemClass = new(std::nothrow) GroupItemClass();
1028 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_YESTERDAY");
1029 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), currentTime.GetDay());
1030 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1031 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 1 - 1);
1032 __pGroupData->Add(*pGroupItemClass);
1034 pGroupItemClass = new(std::nothrow) GroupItemClass();
1035 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_TUE");
1036 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1037 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 1 - 1);
1038 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1039 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 2 - 1);
1040 __pGroupData->Add(*pGroupItemClass);
1042 pGroupItemClass = new(std::nothrow) GroupItemClass();
1043 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_MON");
1044 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1045 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 2 - 1);
1046 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1047 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 3 - 1);
1048 __pGroupData->Add(*pGroupItemClass);
1050 pGroupItemClass = new(std::nothrow) GroupItemClass();
1051 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_WEEK");
1052 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1053 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 3 - 1);
1054 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1055 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 10 - 1);
1056 __pGroupData->Add(*pGroupItemClass);
1060 pGroupItemClass = new(std::nothrow) GroupItemClass();
1061 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_YESTERDAY");
1062 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), currentTime.GetDay());
1063 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1064 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 1 - 1);
1065 __pGroupData->Add(*pGroupItemClass);
1067 pGroupItemClass = new(std::nothrow) GroupItemClass();
1068 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_WED");
1069 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1070 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 1 - 1);
1071 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1072 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 2 - 1);
1073 __pGroupData->Add(*pGroupItemClass);
1075 pGroupItemClass = new(std::nothrow) GroupItemClass();
1076 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_TUE");
1077 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1078 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 2 - 1);
1079 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1080 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 3 - 1);
1081 __pGroupData->Add(*pGroupItemClass);
1083 pGroupItemClass = new(std::nothrow) GroupItemClass();
1084 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_MON");
1085 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1086 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 3 - 1);
1087 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1088 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 4 - 1);
1089 __pGroupData->Add(*pGroupItemClass);
1091 pGroupItemClass = new(std::nothrow) GroupItemClass();
1092 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_WEEK");
1093 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1094 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 4 - 1);
1095 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1096 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 11 - 1);
1097 __pGroupData->Add(*pGroupItemClass);
1101 pGroupItemClass = new(std::nothrow) GroupItemClass();
1102 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_YESTERDAY");
1103 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), currentTime.GetDay());
1104 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1105 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 1 - 1);
1106 __pGroupData->Add(*pGroupItemClass);
1108 pGroupItemClass = new(std::nothrow) GroupItemClass();
1109 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_THU");
1110 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1111 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 1 - 1);
1112 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1113 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 2 - 1);
1114 __pGroupData->Add(*pGroupItemClass);
1116 pGroupItemClass = new(std::nothrow) GroupItemClass();
1117 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_WED");
1118 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1119 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 2 - 1);
1120 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1121 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 3 - 1);
1122 __pGroupData->Add(*pGroupItemClass);
1124 pGroupItemClass = new(std::nothrow) GroupItemClass();
1125 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_TUE");
1126 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1127 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 3 - 1);
1128 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1129 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 4 - 1);
1130 __pGroupData->Add(*pGroupItemClass);
1132 pGroupItemClass = new(std::nothrow) GroupItemClass();
1133 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_COM_BODY_MON");
1134 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1135 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 4 - 1);
1136 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1137 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 5 - 1);
1138 __pGroupData->Add(*pGroupItemClass);
1140 pGroupItemClass = new(std::nothrow) GroupItemClass();
1141 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_WEEK");
1142 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1143 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 5 - 1);
1144 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1145 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 12 - 1);
1146 __pGroupData->Add(*pGroupItemClass);
1152 int day = currentTime.GetDay();
1156 pGroupItemClass = new(std::nothrow) GroupItemClass();
1157 pGroupItemClass->__titleText = L"Two weeks ago";
1158 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1159 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 7 - dayOfWeek + 2 - 1);
1160 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1161 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 14 - dayOfWeek + 2 - 1);
1162 __pGroupData->Add(*pGroupItemClass);
1166 pGroupItemClass = new(std::nothrow) GroupItemClass();
1167 pGroupItemClass->__titleText = L"Two weeks ago";
1168 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1169 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 7 - dayOfWeek + 2 - 1);
1170 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1171 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 14 - dayOfWeek + 2 - 1);
1172 __pGroupData->Add(*pGroupItemClass);
1174 pGroupItemClass = new(std::nothrow) GroupItemClass();
1175 pGroupItemClass->__titleText = L"Three weeks ago";
1176 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1177 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 14 - dayOfWeek + 2 - 1);
1178 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1179 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 21 - dayOfWeek + 2 - 1);
1180 __pGroupData->Add(*pGroupItemClass);
1184 pGroupItemClass = new(std::nothrow) GroupItemClass();
1185 pGroupItemClass->__titleText = L"Two weeks ago";
1186 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1187 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 7 - dayOfWeek + 2 - 1);
1188 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1189 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 14 - dayOfWeek + 2 - 1);
1190 __pGroupData->Add(*pGroupItemClass);
1192 pGroupItemClass = new(std::nothrow) GroupItemClass();
1193 pGroupItemClass->__titleText = L"Three weeks ago";
1194 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1195 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 14 - dayOfWeek + 2 - 1);
1196 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1197 pGroupItemClass->__startTime.AddDays(currentTime.GetDay() - 21 - dayOfWeek + 2 - 1);
1198 __pGroupData->Add(*pGroupItemClass);
1200 pGroupItemClass = new(std::nothrow) GroupItemClass();
1201 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_EARLIER_THIS_MONTH");
1202 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1203 pGroupItemClass->__endTime.AddDays(currentTime.GetDay() - 21 - dayOfWeek + 2 - 1);
1204 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1205 __pGroupData->Add(*pGroupItemClass);
1211 pGroupItemClass = new(std::nothrow) GroupItemClass();
1212 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_MONTH");
1213 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1);
1214 pGroupItemClass->__endTime.AddDays(-1);
1215 pGroupItemClass->__startTime.SetValue(currentTime.GetYear(), 1, 1);
1216 pGroupItemClass->__startTime.AddMonths(currentTime.GetMonth() - 1 - 1);
1217 __pGroupData->Add(*pGroupItemClass);
1219 pGroupItemClass = new(std::nothrow) GroupItemClass();
1220 pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_OLDER");
1221 pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),1, 1);
1222 pGroupItemClass->__endTime.AddMonths(currentTime.GetMonth() - 2);
1223 pGroupItemClass->__endTime.AddDays(-1);
1224 pGroupItemClass->__startTime.SetValue(0, 0, 0);
1225 __pGroupData->Add(*pGroupItemClass);
1228 void EditHistoryListForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
1230 if (__pListView != null)
1232 __pListView->UpdateList();
1237 EditHistoryListForm::OnTimerExpired(Timer& timer)
1239 SceneManager* pSceneManager = SceneManager::GetInstance();
1241 if ( pSceneManager != NULL)
1243 pSceneManager->GoBackward(BackwardSceneTransition());