KHolidays Library
astroseasons.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "astroseasons.h"
00023
00024 #include <KLocale>
00025
00026 #include <QtCore/QDate>
00027
00028 using namespace KHolidays;
00029
00030 QString AstroSeasons::seasonNameAtDate( const QDate &date )
00031 {
00032 return seasonName( seasonAtDate( date ) );
00033 }
00034
00035 QString AstroSeasons::seasonName( AstroSeasons::Season season )
00036 {
00037 switch ( season ) {
00038 case JuneSolstice:
00039 return i18n( "June Solstice" );
00040 case DecemberSolstice:
00041 return i18n( "December Solstice" );
00042 case MarchEquinox:
00043 return i18n( "March Equinox" );
00044 case SeptemberEquinox:
00045 return i18n( "September Equinox" );
00046 default:
00047 case None:
00048 return QString();
00049 }
00050 }
00051
00052 AstroSeasons::Season AstroSeasons::seasonAtDate( const QDate &date )
00053 {
00054
00055 Season retSeason = None;
00056
00057 const int year = date.year();
00058
00059 if ( date == QDate( year, 6, 22 ) ) {
00060 return JuneSolstice;
00061 }
00062 if ( date == QDate( year, 12, 22 ) ) {
00063 return DecemberSolstice;
00064 }
00065 if ( date == QDate( year, 3, 22 ) ) {
00066 return MarchEquinox;
00067 }
00068 if ( date == QDate( year, 9, 22 ) ) {
00069 return SeptemberEquinox;
00070 }
00071
00072 return retSeason;
00073 }