From 6d4f2dcc7cbba771e9d9b00de50368db4a88ef1b Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Fri, 8 Jul 2016 17:08:47 +0200 Subject: Resolves: tdf#100452 class Date full (BCE,CE) proleptic Gregorian calendar ... implementing signed years with year 0 gap. Date(31,12,-1) last day BCE Date(1,1,1) first day CE New class Date member functions: * AddYears(sal_Int16) to be used instead of aDate.SetYear(aDate.GetYear()+sal_Int16) to handle year 0 gap. * convenience GetNextYear() to be used insted of GetYear()+1 * convenience GetPrevYear() to be used insted of GetYear()-1 * AddMonths(sal_Int32) * operator=(const css::util::Date&) New class DateTime member functions: * operator=(const css::util::DateTime&) Made some conversion ctors explicit, specifically Date(sal_Int32) Adapted hopefully all places that used a sal_uInt16 year to use sal_Int16 where appropriate. Eliminated some quirks in date handling found on the fly. Added era handling to i18npool icu calendar setting interface, which missing was responsible for 0001-01-01 entered in Calc being set as -0001-01-01, hence subtracting one day resulted in -0002-12-31. Change-Id: I77b39fba9599ebd5067d7864f6c9ebe01f6f578f Reviewed-on: https://gerrit.libreoffice.org/27049 Reviewed-by: Eike Rathke Tested-by: Jenkins --- include/editeng/flditem.hxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/editeng/flditem.hxx') diff --git a/include/editeng/flditem.hxx b/include/editeng/flditem.hxx index 649167a20118..fd01faed6d83 100644 --- a/include/editeng/flditem.hxx +++ b/include/editeng/flditem.hxx @@ -106,7 +106,7 @@ enum SvxDateFormat { SVXDATEFORMAT_APPDEFAULT = 0, // Set as in App class EDITENG_DLLPUBLIC SvxDateField : public SvxFieldData { - sal_uInt32 nFixDate; + sal_Int32 nFixDate; SvxDateType eType; SvxDateFormat eFormat; @@ -118,7 +118,7 @@ public: SvxDateType eType = SVXDATETYPE_VAR, SvxDateFormat eFormat = SVXDATEFORMAT_STDSMALL ); - sal_uInt32 GetFixDate() const { return nFixDate; } + sal_Int32 GetFixDate() const { return nFixDate; } void SetFixDate( const Date& rDate ) { nFixDate = rDate.GetDate(); } SvxDateType GetType() const { return eType; } -- cgit