-rw-r--r-- | core/pim/datebook/holiday/christian/chrisholiday.cpp | 1 |
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 | ||
91 | QMap<QDate,QStringList> ChrisHoliday::entries(const QDate&start,const QDate&end) | 92 | QMap<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 | } |