summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/core/orecur.h
Unidiff
Diffstat (limited to 'libopie2/opiepim/core/orecur.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/core/orecur.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/libopie2/opiepim/core/orecur.h b/libopie2/opiepim/core/orecur.h
index 60508f5..7808897 100644
--- a/libopie2/opiepim/core/orecur.h
+++ b/libopie2/opiepim/core/orecur.h
@@ -18,48 +18,50 @@
18 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU 18 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.= = ; Library General Public License for more 19..}^=.= = ; Library General Public License for more
20++= -. .` .: details. 20++= -. .` .: details.
21 : = ...= . :.=- 21 : = ...= . :.=-
22 -. .:....=;==+<; You should have received a copy of the GNU 22 -. .:....=;==+<; You should have received a copy of the GNU
23 -_. . . )=. = Library General Public License along with 23 -_. . . )=. = Library General Public License along with
24 -- :-=` this library; see the file COPYING.LIB. 24 -- :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330, 26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 27 Boston, MA 02111-1307, USA.
28*/ 28*/
29 29
30#ifndef OPIE_RECUR_H 30#ifndef ORECUR_H
31#define OPIE_RECUR_H 31#define ORECUR_H
32
33#include <sys/types.h>
34 32
33/* QT */
35#include <qdatetime.h> 34#include <qdatetime.h>
36#include <qvaluelist.h> 35#include <qvaluelist.h>
37#include <qmap.h> 36#include <qmap.h>
38 37
38/* STD */
39#include <sys/types.h>
39 40
40namespace Opie { 41namespace Opie {
41/** 42/**
42 * Class to handle Recurrencies.. 43 * Class to handle Recurrencies..
43 */ 44 */
44 45
45class ORecur { 46class ORecur {
46public: 47
48 public:
47 typedef QValueList<QDate> ExceptionList; 49 typedef QValueList<QDate> ExceptionList;
48 enum RepeatType{ NoRepeat = -1, Daily, Weekly, MonthlyDay, 50 enum RepeatType{ NoRepeat = -1, Daily, Weekly, MonthlyDay,
49 MonthlyDate, Yearly }; 51 MonthlyDate, Yearly };
50 enum Days { MON = 0x01, TUE = 0x02, WED = 0x04, THU = 0x08, 52 enum Days { MON = 0x01, TUE = 0x02, WED = 0x04, THU = 0x08,
51 FRI = 0x10, SAT = 0x20, SUN = 0x40 }; 53 FRI = 0x10, SAT = 0x20, SUN = 0x40 };
52 enum Fields{ RType = 0, RWeekdays, RPosition, RFreq, RHasEndDate, 54 enum Fields{ RType = 0, RWeekdays, RPosition, RFreq, RHasEndDate,
53 EndDate, Created, Exceptions }; 55 EndDate, Created, Exceptions };
54 56
55 ORecur(); 57 ORecur();
56 ORecur( const QMap<int, QString>& map ); 58 ORecur( const QMap<int, QString>& map );
57 ORecur( const ORecur& ); 59 ORecur( const ORecur& );
58 ~ORecur(); 60 ~ORecur();
59 61
60 ORecur &operator=( const ORecur& ); 62 ORecur &operator=( const ORecur& );
61 bool operator==(const ORecur& )const; 63 bool operator==(const ORecur& )const;
62 64
63 bool doesRecur()const; 65 bool doesRecur()const;
64 /* if it recurrs on that day */ 66 /* if it recurrs on that day */
65 bool doesRecur( const QDate& ); 67 bool doesRecur( const QDate& );
@@ -105,25 +107,26 @@ public:
105 void setStart( const QDate& dt ); 107 void setStart( const QDate& dt );
106 void setCreatedDateTime( const QDateTime& ); 108 void setCreatedDateTime( const QDateTime& );
107 void setHasEndDate( bool b ); 109 void setHasEndDate( bool b );
108 void setRepitition(int ); 110 void setRepitition(int );
109 111
110 void setService( const QString& ser ); 112 void setService( const QString& ser );
111 113
112 QMap<int, QString> toMap() const; 114 QMap<int, QString> toMap() const;
113 void fromMap( const QMap<int, QString>& map ); 115 void fromMap( const QMap<int, QString>& map );
114 116
115 /* almost internal */ 117 /* almost internal */
116 QString toString()const; 118 QString toString()const;
117private: 119
120 private:
118 bool p_nextOccurrence( const QDate& from, QDate& next ); 121 bool p_nextOccurrence( const QDate& from, QDate& next );
119 void deref(); 122 void deref();
120 inline void checkOrModify(); 123 inline void checkOrModify();
121 124
122 /* Converts rType to String */ 125 /* Converts rType to String */
123 QString rTypeString() const; 126 QString rTypeString() const;
124 /* Returns a map to convert Stringname for RType to RepeatType */ 127 /* Returns a map to convert Stringname for RType to RepeatType */
125 QMap<QString, RepeatType> rTypeValueConvertMap() const; 128 QMap<QString, RepeatType> rTypeValueConvertMap() const;
126 129
127 class Data; 130 class Data;
128 Data* data; 131 Data* data;
129 class ORecurPrivate; 132 class ORecurPrivate;