summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-19 23:26:17 (UTC)
committer alwin <alwin>2005-03-19 23:26:17 (UTC)
commit9b608c7c967b2a22d4c6a8d8b98a4635d3b21204 (patch) (unidiff)
tree457bd3dd5ca2f95e119bff1f4482423cf32b2638
parent3b5693df5af4a08b3261efefa545c706ff305868 (diff)
downloadopie-9b608c7c967b2a22d4c6a8d8b98a4635d3b21204.zip
opie-9b608c7c967b2a22d4c6a8d8b98a4635d3b21204.tar.gz
opie-9b608c7c967b2a22d4c6a8d8b98a4635d3b21204.tar.bz2
inserted missed holiday
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/holiday/christian/chrisholiday.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/pim/datebook/holiday/christian/chrisholiday.cpp b/core/pim/datebook/holiday/christian/chrisholiday.cpp
index 2cccb85..2a260bf 100644
--- a/core/pim/datebook/holiday/christian/chrisholiday.cpp
+++ b/core/pim/datebook/holiday/christian/chrisholiday.cpp
@@ -20,125 +20,126 @@ QStringList ChrisHoliday::entries(const QDate&aDate)
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("Eastersunday","holidays"));
84 _days[d.addDays(-2)].append(QObject::tr("Good Friday","holidays"));
84 _days[d.addDays(49)].append(QObject::tr("Whitsunday","holidays")); 85 _days[d.addDays(49)].append(QObject::tr("Whitsunday","holidays"));
85 _days[d.addDays(50)].append(QObject::tr("Whitmonday","holidays")); 86 _days[d.addDays(50)].append(QObject::tr("Whitmonday","holidays"));
86 _days[d.addDays(39)].append(QObject::tr("Ascension Day","holidays")); 87 _days[d.addDays(39)].append(QObject::tr("Ascension Day","holidays"));
87 _days[d.addDays(-46)].append(QObject::tr("Ash Wednesday","holidays")); 88 _days[d.addDays(-46)].append(QObject::tr("Ash Wednesday","holidays"));
88 _days[d.addDays(60)].append(QObject::tr("Corpus Christi","holidays")); 89 _days[d.addDays(60)].append(QObject::tr("Corpus Christi","holidays"));
89} 90}
90 91
91QMap<QDate,QStringList> ChrisHoliday::entries(const QDate&start,const QDate&end) 92QMap<QDate,QStringList> ChrisHoliday::entries(const QDate&start,const QDate&end)
92{ 93{
93 QMap<QDate,QStringList> ret; 94 QMap<QDate,QStringList> ret;
94 if (start==end) { 95 if (start==end) {
95 ret[start]=entries(start); 96 ret[start]=entries(start);
96 return ret; 97 return ret;
97 } 98 }
98 QDate d; 99 QDate d;
99 int daysto; 100 int daysto;
100 if (end < start) { 101 if (end < start) {
101 d = end; 102 d = end;
102 daysto = end.daysTo(start); 103 daysto = end.daysTo(start);
103 } else { 104 } else {
104 d = start; 105 d = start;
105 daysto = start.daysTo(end); 106 daysto = start.daysTo(end);
106 } 107 }
107 QStringList temp; 108 QStringList temp;
108 for (int i=0;i<=daysto;++i) { 109 for (int i=0;i<=daysto;++i) {
109 temp = entries(d.addDays(i)); 110 temp = entries(d.addDays(i));
110 if (temp.count()==0) continue; 111 if (temp.count()==0) continue;
111 ret[d.addDays(i)]+=temp; 112 ret[d.addDays(i)]+=temp;
112 temp.clear(); 113 temp.clear();
113 } 114 }
114 return ret; 115 return ret;
115} 116}
116 117
117QValueList<EffectiveEvent> ChrisHoliday::events(const QDate&start,const QDate&end) 118QValueList<EffectiveEvent> ChrisHoliday::events(const QDate&start,const QDate&end)
118{ 119{
119 QValueList<EffectiveEvent> ret; 120 QValueList<EffectiveEvent> ret;
120 QDate d = (start<end?start:end); 121 QDate d = (start<end?start:end);
121 int daysto = start.daysTo(end); 122 int daysto = start.daysTo(end);
122 if (daysto < 0) { 123 if (daysto < 0) {
123 daysto = end.daysTo(start); 124 daysto = end.daysTo(start);
124 } 125 }
125 126
126 QStringList temp; 127 QStringList temp;
127 for (int i =0; i<= daysto;++i) { 128 for (int i =0; i<= daysto;++i) {
128 temp = entries(d.addDays(i)); 129 temp = entries(d.addDays(i));
129 if (temp.count()==0) { 130 if (temp.count()==0) {
130 continue; 131 continue;
131 } 132 }
132 for (unsigned j=0;j<temp.count();++j) { 133 for (unsigned j=0;j<temp.count();++j) {
133 Event ev; 134 Event ev;
134 ev.setDescription(temp[j]); 135 ev.setDescription(temp[j]);
135 ev.setStart(d.addDays(i)); 136 ev.setStart(d.addDays(i));
136 ev.setAllDay(true); 137 ev.setAllDay(true);
137 ret.append(EffectiveEvent(ev,d.addDays(i))); 138 ret.append(EffectiveEvent(ev,d.addDays(i)));
138 } 139 }
139 } 140 }
140 141
141 return ret; 142 return ret;
142} 143}
143 144
144EXPORT_HOLIDAY_PLUGIN(ChrisHoliday); 145EXPORT_HOLIDAY_PLUGIN(ChrisHoliday);