Resolve date bug on ListView.
authorSungWan Kim <sw0726.kim@samsung.com>
Fri, 26 Apr 2013 07:40:48 +0000 (16:40 +0900)
committerSungWan Kim <sw0726.kim@samsung.com>
Fri, 26 Apr 2013 07:40:48 +0000 (16:40 +0900)
Change-Id: I07725639cc368f380d3aba166ee794dbea9458f1
Signed-off-by: SungWan Kim <sw0726.kim@samsung.com>
src/ClEventDeleterForm.cpp
src/ClEventListPresentationModel.cpp
src/ClListPanel.cpp

index fa9dd8e..fcff4dd 100755 (executable)
@@ -401,6 +401,19 @@ EventDeleterForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
                        pItem->AddElement(Rectangle(LEFT_MARGIN, 0, itemWidth - TOTAL_MARGIN, H_ITEM)
                                                                                        , ID_LIST_ITEM_BEFORE_AFTER, string, FONT_SIZE_EVENT_SUB_LIST
                                                                                        , Color(COLOR_TOP_BOTTOM_ITEM_TEXT), Color(COLOR_ITEM_TEXT_PRESSED), Color(COLOR_ITEM_TEXT_PRESSED));
+
+                       if (groupIndex == 0)
+                       {
+                               DateTime minDateTime = Calendarbook::GetMinDateTime();
+                               minDateTime.AddYears(1);
+                               __pGroupedListViewDeleteList->SetItemEnabled(groupIndex, itemIndex, __pPm->GetViewMinRange() > minDateTime);
+                       }
+                       else
+                       {
+                               DateTime maxDateTime = Calendarbook::GetMaxDateTime();
+                               maxDateTime.AddYears(-1);
+                               __pGroupedListViewDeleteList->SetItemEnabled(groupIndex, itemIndex, __pPm->GetViewMaxRange() < maxDateTime);
+                       }
                        return pItem;
                }
                else
@@ -408,6 +421,7 @@ EventDeleterForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
                        groupIndex -= TOP_BOTTOM_ITEM_COUNT;
                }
        }
+       __pGroupedListViewDeleteList->SetItemEnabled(groupIndex, itemIndex, true);
 
        const CalEventInstance* pEvent = __pPm->GetEventWithWholeIndex(groupIndex, itemIndex);
        TryReturn((pEvent != null), null, "[E_SYSTEM] Unable to get event instance.");
