TDIS-5429: issue fixed in Editdate.
authorSyed Khaja Moinuddin <moinuddin.s@samsung.com>
Fri, 19 Apr 2013 09:36:06 +0000 (18:36 +0900)
committerSyed Khaja Moinuddin <moinuddin.s@samsung.com>
Fri, 19 Apr 2013 09:38:36 +0000 (18:38 +0900)
Signed-off-by: Syed Khaja Moinuddin <moinuddin.s@samsung.com>
Change-Id: I06a91628b8824b638e4c02c7ee0fbf70b580221d
Signed-off-by: Syed Khaja Moinuddin <moinuddin.s@samsung.com>
src/ui/controls/FUiCtrl_EditDateImpl.cpp

index 4307caf..e03d288 100644 (file)
@@ -221,10 +221,31 @@ _EditDateImpl::GetYear(void) const
 void
 _EditDateImpl::SetDate(const DateTime& date)
 {
-       result r = ValidateYear(date.GetYear());
-       SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[E_INVALID_ARG] Invalid argument is used. year (%d)", date.GetYear());
+       ClearLastResult();
+       SysTryReturnVoidResult(NID_UI_CTRL, (date.GetYear() >= DATETIME_YEAR_MIN && date.GetYear() <= DATETIME_YEAR_MAX), E_INVALID_ARG,
+                       "[E_INVALID_ARG] Invalid argument is used. year (%d).", date.GetYear());
+
+       int minYear = -1;
+       int maxYear = -1;
+
+       GetYearRange(minYear, maxYear);
+
+       DateTime dateTime;
+
+       if (date.GetYear() < minYear)
+       {
+               dateTime.SetValue(minYear, date.GetMonth(), date.GetDay(), date.GetHour(), date.GetMinute(), date.GetSecond());
+       }
+       else if (date.GetYear() > maxYear)
+       {
+               dateTime.SetValue(maxYear, date.GetMonth(), date.GetDay(), date.GetHour(), date.GetMinute(), date.GetSecond());
+       }
+       else
+       {
+               dateTime.SetValue(date);
+       }
 
-       GetCore().SetPropertyDate(Variant(date));
+       GetCore().SetPropertyDate(Variant(dateTime));
        return;
 }