summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/holiday/christian/chrisholiday.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/pim/datebook/holiday/christian/chrisholiday.cpp b/core/pim/datebook/holiday/christian/chrisholiday.cpp
index 2a260bf..03931bc 100644
--- a/core/pim/datebook/holiday/christian/chrisholiday.cpp
+++ b/core/pim/datebook/holiday/christian/chrisholiday.cpp
@@ -1,145 +1,145 @@
1#include "chrisholiday.h" 1#include "chrisholiday.h"
2 2
3#include <qobject.h> 3#include <qobject.h>
4#include <qpe/event.h> 4#include <qpe/event.h>
5 5
6QString ChrisHoliday::description() 6QString ChrisHoliday::description()
7{ 7{
8 return QObject::tr("Christian holidays","holidays"); 8 return QObject::tr("Christian holidays","holidays");
9} 9}
10 10
11QStringList ChrisHoliday::entries(const QDate&aDate) 11QStringList ChrisHoliday::entries(const QDate&aDate)
12{ 12{
13 QStringList ret; 13 QStringList ret;
14 ret+=_internallist.entries(aDate); 14 ret+=_internallist.entries(aDate);
15 calcit(aDate.year()); 15 calcit(aDate.year());
16 tDayMap::Iterator it = _days.find(aDate); 16 tDayMap::Iterator it = _days.find(aDate);
17 if (it!=_days.end()) { 17 if (it!=_days.end()) {
18 ret+=*it; 18 ret+=*it;
19 } 19 }
20 20
21 return ret; 21 return ret;
22} 22}
23 23
24QStringList ChrisHoliday::entries(unsigned year, unsigned month, unsigned day) 24QStringList ChrisHoliday::entries(unsigned year, unsigned month, unsigned day)
25{ 25{
26 return entries(QDate(year,month,day)); 26 return entries(QDate(year,month,day));
27} 27}
28 28
29void ChrisHoliday::calcit(int year) 29void ChrisHoliday::calcit(int year)
30{ 30{
31 if (year==_lastyear) return; 31 if (year==_lastyear) return;
32 _lastyear = year; 32 _lastyear = year;
33 _days.clear(); 33 _days.clear();
34 calc_easter(); 34 calc_easter();
35 calc_christmas(); 35 calc_christmas();
36} 36}
37 37
38void ChrisHoliday::calc_christmas() 38void ChrisHoliday::calc_christmas()
39{ 39{
40 QDate cday(_lastyear,12,24); 40 QDate cday(_lastyear,12,24);
41 int diff; 41 int diff;
42 if ( (diff=cday.dayOfWeek())!=7) { 42 if ( (diff=cday.dayOfWeek())!=7) {
43 cday=cday.addDays(-diff); 43 cday=cday.addDays(-diff);
44 _days[cday].append(QObject::tr("4. Advent","holidays")); 44 _days[cday].append(QObject::tr("4. Advent","holidays"));
45 } 45 }
46 _days[cday.addDays(-7)].append(QObject::tr("3. Advent","holidays")); 46 _days[cday.addDays(-7)].append(QObject::tr("3. Advent","holidays"));
47 _days[cday.addDays(-14)].append(QObject::tr("2. Advent","holidays")); 47 _days[cday.addDays(-14)].append(QObject::tr("2. Advent","holidays"));
48 _days[cday.addDays(-21)].append(QObject::tr("1. Advent","holidays")); 48 _days[cday.addDays(-21)].append(QObject::tr("1. Advent","holidays"));
49} 49}
50 50
51void ChrisHoliday::calc_easter() 51void ChrisHoliday::calc_easter()
52{ 52{
53 unsigned long n = 0; 53 unsigned long n = 0;
54 unsigned long p = 0; 54 unsigned long p = 0;
55 55
56 if ( _lastyear > 1582 ) { 56 if ( _lastyear > 1582 ) {
57 unsigned long a = _lastyear%19; 57 unsigned long a = _lastyear%19;
58 unsigned long b = _lastyear/100; 58 unsigned long b = _lastyear/100;
59 unsigned long c = _lastyear%100; 59 unsigned long c = _lastyear%100;
60 unsigned long d = b/4; 60 unsigned long d = b/4;
61 unsigned long e = b%4; 61 unsigned long e = b%4;
62 unsigned long f = (b+8)/25; 62 unsigned long f = (b+8)/25;
63 unsigned long g = (b+f+1)/3; 63 unsigned long g = (b+f+1)/3;
64 unsigned long h = (19*a+b-d-g+15)%30; 64 unsigned long h = (19*a+b-d-g+15)%30;
65 unsigned long i = c/4; 65 unsigned long i = c/4;
66 unsigned long j = c%4; 66 unsigned long j = c%4;
67 unsigned long k = j%100; 67 unsigned long k = j%100;
68 unsigned long l = (32+2*e+2*i-h-k)%7; 68 unsigned long l = (32+2*e+2*i-h-k)%7;
69 unsigned long m = (a+11*h+22*l)/451; 69 unsigned long m = (a+11*h+22*l)/451;
70 n = (h+l-7*m+114)/31; 70 n = (h+l-7*m+114)/31;
71 p = (h+l-7*m+114)%31; 71 p = (h+l-7*m+114)%31;
72 } else { 72 } else {
73 unsigned long a = _lastyear%4; 73 unsigned long a = _lastyear%4;
74 unsigned long b = _lastyear%7; 74 unsigned long b = _lastyear%7;
75 unsigned long c = _lastyear%19; 75 unsigned long c = _lastyear%19;
76 unsigned long d = (19*c+15)%30; 76 unsigned long d = (19*c+15)%30;
77 unsigned long e = (2*a+4*b-d+34)%7; 77 unsigned long e = (2*a+4*b-d+34)%7;
78 n = (d+e+114)/31; 78 n = (d+e+114)/31;
79 p = (d+e+114)%31; 79 p = (d+e+114)%31;
80 } 80 }
81 p++; 81 p++;
82 QDate d(_lastyear,n,p); 82 QDate d(_lastyear,n,p);
83 _days[d].append(QObject::tr("Eastersunday","holidays")); 83 _days[d].append(QObject::tr("Easter Sunday","holidays"));
84 _days[d.addDays(-2)].append(QObject::tr("Good Friday","holidays")); 84 _days[d.addDays(-2)].append(QObject::tr("Good Friday","holidays"));
85 _days[d.addDays(49)].append(QObject::tr("Whitsunday","holidays")); 85 _days[d.addDays(49)].append(QObject::tr("Whitsunday","holidays"));
86 _days[d.addDays(50)].append(QObject::tr("Whitmonday","holidays")); 86 _days[d.addDays(50)].append(QObject::tr("Whitmonday","holidays"));
87 _days[d.addDays(39)].append(QObject::tr("Ascension Day","holidays")); 87 _days[d.addDays(39)].append(QObject::tr("Ascension Day","holidays"));
88 _days[d.addDays(-46)].append(QObject::tr("Ash Wednesday","holidays")); 88 _days[d.addDays(-46)].append(QObject::tr("Ash Wednesday","holidays"));
89 _days[d.addDays(60)].append(QObject::tr("Corpus Christi","holidays")); 89 _days[d.addDays(60)].append(QObject::tr("Corpus Christi","holidays"));
90} 90}
91 91
92QMap<QDate,QStringList> ChrisHoliday::entries(const QDate&start,const QDate&end) 92QMap<QDate,QStringList> ChrisHoliday::entries(const QDate&start,const QDate&end)
93{ 93{
94 QMap<QDate,QStringList> ret; 94 QMap<QDate,QStringList> ret;
95 if (start==end) { 95 if (start==end) {
96 ret[start]=entries(start); 96 ret[start]=entries(start);
97 return ret; 97 return ret;
98 } 98 }
99 QDate d; 99 QDate d;
100 int daysto; 100 int daysto;
101 if (end < start) { 101 if (end < start) {
102 d = end; 102 d = end;
103 daysto = end.daysTo(start); 103 daysto = end.daysTo(start);
104 } else { 104 } else {
105 d = start; 105 d = start;
106 daysto = start.daysTo(end); 106 daysto = start.daysTo(end);
107 } 107 }
108 QStringList temp; 108 QStringList temp;
109 for (int i=0;i<=daysto;++i) { 109 for (int i=0;i<=daysto;++i) {
110 temp = entries(d.addDays(i)); 110 temp = entries(d.addDays(i));
111 if (temp.count()==0) continue; 111 if (temp.count()==0) continue;
112 ret[d.addDays(i)]+=temp; 112 ret[d.addDays(i)]+=temp;
113 temp.clear(); 113 temp.clear();
114 } 114 }
115 return ret; 115 return ret;
116} 116}
117 117
118QValueList<EffectiveEvent> ChrisHoliday::events(const QDate&start,const QDate&end) 118QValueList<EffectiveEvent> ChrisHoliday::events(const QDate&start,const QDate&end)
119{ 119{
120 QValueList<EffectiveEvent> ret; 120 QValueList<EffectiveEvent> ret;
121 QDate d = (start<end?start:end); 121 QDate d = (start<end?start:end);
122 int daysto = start.daysTo(end); 122 int daysto = start.daysTo(end);
123 if (daysto < 0) { 123 if (daysto < 0) {
124 daysto = end.daysTo(start); 124 daysto = end.daysTo(start);
125 } 125 }
126 126
127 QStringList temp; 127 QStringList temp;
128 for (int i =0; i<= daysto;++i) { 128 for (int i =0; i<= daysto;++i) {
129 temp = entries(d.addDays(i)); 129 temp = entries(d.addDays(i));
130 if (temp.count()==0) { 130 if (temp.count()==0) {
131 continue; 131 continue;
132 } 132 }
133 for (unsigned j=0;j<temp.count();++j) { 133 for (unsigned j=0;j<temp.count();++j) {
134 Event ev; 134 Event ev;
135 ev.setDescription(temp[j]); 135 ev.setDescription(temp[j]);
136 ev.setStart(d.addDays(i)); 136 ev.setStart(d.addDays(i));
137 ev.setAllDay(true); 137 ev.setAllDay(true);
138 ret.append(EffectiveEvent(ev,d.addDays(i))); 138 ret.append(EffectiveEvent(ev,d.addDays(i)));
139 } 139 }
140 } 140 }
141 141
142 return ret; 142 return ret;
143} 143}
144 144
145EXPORT_HOLIDAY_PLUGIN(ChrisHoliday); 145EXPORT_HOLIDAY_PLUGIN(ChrisHoliday);