@@ -468,6 +482,12 @@ EventDeleterForm::OnGroupedListViewItemStateChanged(GroupedListView& listView, i
                        DateTime startDate = __pPm->GetDateTimeFromGroupIndex(0);
                        DateTime minRange = __pPm->GetViewMinRange();
                        minRange.AddMonths(PREVIOUS_DATE);
+                       DateTime minDateTime = Calendarbook::GetMinDateTime();
+                       minDateTime.AddYears(1);
+                       if (minRange < minDateTime)
+                       {
+                               minRange = minDateTime;
+                       }
 
                        __pPm->SetViewRange(minRange, __pPm->GetViewMaxRange());
                        __pPm->SetViewType(VIEW_TYPE_LIST);
@@ -503,6 +523,12 @@ EventDeleterForm::OnGroupedListViewItemStateChanged(GroupedListView& listView, i
                        int prevGroupCount = __pPm->GetWholeDayCount();
                        DateTime maxRange = __pPm->GetViewMaxRange();
                        maxRange.AddMonths(NEXT_DATE);
+                       DateTime maxDateTime = Calendarbook::GetMaxDateTime();
+                       maxDateTime.AddYears(-1);
+                       if (maxRange > maxDateTime)
+                       {
+                               maxRange = maxDateTime;
+                       }
 
                        __pPm->SetViewRange(__pPm->GetViewMinRange(), maxRange);
                        __pPm->SetViewType(VIEW_TYPE_LIST);
@@ -857,11 +883,13 @@ EventDeleterForm::UpdateSelectedLabel(void)
        int groupCount = GetGroupCount();
        if (groupCount == 0 || (groupCount == 1 && __pPm->GetEventWithWholeIndex(0, 0) == null))
        {
+               AppLogDebug("Select button enable.");
                __pSelectAll->SetEnabled(false);
                __pSelectBeforeToday->SetEnabled(false);
        }
        else
        {
+               AppLogDebug("Select button disable.");
                __pSelectAll->SetEnabled(true);
                __pSelectBeforeToday->SetEnabled(true);
        }
index 67179b9..3a9afa0 100644 (file)
@@ -638,8 +638,12 @@ EventListPresentationModel::SetTodayToCurrentDate(void)
 void
 EventListPresentationModel::SetViewRange(const DateTime& minRange, const DateTime& maxRange)
 {
-       __minRangeOfView = minRange;
-       __maxRangeOfView = maxRange;
+       DateTime minDateTime = Calendarbook::GetMinDateTime();
+       minDateTime.AddYears(1);
+       __minRangeOfView = (minRange > minDateTime) ? minRange : minDateTime;
+       DateTime maxDateTime = Calendarbook::GetMaxDateTime();
+       maxDateTime.AddYears(-1);
+       __maxRangeOfView = (maxRange < maxDateTime) ? maxRange : maxDateTime;
 
        AdjustEventsList();
 }
index 6f43075..a12905e 100644 (file)
@@ -358,8 +358,22 @@ ListPanel::CreateItem(int groupIndex, int itemIndex, int itemWidth)
                pItem->AddElement(Rectangle(LEFT_MARGIN, 0, itemWidth - TOTAL_MARGIN, ITEM_HEIGHT)
                                                                                , ID_LIST_ITEM_BEFORE_AFTER, string, EVENT_SUB_LIST_TEXT_SIZE
                                                                                , Color(COLOR_TOP_BOTTOM_ITEM_TEXT), Color(COLOR_ITEM_TEXT_PRESSED), Color(COLOR_ITEM_TEXT_PRESSED));
+
+               if (groupIndex == 0)
+               {
+                       DateTime minDateTime = Calendarbook::GetMinDateTime();
+                       minDateTime.AddYears(1);
+                       __pGroupedListViewEventsList->SetItemEnabled(groupIndex, itemIndex, __pPm->GetViewMinRange() > minDateTime);
+               }
+               else
+               {
+                       DateTime maxDateTime = Calendarbook::GetMaxDateTime();
+                       maxDateTime.AddYears(-1);
+                       __pGroupedListViewEventsList->SetItemEnabled(groupIndex, itemIndex, __pPm->GetViewMaxRange() < maxDateTime);
+               }
                return pItem;
        }
+       __pGroupedListViewEventsList->SetItemEnabled(groupIndex, itemIndex, true);
 
        const CalEventInstance* pEvent = __pPm->GetEventWithWholeIndex(groupIndex - TOP_BOTTOM_ITEM_COUNT, itemIndex);
        if (pEvent == null)
@@ -440,6 +454,13 @@ ListPanel::OnGroupedListViewItemStateChanged(GroupedListView& listView,
        {
                DateTime minRange = __pPm->GetViewMinRange();
                minRange.AddMonths(PREVIOUS_DATE);
+               DateTime minDateTime = Calendarbook::GetMinDateTime();
+               minDateTime.AddYears(1);
+               if (minRange < minDateTime)
+               {
+                       minRange = minDateTime;
+               }
+
                __pPm->SetViewType(VIEW_TYPE_LIST);
                __pPm->SetViewRange(minRange, __pPm->GetViewMaxRange());
 
@@ -450,6 +471,13 @@ ListPanel::OnGroupedListViewItemStateChanged(GroupedListView& listView,
        {
                DateTime maxRange = __pPm->GetViewMaxRange();
                maxRange.AddMonths(NEXT_DATE);
+               DateTime maxDateTime = Calendarbook::GetMaxDateTime();
+               maxDateTime.AddYears(-1);
+               if (maxRange > maxDateTime)
+               {
+                       maxRange = maxDateTime;
+               }
+
                __pPm->SetViewType(VIEW_TYPE_LIST);
                __pPm->SetViewRange(__pPm->GetViewMinRange(), maxRange);