summaryrefslogtreecommitdiff
Unidiff
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
@@ -52,64 +52,65 @@ void 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}