summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/core
Unidiff
Diffstat (limited to 'libopie2/opiepim/core') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/core/orecur.cpp8
-rw-r--r--libopie2/opiepim/core/orecur.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/libopie2/opiepim/core/orecur.cpp b/libopie2/opiepim/core/orecur.cpp
index 8c9ad46..f46f22e 100644
--- a/libopie2/opiepim/core/orecur.cpp
+++ b/libopie2/opiepim/core/orecur.cpp
@@ -13,48 +13,56 @@ struct ORecur::Data : public QShared {
13 freq = -1; 13 freq = -1;
14 days = 0; 14 days = 0;
15 pos = 0; 15 pos = 0;
16 create = QDateTime::currentDateTime(); 16 create = QDateTime::currentDateTime();
17 hasEnd = FALSE; 17 hasEnd = FALSE;
18 end = QDate::currentDate(); 18 end = QDate::currentDate();
19 } 19 }
20 char days; // Q_UINT8 for 8 seven days;) 20 char days; // Q_UINT8 for 8 seven days;)
21 ORecur::RepeatType type; 21 ORecur::RepeatType type;
22 int freq; 22 int freq;
23 int pos; 23 int pos;
24 bool hasEnd : 1; 24 bool hasEnd : 1;
25 QDate end; 25 QDate end;
26 QDateTime create; 26 QDateTime create;
27 int rep; 27 int rep;
28 QString app; 28 QString app;
29 ExceptionList list; 29 ExceptionList list;
30 QDate start; 30 QDate start;
31}; 31};
32 32
33 33
34ORecur::ORecur() { 34ORecur::ORecur() {
35 data = new Data; 35 data = new Data;
36} 36}
37
38ORecur::ORecur( const QMap<int, QString>& map )
39{
40 ORecur();
41 fromMap( map );
42}
43
44
37ORecur::ORecur( const ORecur& rec) 45ORecur::ORecur( const ORecur& rec)
38 : data( rec.data ) 46 : data( rec.data )
39{ 47{
40 data->ref(); 48 data->ref();
41} 49}
42ORecur::~ORecur() { 50ORecur::~ORecur() {
43 if ( data->deref() ) { 51 if ( data->deref() ) {
44 delete data; 52 delete data;
45 data = 0l; 53 data = 0l;
46 } 54 }
47} 55}
48void ORecur::deref() { 56void ORecur::deref() {
49 if ( data->deref() ) { 57 if ( data->deref() ) {
50 delete data; 58 delete data;
51 data = 0l; 59 data = 0l;
52 } 60 }
53} 61}
54bool ORecur::operator==( const ORecur& )const { 62bool ORecur::operator==( const ORecur& )const {
55 return false; 63 return false;
56} 64}
57ORecur &ORecur::operator=( const ORecur& re) { 65ORecur &ORecur::operator=( const ORecur& re) {
58 if ( *this == re ) return *this; 66 if ( *this == re ) return *this;
59 67
60 re.data->ref(); 68 re.data->ref();
diff --git a/libopie2/opiepim/core/orecur.h b/libopie2/opiepim/core/orecur.h
index 47901b0..7750c12 100644
--- a/libopie2/opiepim/core/orecur.h
+++ b/libopie2/opiepim/core/orecur.h
@@ -1,48 +1,49 @@
1/* 1/*
2 * GPL from TT 2 * GPL from TT
3 */ 3 */
4 4
5#ifndef OPIE_RECUR_H 5#ifndef OPIE_RECUR_H
6#define OPIE_RECUR_H 6#define OPIE_RECUR_H
7 7
8#include <sys/types.h> 8#include <sys/types.h>
9 9
10#include <qdatetime.h> 10#include <qdatetime.h>
11#include <qvaluelist.h> 11#include <qvaluelist.h>
12#include <qmap.h> 12#include <qmap.h>
13 13
14class ORecur { 14class ORecur {
15public: 15public:
16 typedef QValueList<QDate> ExceptionList; 16 typedef QValueList<QDate> ExceptionList;
17 enum RepeatType{ NoRepeat = -1, Daily, Weekly, MonthlyDay, 17 enum RepeatType{ NoRepeat = -1, Daily, Weekly, MonthlyDay,
18 MonthlyDate, Yearly }; 18 MonthlyDate, Yearly };
19 enum Days { MON = 0x01, TUE = 0x02, WED = 0x04, THU = 0x08, 19 enum Days { MON = 0x01, TUE = 0x02, WED = 0x04, THU = 0x08,
20 FRI = 0x10, SAT = 0x20, SUN = 0x40 }; 20 FRI = 0x10, SAT = 0x20, SUN = 0x40 };
21 enum Fields{ RType = 0, RWeekdays, RPosition, RFreq, RHasEndDate, 21 enum Fields{ RType = 0, RWeekdays, RPosition, RFreq, RHasEndDate,
22 EndDate, Created, Exceptions }; 22 EndDate, Created, Exceptions };
23 23
24 ORecur(); 24 ORecur();
25 ORecur( const QMap<int, QString>& map );
25 ORecur( const ORecur& ); 26 ORecur( const ORecur& );
26 ~ORecur(); 27 ~ORecur();
27 28
28 ORecur &operator=( const ORecur& ); 29 ORecur &operator=( const ORecur& );
29 bool operator==(const ORecur& )const; 30 bool operator==(const ORecur& )const;
30 31
31 bool doesRecur()const; 32 bool doesRecur()const;
32 /* if it recurrs on that day */ 33 /* if it recurrs on that day */
33 bool doesRecur( const QDate& ); 34 bool doesRecur( const QDate& );
34 RepeatType type()const; 35 RepeatType type()const;
35 int frequency()const; 36 int frequency()const;
36 int position()const; 37 int position()const;
37 char days()const; 38 char days()const;
38 bool hasEndDate()const; 39 bool hasEndDate()const;
39 QDate start()const; 40 QDate start()const;
40 QDate endDate()const; 41 QDate endDate()const;
41 QDateTime createdDateTime()const; 42 QDateTime createdDateTime()const;
42 /** 43 /**
43 * starting on monday=0, sunday=6 44 * starting on monday=0, sunday=6
44 * for convience 45 * for convience
45 */ 46 */
46 bool repeatOnWeekDay( int day )const; 47 bool repeatOnWeekDay( int day )const;
47 48
48 /** 49 /**