summaryrefslogtreecommitdiff
path: root/core/pim/datebook/holiday/national/nationalholiday.h
blob: 7f240e0e7a073f082a304ddd2c53a20b6aa8d978 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef __NATIONAL_HOLIDAY_H
#define __NATIONAL_HOLIDAY_H

#include "nationalcfg.h"

#include <opie2/oholidayplugin.h>
#include <opie2/oholidaypluginif.h>
#include <opie2/oholidayplugincfgwidget.h>

#include <qmap.h>
#include <qstringlist.h>

class NationalHoliday:public Opie::Datebook::HolidayPlugin
{

public:
    NationalHoliday();
    virtual ~NationalHoliday(){}

    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&);
    virtual QValueList<EffectiveEvent> events(const QDate&,const QDate&);
    virtual Opie::Datebook::HolidayPluginConfigWidget*configWidget(QWidget *parent=0,  const char *name = 0, QWidget::WFlags fl = 0);

protected:
    void init();
    void setyear(const QDate&);
    void calc_easterDate();
    static int weektonumber(const QString&);
    static QDate movedateday(const QDate&,int weekday,bool direction);
    static int monthtonumber(const QString&m);
    static int dayoftoint(const QString&d);

    unsigned int _lastyear;
    tholidaylist _days;
    tholidaylist _fdays;
    tentrylist floatingDates;

    QStringList files;
    bool init_done:1;
    void load_days();
    QDate easterDate;
};

#endif