22 #include "holidayparserdriver_p.h"
24 #include <KCalendarSystem>
27 using namespace KHolidays;
31 m_filePath = filePath;
37 delete m_parseCalendar;
42 return m_fileCountryCode;
47 return m_fileLanguageCode;
57 return m_fileDescription;
61 Holiday::MultidayMode multidayMode )
63 m_multidayMode = multidayMode;
65 if ( startDate.isNull() || endDate.isNull() ) {
68 m_requestStart = startDate;
69 m_requestEnd = endDate;
71 qSort( m_resultList );
76 Holiday::MultidayMode multidayMode )
78 return parseHolidays( requestDate, requestDate, multidayMode );
82 Holiday::MultidayMode multidayMode )
86 if ( !m_parseCalendar->isValid( calendarYear, 1, 1 ) ) {
90 QDate startDate, endDate;
91 m_parseCalendar->setDate( startDate, calendarYear, 1, 1 );
92 endDate = startDate.addDays( m_parseCalendar->daysInYear( startDate ) - 1 );
99 kDebug() << errorMessage;
112 delete m_parseCalendar;
113 m_parseCalendar = KCalendarSystem::create( calendarType );
121 if ( m_requestStart > m_parseCalendar->latestValidDate() ||
122 m_requestEnd < m_parseCalendar->earliestValidDate() ) {
124 m_parseStartYear = 0;
125 m_parseEndYear = m_parseStartYear - 1;
127 if ( m_requestStart < m_parseCalendar->earliestValidDate() ) {
128 m_parseStartYear = m_parseCalendar->year( m_parseCalendar->earliestValidDate() );
130 m_parseStartYear = m_parseCalendar->year( m_requestStart );
133 if ( m_requestEnd > m_parseCalendar->latestValidDate() ) {
134 m_parseEndYear = m_parseCalendar->year( m_parseCalendar->latestValidDate() );
136 m_parseEndYear = m_parseCalendar->year( m_requestEnd );