summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-16 20:10:47 (UTC)
committer alwin <alwin>2005-03-16 20:10:47 (UTC)
commitea80ab0e1d30bd52d87b7330a934e63354716f2e (patch) (side-by-side diff)
treee6e3e902454d54240f553993ccba7a84017aaa11
parent176c8e8bb543603b68e853660db93d6068c52bfa (diff)
downloadopie-ea80ab0e1d30bd52d87b7330a934e63354716f2e.zip
opie-ea80ab0e1d30bd52d87b7330a934e63354716f2e.tar.gz
opie-ea80ab0e1d30bd52d87b7330a934e63354716f2e.tar.bz2
added birthday display into datebook
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/holiday/birthday/birthday.cpp56
-rw-r--r--core/pim/datebook/holiday/birthday/birthday.h28
-rw-r--r--core/pim/datebook/holiday/birthday/birthdays.pro20
-rw-r--r--core/pim/datebook/holiday/birthday/config.in4
-rw-r--r--core/pim/datebook/holiday/christian/chrisholiday.cpp2
-rw-r--r--core/pim/datebook/holiday/config.in1
-rw-r--r--packages1
7 files changed, 111 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
@@ -31,65 +31,65 @@ void ChrisHoliday::calcit(int year)
_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
diff --git a/packages b/packages
index 228bdb8..6181b00 100644
--- a/packages
+++ b/packages
@@ -1,98 +1,99 @@
CONFIG_ABOUTAPPLET core/applets/aboutapplet aboutapplet.pro
CONFIG_ADDRESSBOOK core/pim/addressbook addressbook.pro
CONFIG_ADVANCEDFM noncore/apps/advancedfm advancedfm.pro
CONFIG_APPEARANCE2 noncore/settings/appearance2 appearance2.pro
CONFIG_APPSKEY noncore/settings/appskey appskey.pro
CONFIG_AQPKG noncore/settings/aqpkg aqpkg.pro
CONFIG_AUTOROTATEAPPLET noncore/applets/autorotateapplet autorotateapplet.pro
CONFIG_BACKGAMMON noncore/games/backgammon backgammon.pro
CONFIG_BACKUP noncore/settings/backup backup.pro
CONFIG_BARTENDER noncore/apps/opie-bartender bartender.pro
CONFIG_BATTERYAPPLET core/applets/batteryapplet batteryapplet.pro
CONFIG_BEND noncore/unsupported/mail2/bend bend.pro
CONFIG_BIGSCREEN_EXAMPLE unsupported/libopie/big-screen/example osplitter_mail.pro
CONFIG_BINARY noncore/tools/calc2/binary binary.pro
CONFIG_BLUE-PIN noncore/net/opietooth/blue-pin blue-pin.pro
CONFIG_BOUNCE noncore/games/bounce bounce.pro
CONFIG_BRIGHTNESSAPPLET noncore/applets/brightnessapplet brightnessapplet.pro
CONFIG_BUTTON-SETTINGS core/settings/button button.pro
CONFIG_BUZZWORD noncore/games/buzzword buzzword.pro
CONFIG_CALC2 noncore/tools/calc2 calc.pro
CONFIG_CALCULATOR noncore/tools/calculator calculator.pro
CONFIG_CALIBRATE core/apps/calibrate calibrate.pro
CONFIG_CAMERA noncore/multimedia/camera camera.pro
CONFIG_CARDMON core/applets/cardmon cardmon.pro
CONFIG_CHECKBOOK noncore/apps/checkbook checkbook.pro
CONFIG_CITYTIME core/settings/citytime citytime.pro
CONFIG_CLIPBOARDAPPLET core/applets/clipboardapplet clipboardapplet.pro
CONFIG_CLOCKAPPLET core/applets/clockapplet clockapplet.pro
CONFIG_CLOCK noncore/tools/clock clock.pro
CONFIG_CONFEDIT noncore/apps/confedit confedit.pro
CONFIG_DAGGER noncore/apps/dagger dagger.pro
CONFIG_DASHER inputmethods/dasher dasher.pro
CONFIG_DATEBOOK2 core/pim/datebook2 datebook2.pro
CONFIG_DATEBOOK core/pim/datebook datebook.pro
+CONFIG_DATEBOOK_BIRTHDAYS_HOLIDAY core/pim/datebook/holiday/birthday birthdays.pro
CONFIG_DATEBOOK_CHRISTIAN_HOLIDAY core/pim/datebook/holiday/christian christian-holidays.pro
CONFIG_DATEBOOK_DUMMY_HOLIDAY core/pim/datebook/holiday/dummy dummy.pro
CONFIG_DECO_FLAT noncore/decorations/flat flat.pro
CONFIG_DECO_LIQUID noncore/decorations/liquid liquid.pro
CONFIG_DECO_POLISHED noncore/decorations/polished polished.pro
CONFIG_DICTIONARY noncore/apps/dictionary dictionary.pro
CONFIG_DOCTAB noncore/settings/doctab doctab.pro
CONFIG_DRAWPAD noncore/graphics/drawpad drawpad.pro
CONFIG_DVORAK inputmethods/dvorak dvorak.pro
CONFIG_EMBEDDEDKONSOLE core/apps/embeddedkonsole embeddedkonsole.pro
CONFIG_EUROCONV noncore/tools/euroconv/ euroconv.pro
CONFIG_EXAMPLE_APPLET examples/applet applet.pro
CONFIG_EXAMPLE_BOARD examples/inputmethod inputmethod.pro
CONFIG_EXAMPLE_LIBOPIE2CORE examples/opiecore opiecore.pro
CONFIG_EXAMPLE_LIBOPIE2DB examples/opiedb opiedb.pro
CONFIG_EXAMPLE_LIBOPIE2MM examples/opiemm opiemm.pro
CONFIG_EXAMPLE_LIBOPIE2NET examples/opienet opienet.pro
CONFIG_EXAMPLE_LIBOPIE2PIM examples/opiepim opiepim.pro
CONFIG_EXAMPLE_LIBOPIE2SECURITY examples/opiesecurity opiesecurity.pro
CONFIG_EXAMPLE_LIBOPIE2UI examples/opieui opieui.pro
CONFIG_EXAMPLE_MENU examples/menuapplet menuapplet.pro
CONFIG_EXAMPLE_VPN examples/networksettings networksettings.pro
CONFIG_FIFTEEN noncore/games/fifteen fifteen.pro
CONFIG_FILEBROWSER noncore/unsupported/filebrowser filebrowser.pro
CONFIG_FLAT noncore/styles/flat flat.pro
CONFIG_FORMATTER noncore/tools/formatter formatter.pro
CONFIG_FREETYPE freetype freetype.pro
CONFIG_FRESH noncore/styles/fresh fresh.pro
CONFIG_FTPLIB noncore/net/ftplib ftplib.pro
CONFIG_GO noncore/games/go go.pro
CONFIG_GSMTOOL noncore/unsupported/gsmtool gsmtool.pro
CONFIG_GUTENBROWSER noncore/apps/opie-gutenbrowser opie-gutenbrowser.pro
CONFIG_HANDWRITING inputmethods/handwriting handwriting.pro
CONFIG_HELPBROWSER core/apps/helpbrowser helpbrowser.pro
CONFIG_HOMEAPPLET core/applets/homeapplet homeapplet.pro
CONFIG_INTERFACES noncore/settings/networksettings/interfaces interfaces.pro
CONFIG_IRDAAPPLET core/applets/irdaapplet irdaapplet.pro
CONFIG_JUMPX inputmethods/jumpx jumpx.pro
CONFIG_KBILL noncore/games/kbill kbill.pro
CONFIG_KCHECKERS noncore/games/kcheckers kcheckers.pro
CONFIG_KEYBOARD inputmethods/keyboard keyboard.pro
CONFIG_KEYHELPER noncore/applets/keyhelper keyhelper.pro
CONFIG_KEYPEBBLE noncore/comm/keypebble keypebble.pro
CONFIG_KEYVIEW development/keyview keyview.pro
CONFIG_KJUMPX inputmethods/kjumpx kjumpx.pro
CONFIG_KPACMAN noncore/games/kpacman kpacman.pro
CONFIG_LANGUAGE noncore/settings/language language.pro
CONFIG_LAUNCHER core/launcher server.pro
CONFIG_LAUNCHER-SETTINGS core/settings/launcher launcher.pro
CONFIG_LIBFFMPEG core/multimedia/opieplayer/libffmpeg libffmpeg.pro
CONFIG_LIBFLASH core/multimedia/opieplayer/libflash libflash.pro
CONFIG_LIBMAD core/multimedia/opieplayer/libmad libmad.pro
CONFIG_LIBMAIL noncore/unsupported/mail2/libmail libmail.pro
CONFIG_LIBMAILWRAPPER noncore/net/mail/libmailwrapper libmailwrapper.pro
CONFIG_LIBMPEG3 core/multimedia/opieplayer/libmpeg3 libmpeg3.pro
CONFIG_LIBOPIE2CORE libopie2/opiecore opiecore.pro
CONFIG_LIBOPIE2DB libopie2/opiedb opiedb.pro
CONFIG_LIBOPIE2EXAMPLES libopie2/examples examples.pro
CONFIG_LIBOPIE2MM libopie2/opiemm opiemm.pro
CONFIG_LIBOPIE2NET libopie2/opienet opienet.pro
CONFIG_LIBOPIE2PIM libopie2/opiepim opiepim.pro
CONFIG_LIBOPIE2SECURITY libopie2/opiesecurity opiesecurity.pro
CONFIG_LIBOPIE2UI libopie2/opieui opieui.pro
CONFIG_LIBOPIETOOTH noncore/net/opietooth/lib lib.pro