summaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
authorPraveen Arimbrathodiyil <pravi.a@gmail.com>2009-01-15 04:05:27 -0800
committerPraveen Arimbrathodiyil <pravi.a@gmail.com>2009-01-15 04:05:27 -0800
commit4d51ad945bc6e0ff8ad6e46ecf81b84c43e07565 (patch)
tree2194cfaaa63e6ebb04005d31ea779e42ba76c4eb /calendar
parent4ebd6b0cf5ab8c4cedb845b9e40568feb83a3142 (diff)
downloadRachana.git-4d51ad945bc6e0ff8ad6e46ecf81b84c43e07565.tar.gz
Rachana.git-4d51ad945bc6e0ff8ad6e46ecf81b84c43e07565.tar.xz
Rachana.git-4d51ad945bc6e0ff8ad6e46ecf81b84c43e07565.zip
Fixed circular dependency for leap year
(year calls isLeapYear and isLeapYear calls year)
Diffstat (limited to 'calendar')
-rw-r--r--calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.cpp31
1 files changed, 14 insertions, 17 deletions
diff --git a/calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.cpp b/calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.cpp
index 471db9b..90cb797 100644
--- a/calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.cpp
+++ b/calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.cpp
@@ -162,19 +162,21 @@ int KCalendarSystemIndic::year( const QDate &date ) const
// Saka Year starts on March 22 normally and
// on March 21 in leap years.
- int saka_year, saka_start=22;
- saka_year = KCalendarSystem::year( date ) - KCalendarSystemSaka::get_era_start();
- // kDebug() <<"saka_year" << saka_year;
- if (KCalendarSystemIndic::isLeapYear(saka_year)) {
- saka_start=21;
- }
- if ((date.month() <=3) && (date.day() < saka_start)) {
- --saka_year;
- }
+ int year, month, day, saka_year, saka_start=22;
+ year = date.year();
+ month = date.month();
+ day = date.day();
+ saka_year = year - KCalendarSystemSaka::get_era_start();
+
+ if ( month > 3 )
+ return saka_year;
+ if ( month == 3 && day >= saka_start )
+ return saka_year;
- // kDebug() <<"saka_year just before return" << saka_year;
+ // In a leap year Saka year start on March 21
+ if ( month == 3 && day == 21 && QDate::isLeapYear( year ) )
return saka_year;
-
+ return --saka_year;
}
int KCalendarSystemIndic::month( const QDate &date ) const
@@ -251,7 +253,6 @@ QDate KCalendarSystemIndic::addMonths( const QDate &date, int nmonths ) const
saka_year = KCalendarSystemIndic::year( date );
saka_month = KCalendarSystemIndic::month( date );
saka_day = KCalendarSystemIndic::day( date );
- kDebug() << "before" << saka_year << saka_month << saka_day;
change = saka_month + nmonths;
if (change <= 0 ) {
saka_year -= ( abs(change)/12 + 1 );
@@ -263,10 +264,7 @@ QDate KCalendarSystemIndic::addMonths( const QDate &date, int nmonths ) const
} else {
saka_month += nmonths;
}
- kDebug() << "after" << saka_year << saka_month << saka_day << KCalendarSystemSaka::SakaToJD(saka_year, saka_month, saka_day);
- QDate test = QDate::fromJulianDay( KCalendarSystemSaka::SakaToJD(saka_year, saka_month, saka_day) );
- kDebug() << "year" << KCalendarSystemIndic::year (test);
- return QDate::fromJulianDay( KCalendarSystemSaka::SakaToJD(saka_year, saka_month, saka_day) );
+ return QDate::fromJulianDay( KCalendarSystemSaka::SakaToJD(saka_year, saka_month, saka_day) );
}
QDate KCalendarSystemIndic::addDays( const QDate &date, int ndays ) const
@@ -350,7 +348,6 @@ int KCalendarSystemIndic::weekNumber( const QDate &date, int * yearNum ) const
bool KCalendarSystemIndic::isLeapYear( int year ) const
{
- // kDebug() << "year" << year;
return QDate::isLeapYear( year + 78);
}