-rw-r--r-- | core/pim/datebook/holiday/birthday/birthday.cpp | 56 | ||||
-rw-r--r-- | core/pim/datebook/holiday/birthday/birthday.h | 28 | ||||
-rw-r--r-- | core/pim/datebook/holiday/birthday/birthdays.pro | 20 | ||||
-rw-r--r-- | core/pim/datebook/holiday/birthday/config.in | 4 | ||||
-rw-r--r-- | core/pim/datebook/holiday/christian/chrisholiday.cpp | 2 | ||||
-rw-r--r-- | core/pim/datebook/holiday/config.in | 1 |
6 files changed, 110 insertions, 1 deletions
diff --git a/core/pim/datebook/holiday/birthday/birthday.cpp b/core/pim/datebook/holiday/birthday/birthday.cpp new file mode 100644 index 0000000..a32e0ea --- a/dev/null +++ b/core/pim/datebook/holiday/birthday/birthday.cpp @@ -0,0 +1,56 @@ +#include "birthday.h" + +#include <opie2/ocontactaccess.h> + +#include <qobject.h> + +Birthday::Birthday() + :Opie::Datebook::HolidayPlugin() +{ + m_contactdb = new Opie::OPimContactAccess("addressplugin"); +/* + connect( m_contactdb, SIGNAL( signalChanged(const Opie::OPimContactAccess*) ), + this, SLOT( refresh(const Opie::OPimContactAccess*) ) ); +*/ +} + +QString Birthday::description() +{ + return QObject::tr("Birthdays","holidays"); +} + +QStringList Birthday::entries(const QDate&aDate) +{ + QStringList ret; + if ( m_contactdb->hasQuerySettings( Opie::OPimContactAccess::DateDay ) ){ + Opie::OPimContact querybirthdays; + querybirthdays.setBirthday(aDate); + m_list = m_contactdb->queryByExample( querybirthdays,Opie::OPimContactAccess::DateDay| Opie::OPimContactAccess::DateMonth); + if ( m_list.count() > 0 ){ + QString pre = QObject::tr("Birthday","holidays")+" "; + int z = 0; + for ( m_it = m_list.begin(); m_it != m_list.end(); ++m_it ) { + if (z) { + pre+=", "; + } + pre+=((*m_it).fullName()); + ++z; + } + ret.append(pre); + } + } + return ret; +} + +QStringList Birthday::entries(unsigned year, unsigned month, unsigned day) +{ + return entries(QDate(year,month,day)); +} + +QMap<QDate,QStringList> Birthday::entries(const QDate&,const QDate&) +{ + QMap<QDate,QStringList> ret; + return ret; +} + +EXPORT_HOLIDAY_PLUGIN(Birthday); diff --git a/core/pim/datebook/holiday/birthday/birthday.h b/core/pim/datebook/holiday/birthday/birthday.h new file mode 100644 index 0000000..5c9aacd --- a/dev/null +++ b/core/pim/datebook/holiday/birthday/birthday.h @@ -0,0 +1,28 @@ +#ifndef __DUMMY_HOLIDAY_H +#define __DUMMY_HOLIDAY_H + +#include <opie2/oholidayplugin.h> +#include <opie2/oholidaypluginif.h> +#include <opie2/ocontactaccess.h> + +#include <qmap.h> + +class Birthday:public Opie::Datebook::HolidayPlugin +{ +typedef QMap<QDate,QStringList> tDayMap; + +public: + Birthday(); + virtual ~Birthday(){} + + virtual QString description(); + virtual QStringList entries(const QDate&); + virtual QStringList entries(unsigned year, unsigned month, unsigned day); + virtual QMap<QDate,QStringList> entries(const QDate&,const QDate&); +protected: + Opie::OPimContactAccess * m_contactdb; + Opie::OPimContactAccess::List m_list; + Opie::OPimContactAccess::List::Iterator m_it; +}; + +#endif diff --git a/core/pim/datebook/holiday/birthday/birthdays.pro b/core/pim/datebook/holiday/birthday/birthdays.pro new file mode 100644 index 0000000..b78dbd1 --- a/dev/null +++ b/core/pim/datebook/holiday/birthday/birthdays.pro @@ -0,0 +1,20 @@ +TEMPLATE = lib +CONFIG -= moc +CONFIG += qt plugin + +# Input +HEADERS = birthday.h +SOURCES = birthday.cpp +INTERFACES= + +INCLUDEPATH += $(OPIEDIR)/include \ + ../ ../library +DEPENDPATH += $(OPIEDIR)/include \ + ../ ../library + +LIBS+= -lqpe -lopiecore2 -lopieui2 + +DESTDIR = $(OPIEDIR)/plugins/datebook/holiday +TARGET = birthdayplugin + +include( $(OPIEDIR)/include.pro ) diff --git a/core/pim/datebook/holiday/birthday/config.in b/core/pim/datebook/holiday/birthday/config.in new file mode 100644 index 0000000..0a3f3ff --- a/dev/null +++ b/core/pim/datebook/holiday/birthday/config.in @@ -0,0 +1,4 @@ + config DATEBOOK_BIRTHDAYS_HOLIDAY + boolean "opie-datebook-birthdays" + default "y" + depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE && LIBOPIE2UI && LIBOPIE2PIM diff --git a/core/pim/datebook/holiday/christian/chrisholiday.cpp b/core/pim/datebook/holiday/christian/chrisholiday.cpp index 3427b73..be16bd0 100644 --- a/core/pim/datebook/holiday/christian/chrisholiday.cpp +++ b/core/pim/datebook/holiday/christian/chrisholiday.cpp @@ -1,95 +1,95 @@ #include "chrisholiday.h"
#include <qobject.h>
QString ChrisHoliday::description()
{
return QObject::tr("Christian holidays","holidays");
}
QStringList ChrisHoliday::entries(const QDate&aDate)
{
QStringList ret;
ret+=_internallist.entries(aDate);
calcit(aDate.year());
tDayMap::Iterator it = _days.find(aDate);
if (it!=_days.end()) {
ret+=*it;
}
return ret;
}
QStringList ChrisHoliday::entries(unsigned year, unsigned month, unsigned day)
{
return entries(QDate(year,month,day));
}
void ChrisHoliday::calcit(int year)
{
if (year==_lastyear) return;
_lastyear = year;
_days.clear();
calc_easter();
calc_christmas();
}
void ChrisHoliday::calc_christmas()
{
QDate cday(_lastyear,12,24);
int diff;
if ( (diff=cday.dayOfWeek())!=7) {
cday=cday.addDays(-diff);
_days[cday].append(QObject::tr("4. Advent","holidays"));
}
_days[cday.addDays(-7)].append(QObject::tr("3. Advent","holidays"));
_days[cday.addDays(-14)].append(QObject::tr("2. Advent","holidays"));
_days[cday.addDays(-21)].append(QObject::tr("1. Advent","holidays"));
}
void ChrisHoliday::calc_easter()
{
unsigned long n = 0;
unsigned long p = 0;
if ( _lastyear > 1582 ) {
unsigned long a = _lastyear%19;
unsigned long b = _lastyear/100;
unsigned long c = _lastyear%100;
unsigned long d = b/4;
unsigned long e = b%4;
unsigned long f = (b+8)/25;
unsigned long g = (b+f+1)/3;
unsigned long h = (19*a+b-d-g+15)%30;
unsigned long i = c/4;
unsigned long j = c%4;
unsigned long k = j%100;
unsigned long l = (32+2*e+2*i-h-k)%7;
unsigned long m = (a+11*h+22*l)/451;
n = (h+l-7*m+114)/31;
p = (h+l-7*m+114)%31;
} else {
unsigned long a = _lastyear%4;
unsigned long b = _lastyear%7;
unsigned long c = _lastyear%19;
unsigned long d = (19*c+15)%30;
unsigned long e = (2*a+4*b-d+34)%7;
n = (d+e+114)/31;
p = (d+e+114)%31;
}
p++;
QDate d(_lastyear,n,p);
_days[d].append(QObject::tr("Eastersunday","holidays"));
_days[d.addDays(49)].append(QObject::tr("Whitsunday","holidays"));
_days[d.addDays(50)].append(QObject::tr("Whitmonday","holidays"));
_days[d.addDays(-46)].append(QObject::tr("Ash Wednesday","holidays"));
_days[d.addDays(60)].append(QObject::tr("Corpus Christi","holidays"));
}
QMap<QDate,QStringList> ChrisHoliday::entries(const QDate&,const QDate&)
{
QMap<QDate,QStringList> ret;
return ret;
}
-EXPORT_HOLIDAY_PLUGIN(ChrisHoliday);
\ No newline at end of file +EXPORT_HOLIDAY_PLUGIN(ChrisHoliday);
diff --git a/core/pim/datebook/holiday/config.in b/core/pim/datebook/holiday/config.in index e00f023..1912dbe 100644 --- a/core/pim/datebook/holiday/config.in +++ b/core/pim/datebook/holiday/config.in @@ -1,4 +1,5 @@ menu "Holiday Plugins" + source core/pim/datebook/holiday/birthday/config.in source core/pim/datebook/holiday/christian/config.in source core/pim/datebook/holiday/dummy/config.in endmenu |