summaryrefslogtreecommitdiff
authorzecke <zecke>2002-03-20 21:55:54 (UTC)
committer zecke <zecke>2002-03-20 21:55:54 (UTC)
commitc6e7f6e2ab8556064ec79fc9bbaa9e0398a7b344 (patch) (unidiff)
treef68d6a7c899e1ffe297af30002a3dc8b4f3762c6
parent0d759d6e9c84a8597b6594bb7c5ad5d17621b966 (diff)
downloadopie-c6e7f6e2ab8556064ec79fc9bbaa9e0398a7b344.zip
opie-c6e7f6e2ab8556064ec79fc9bbaa9e0398a7b344.tar.gz
opie-c6e7f6e2ab8556064ec79fc9bbaa9e0398a7b344.tar.bz2
tododb vCal support
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/tododb.h4
-rw-r--r--libopie/todoevent.cpp6
-rw-r--r--libopie/todoevent.h1
-rw-r--r--libopie/todovcalresource.h42
4 files changed, 51 insertions, 2 deletions
diff --git a/libopie/tododb.h b/libopie/tododb.h
index 945f343..e77a0f4 100644
--- a/libopie/tododb.h
+++ b/libopie/tododb.h
@@ -1,44 +1,44 @@
1 1
2#ifndef tododb_h 2#ifndef tododb_h
3#define tododb_h 3#define tododb_h
4 4
5#include <qvaluelist.h> 5#include <qvaluelist.h>
6 6
7#include <opie/todoevent.h> 7#include <opie/todoevent.h>
8 8
9class ToDoResource; 9class ToDoResource;
10class ToDoDB 10class ToDoDB
11{ 11{
12 public: 12 public:
13 // if no argument is supplied pick the default book 13 // if no argument is supplied pick the default book
14 ToDoDB(const QString &fileName = QString::null, ToDoResource* resource= 0 ); 14 ToDoDB(const QString &fileName = QString::null, ToDoResource* resource= 0 );
15 ~ToDoDB(); 15 ~ToDoDB();
16 QValueList<ToDoEvent> effectiveToDos(const QDate &from, 16 QValueList<ToDoEvent> effectiveToDos(const QDate &from,
17 const QDate &to, 17 const QDate &to,
18 bool includeNoDates = true); 18 bool includeNoDates = true);
19 QValueList<ToDoEvent> effectiveToDos(const QDate &start, bool includeNoDates = true ); 19 QValueList<ToDoEvent> effectiveToDos(const QDate &start, bool includeNoDates = true );
20 QValueList<ToDoEvent> rawToDos(); // all events 20 QValueList<ToDoEvent> rawToDos(); // all events
21 QValueList<ToDoEvent> overDue(); 21 QValueList<ToDoEvent> overDue();
22 22
23 void addEvent(const ToDoEvent &event ); 23 void addEvent(const ToDoEvent &event );
24 void editEvent(const ToDoEvent &editEvent ); 24 void editEvent(const ToDoEvent &editEvent );
25 void removeEvent(const ToDoEvent &event); 25 void removeEvent(const ToDoEvent &event);
26 26
27 void reload(); 27 void reload();
28 void setFileName(const QString & ); 28 void setFileName(const QString & );
29 QString fileName()const; 29 QString fileName()const;
30 bool save(); 30 bool save();
31 ToDoResource *resource(); 31 ToDoResource *resource();
32 void setResource(ToDoResource* res); 32 void setResource(ToDoResource* res);
33 33
34 private: 34 private:
35 class ToDoDBPrivate; 35 class ToDoDBPrivate;
36 ToDoDBPrivate *d; 36 ToDoDBPrivate *d;
37 QString m_fileName; 37 QString m_fileName;
38 ToDoResource *m_res; 38 ToDoResource *m_res;
39 QValueList<ToDoEvent> m_todos; 39 QValueList<ToDoEvent> m_todos;
40 void load(); 40 void load();
41}; 41};
42 42
43 43
44#endif 44#endif
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp
index 5fa4472..daa25f4 100644
--- a/libopie/todoevent.cpp
+++ b/libopie/todoevent.cpp
@@ -1,152 +1,158 @@
1 1
2#include <opie/todoevent.h> 2#include <opie/todoevent.h>
3#include <qpe/palmtopuidgen.h> 3#include <qpe/palmtopuidgen.h>
4#include <qpe/stringutil.h> 4#include <qpe/stringutil.h>
5//#include <qpe/palmtoprecord.h> 5//#include <qpe/palmtoprecord.h>
6 6
7ToDoEvent::ToDoEvent(const ToDoEvent &event )
8{
9 *this = event;
10}
11
7ToDoEvent::ToDoEvent(bool completed, int priority, const QString &category, 12ToDoEvent::ToDoEvent(bool completed, int priority, const QString &category,
8 const QString &description, bool hasDate, QDate date, int uid ) 13 const QString &description, bool hasDate, QDate date, int uid )
9{ 14{
10 qWarning("todoEvent c'tor" ); 15 qWarning("todoEvent c'tor" );
11 m_date = date; 16 m_date = date;
12 m_isCompleted = completed; 17 m_isCompleted = completed;
13 m_hasDate = hasDate; 18 m_hasDate = hasDate;
14 m_priority = priority; 19 m_priority = priority;
15 m_category = category; 20 m_category = category;
16 m_desc = Qtopia::simplifyMultiLineSpace(description ); 21 m_desc = Qtopia::simplifyMultiLineSpace(description );
17 if (uid == -1 ) { 22 if (uid == -1 ) {
18 Qtopia::UidGen *uidgen = new Qtopia::UidGen(); 23 Qtopia::UidGen *uidgen = new Qtopia::UidGen();
19 uid = uidgen->generate(); 24 uid = uidgen->generate();
20 delete uidgen; 25 delete uidgen;
21 }// generate the ids 26 }// generate the ids
22 m_uid = uid; 27 m_uid = uid;
23} 28}
24bool ToDoEvent::isCompleted() const 29bool ToDoEvent::isCompleted() const
25{ 30{
26 return m_isCompleted; 31 return m_isCompleted;
27} 32}
28bool ToDoEvent::hasDate() const 33bool ToDoEvent::hasDate() const
29{ 34{
30 return m_hasDate; 35 return m_hasDate;
31} 36}
32int ToDoEvent::priority()const 37int ToDoEvent::priority()const
33{ 38{
34 return m_priority; 39 return m_priority;
35} 40}
36QString ToDoEvent::category()const 41QString ToDoEvent::category()const
37{ 42{
38 return m_category; 43 return m_category;
39} 44}
40QDate ToDoEvent::date()const 45QDate ToDoEvent::date()const
41{ 46{
42 return m_date; 47 return m_date;
43} 48}
44QString ToDoEvent::description()const 49QString ToDoEvent::description()const
45{ 50{
46 return m_desc; 51 return m_desc;
47} 52}
48void ToDoEvent::setCompleted( bool completed ) 53void ToDoEvent::setCompleted( bool completed )
49{ 54{
50 m_isCompleted = completed; 55 m_isCompleted = completed;
51} 56}
52void ToDoEvent::setHasDate( bool hasDate ) 57void ToDoEvent::setHasDate( bool hasDate )
53{ 58{
54 m_hasDate = hasDate; 59 m_hasDate = hasDate;
55} 60}
56void ToDoEvent::setDescription(const QString &desc ) 61void ToDoEvent::setDescription(const QString &desc )
57{ 62{
58 m_desc = Qtopia::simplifyMultiLineSpace(desc ); 63 m_desc = Qtopia::simplifyMultiLineSpace(desc );
59} 64}
60void ToDoEvent::setCategory( const QString &cat ) 65void ToDoEvent::setCategory( const QString &cat )
61{ 66{
62 m_category = cat; 67 m_category = cat;
63} 68}
64void ToDoEvent::setPriority(int prio ) 69void ToDoEvent::setPriority(int prio )
65{ 70{
66 m_priority = prio; 71 m_priority = prio;
67} 72}
68void ToDoEvent::setDate( QDate date ) 73void ToDoEvent::setDate( QDate date )
69{ 74{
70 m_date = date; 75 m_date = date;
71} 76}
72bool ToDoEvent::isOverdue( ) 77bool ToDoEvent::isOverdue( )
73{ 78{
74 if( m_hasDate ) 79 if( m_hasDate )
75 return QDate::currentDate() > m_date; 80 return QDate::currentDate() > m_date;
76 return false; 81 return false;
77} 82}
78bool ToDoEvent::operator<( const ToDoEvent &toDoEvent )const{ 83bool ToDoEvent::operator<( const ToDoEvent &toDoEvent )const{
79 if( !hasDate() && !toDoEvent.hasDate() ) return true; 84 if( !hasDate() && !toDoEvent.hasDate() ) return true;
80 if( !hasDate() && toDoEvent.hasDate() ) return true; 85 if( !hasDate() && toDoEvent.hasDate() ) return true;
81 if( hasDate() && toDoEvent.hasDate() ){ 86 if( hasDate() && toDoEvent.hasDate() ){
82 if( date() == toDoEvent.date() ){ // let's the priority decide 87 if( date() == toDoEvent.date() ){ // let's the priority decide
83 return priority() < toDoEvent.priority(); 88 return priority() < toDoEvent.priority();
84 }else{ 89 }else{
85 return date() < toDoEvent.date(); 90 return date() < toDoEvent.date();
86 } 91 }
87 } 92 }
88 return false; 93 return false;
89} 94}
90bool ToDoEvent::operator<=(const ToDoEvent &toDoEvent )const 95bool ToDoEvent::operator<=(const ToDoEvent &toDoEvent )const
91{ 96{
92 if( !hasDate() && !toDoEvent.hasDate() ) return true; 97 if( !hasDate() && !toDoEvent.hasDate() ) return true;
93 if( !hasDate() && toDoEvent.hasDate() ) return true; 98 if( !hasDate() && toDoEvent.hasDate() ) return true;
94 if( hasDate() && toDoEvent.hasDate() ){ 99 if( hasDate() && toDoEvent.hasDate() ){
95 if( date() == toDoEvent.date() ){ // let's the priority decide 100 if( date() == toDoEvent.date() ){ // let's the priority decide
96 return priority() <= toDoEvent.priority(); 101 return priority() <= toDoEvent.priority();
97 }else{ 102 }else{
98 return date() <= toDoEvent.date(); 103 return date() <= toDoEvent.date();
99 } 104 }
100 } 105 }
101 return true; 106 return true;
102} 107}
103bool ToDoEvent::operator>(const ToDoEvent &toDoEvent )const 108bool ToDoEvent::operator>(const ToDoEvent &toDoEvent )const
104{ 109{
105 if( !hasDate() && !toDoEvent.hasDate() ) return false; 110 if( !hasDate() && !toDoEvent.hasDate() ) return false;
106 if( !hasDate() && toDoEvent.hasDate() ) return false; 111 if( !hasDate() && toDoEvent.hasDate() ) return false;
107 if( hasDate() && toDoEvent.hasDate() ){ 112 if( hasDate() && toDoEvent.hasDate() ){
108 if( date() == toDoEvent.date() ){ // let's the priority decide 113 if( date() == toDoEvent.date() ){ // let's the priority decide
109 return priority() > toDoEvent.priority(); 114 return priority() > toDoEvent.priority();
110 }else{ 115 }else{
111 return date() > toDoEvent.date(); 116 return date() > toDoEvent.date();
112 } 117 }
113 } 118 }
114 return false; 119 return false;
115} 120}
116bool ToDoEvent::operator>=(const ToDoEvent &toDoEvent )const 121bool ToDoEvent::operator>=(const ToDoEvent &toDoEvent )const
117{ 122{
118 if( !hasDate() && !toDoEvent.hasDate() ) return true; 123 if( !hasDate() && !toDoEvent.hasDate() ) return true;
119 if( !hasDate() && toDoEvent.hasDate() ) return false; 124 if( !hasDate() && toDoEvent.hasDate() ) return false;
120 if( hasDate() && toDoEvent.hasDate() ){ 125 if( hasDate() && toDoEvent.hasDate() ){
121 if( date() == toDoEvent.date() ){ // let's the priority decide 126 if( date() == toDoEvent.date() ){ // let's the priority decide
122 return priority() > toDoEvent.priority(); 127 return priority() > toDoEvent.priority();
123 }else{ 128 }else{
124 return date() > toDoEvent.date(); 129 return date() > toDoEvent.date();
125 } 130 }
126 } 131 }
127 return true; 132 return true;
128} 133}
129bool ToDoEvent::operator==(const ToDoEvent &toDoEvent )const 134bool ToDoEvent::operator==(const ToDoEvent &toDoEvent )const
130{ 135{
131 if( m_date == toDoEvent.m_date && m_isCompleted == toDoEvent.m_isCompleted && m_hasDate == toDoEvent.m_hasDate && m_priority == toDoEvent.m_priority && m_category == toDoEvent.m_category && m_desc == toDoEvent.m_category ) 136 if( m_date == toDoEvent.m_date && m_isCompleted == toDoEvent.m_isCompleted && m_hasDate == toDoEvent.m_hasDate && m_priority == toDoEvent.m_priority && m_category == toDoEvent.m_category && m_desc == toDoEvent.m_category )
132 return true; 137 return true;
133 return false; 138 return false;
134} 139}
135ToDoEvent &ToDoEvent::operator=(const ToDoEvent &item ) 140ToDoEvent &ToDoEvent::operator=(const ToDoEvent &item )
136{ 141{
137 m_date = item.m_date; 142 m_date = item.m_date;
138 m_isCompleted = item.m_isCompleted; 143 m_isCompleted = item.m_isCompleted;
139 m_hasDate = item.m_hasDate; 144 m_hasDate = item.m_hasDate;
140 m_priority = item.m_priority; 145 m_priority = item.m_priority;
141 m_category = item.m_category; 146 m_category = item.m_category;
142 m_desc = item.m_desc; 147 m_desc = item.m_desc;
148 m_uid = item.m_uid;
143 return *this; 149 return *this;
144} 150}
145 151
146 152
147 153
148 154
149 155
150 156
151 157
152 158
diff --git a/libopie/todoevent.h b/libopie/todoevent.h
index 79522b2..bca7f6e 100644
--- a/libopie/todoevent.h
+++ b/libopie/todoevent.h
@@ -1,53 +1,54 @@
1 1
2#ifndef todoevent_h 2#ifndef todoevent_h
3#define todoevent_h 3#define todoevent_h
4 4
5#include <qdatetime.h> 5#include <qdatetime.h>
6 6
7class ToDoEvent { 7class ToDoEvent {
8 friend class ToDoDB; 8 friend class ToDoDB;
9 public: 9 public:
10 enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW }; 10 enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW };
11 ToDoEvent( bool completed = false, int priority = NORMAL, 11 ToDoEvent( bool completed = false, int priority = NORMAL,
12 const QString &category = QString::null, 12 const QString &category = QString::null,
13 const QString &description = QString::null , 13 const QString &description = QString::null ,
14 bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 ); 14 bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 );
15 ToDoEvent(const ToDoEvent & );
15 bool isCompleted() const; 16 bool isCompleted() const;
16 bool hasDate() const; 17 bool hasDate() const;
17 int priority()const ; 18 int priority()const ;
18 QString category()const; 19 QString category()const;
19 QDate date()const; 20 QDate date()const;
20 QString description()const; 21 QString description()const;
21 22
22 int uid()const { return m_uid;}; 23 int uid()const { return m_uid;};
23 void setCompleted(bool completed ); 24 void setCompleted(bool completed );
24 void setHasDate( bool hasDate ); 25 void setHasDate( bool hasDate );
25 // if the category doesn't exist we will create it 26 // if the category doesn't exist we will create it
26 void setCategory( const QString &category ); 27 void setCategory( const QString &category );
27 void setPriority(int priority ); 28 void setPriority(int priority );
28 void setDate( QDate date ); 29 void setDate( QDate date );
29 void setDescription(const QString& ); 30 void setDescription(const QString& );
30 bool isOverdue(); 31 bool isOverdue();
31 32
32 void setUid(int id) {m_uid = id; }; 33 void setUid(int id) {m_uid = id; };
33 bool operator<(const ToDoEvent &toDoEvent )const; 34 bool operator<(const ToDoEvent &toDoEvent )const;
34 bool operator<=(const ToDoEvent &toDoEvent )const; 35 bool operator<=(const ToDoEvent &toDoEvent )const;
35 bool operator!=(const ToDoEvent &toDoEvent )const { return !(*this == toDoEvent); }; 36 bool operator!=(const ToDoEvent &toDoEvent )const { return !(*this == toDoEvent); };
36 bool operator>(const ToDoEvent &toDoEvent )const; 37 bool operator>(const ToDoEvent &toDoEvent )const;
37 bool operator>=(const ToDoEvent &toDoEvent)const; 38 bool operator>=(const ToDoEvent &toDoEvent)const;
38 bool operator==(const ToDoEvent &toDoEvent )const; 39 bool operator==(const ToDoEvent &toDoEvent )const;
39 ToDoEvent &operator=(const ToDoEvent &toDoEvent ); 40 ToDoEvent &operator=(const ToDoEvent &toDoEvent );
40 private: 41 private:
41 class ToDoEventPrivate; 42 class ToDoEventPrivate;
42 ToDoEventPrivate *d; 43 ToDoEventPrivate *d;
43 QDate m_date; 44 QDate m_date;
44 bool m_isCompleted:1; 45 bool m_isCompleted:1;
45 bool m_hasDate:1; 46 bool m_hasDate:1;
46 int m_priority; 47 int m_priority;
47 QString m_category; 48 QString m_category;
48 QString m_desc; 49 QString m_desc;
49 int m_uid; 50 int m_uid;
50}; 51};
51 52
52 53
53#endif 54#endif
diff --git a/libopie/todovcalresource.h b/libopie/todovcalresource.h
new file mode 100644
index 0000000..0663bc2
--- a/dev/null
+++ b/libopie/todovcalresource.h
@@ -0,0 +1,42 @@
1/*
2               =. This file is part of the OPIE Project
3             .=l. Copyright (c) 2002 Holger Freyther <freyther@kde.org>
4           .>+-=
5 _;:,     .>    :=|. This library is free software; you can
6.> <`_,   >  .   <= redistribute it and/or modify it under
7:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
8.="- .-=="i,     .._ License as published by the Free Software
9 - .   .-<_>     .<> Foundation; either version 2 of the License,
10     ._= =}       : or (at your option) any later version.
11    .%`+i>       _;_.
12    .i_,=:_.      -<s. This library is distributed in the hope that
13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
14    : ..    .:,     . . . without even the implied warranty of
15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
17..}^=.=       =       ; Library General Public License for more
18++=   -.     .`     .: details.
19 :     =  ...= . :.=-
20 -.   .:....=;==+<; You should have received a copy of the GNU
21  -_. . .   )=.  = Library General Public License along with
22    --        :-=` this library; see the file COPYING.LIB.
23 If not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA.
26
27*/
28
29#ifndef opievcaltodoresource_h
30#define opievcaltodoresource_h
31
32#include <opie/todoresource.h>
33
34class ToDoVCalResource : public ToDoResource {
35 public:
36 ToDoVCalResource() { };
37 QValueList<ToDoEvent> load(const QString &file );
38 bool save( const QString &filename, const QValueList<ToDoEvent> & );
39
40};
41
42#endif