summaryrefslogtreecommitdiff
path: root/libopie
authorzecke <zecke>2002-06-17 14:20:23 (UTC)
committer zecke <zecke>2002-06-17 14:20:23 (UTC)
commitf27745ccf2ace20e5adc44bf630b20e5657feeb2 (patch) (unidiff)
tree3fbd91d407051cf94551e49c29d593d6b8c89058 /libopie
parent77ec78630c69c80a3d8bad7f7feb9cc9f18ab346 (diff)
downloadopie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.zip
opie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.tar.gz
opie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.tar.bz2
Cross Referencing is possible by now
Diffstat (limited to 'libopie') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/todoevent.cpp57
-rw-r--r--libopie/todoevent.h29
2 files changed, 86 insertions, 0 deletions
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp
index b35ac9d..f744550 100644
--- a/libopie/todoevent.cpp
+++ b/libopie/todoevent.cpp
@@ -81,12 +81,30 @@ QString ToDoEvent::summary() const
81 return m_sum; 81 return m_sum;
82} 82}
83ushort ToDoEvent::progress() const 83ushort ToDoEvent::progress() const
84{ 84{
85 return m_prog; 85 return m_prog;
86} 86}
87QStringList ToDoEvent::relatedApps() const
88{
89 QStringList list;
90 QMap<QString, QArray<int> >::ConstIterator it;
91 for ( it = m_relations.begin(); it != m_relations.end(); ++it ) {
92 list << it.key();
93 }
94 return list;
95}
96QArray<int> ToDoEvent::relations( const QString& app)const
97{
98 QArray<int> tmp;
99 QMap<QString, QArray<int> >::ConstIterator it;
100 it = m_relations.find( app);
101 if ( it != m_relations.end() )
102 tmp = it.data();
103 return tmp;
104}
87void ToDoEvent::insertCategory(const QString &str ) 105void ToDoEvent::insertCategory(const QString &str )
88{ 106{
89 m_category.append( str ); 107 m_category.append( str );
90} 108}
91void ToDoEvent::clearCategories() 109void ToDoEvent::clearCategories()
92{ 110{
@@ -136,12 +154,51 @@ void ToDoEvent::setPriority(int prio )
136 m_priority = prio; 154 m_priority = prio;
137} 155}
138void ToDoEvent::setDate( QDate date ) 156void ToDoEvent::setDate( QDate date )
139{ 157{
140 m_date = date; 158 m_date = date;
141} 159}
160void ToDoEvent::addRelated( const QString &app, int id )
161{
162 QMap<QString, QArray<int> >::Iterator it;
163 QArray<int> tmp;
164 it = m_relations.find( app );
165 if ( it == m_relations.end() ) {
166 tmp.resize(1 );
167 tmp[0] = id;
168 }else{
169 tmp = it.data();
170 tmp.resize( tmp.size() + 1 );
171 tmp[tmp.size() - 1] = id;
172 }
173 m_relations.replace( app, tmp );
174}
175void ToDoEvent::addRelated(const QString& app, QArray<int> ids )
176{
177 QMap<QString, QArray<int> >::Iterator it;
178 QArray<int> tmp;
179 it = m_relations.find( app);
180 if ( it == m_relations.end() ) { // not there
181 /** tmp.resize( ids.size() ); stupid??
182 */
183 tmp = ids;
184 }else{
185 tmp = it.data();
186 int offset = tmp.size()-1;
187 tmp.resize( tmp.size() + ids.size() );
188 for (uint i = 0; i < ids.size(); i++ ) {
189 tmp[offset+i] = ids[i];
190 }
191
192 }
193 m_relations.replace( app, tmp );
194}
195void ToDoEvent::clearRelated( const QString& app )
196{
197 m_relations.remove( app );
198}
142bool ToDoEvent::isOverdue( ) 199bool ToDoEvent::isOverdue( )
143{ 200{
144 if( m_hasDate ) 201 if( m_hasDate )
145 return QDate::currentDate() > m_date; 202 return QDate::currentDate() > m_date;
146 return false; 203 return false;
147} 204}
diff --git a/libopie/todoevent.h b/libopie/todoevent.h
index de4623f..b55a39b 100644
--- a/libopie/todoevent.h
+++ b/libopie/todoevent.h
@@ -1,15 +1,18 @@
1 1
2#ifndef todoevent_h 2#ifndef todoevent_h
3#define todoevent_h 3#define todoevent_h
4 4
5
6#include <qarray.h>
5#include <qmap.h> 7#include <qmap.h>
6#include <qregexp.h> 8#include <qregexp.h>
7#include <qstringlist.h> 9#include <qstringlist.h>
8#include <qdatetime.h> 10#include <qdatetime.h>
9 11
12
10class ToDoEvent { 13class ToDoEvent {
11 friend class ToDoDB; 14 friend class ToDoDB;
12 public: 15 public:
13 // priorities from Very low to very high 16 // priorities from Very low to very high
14 enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW }; 17 enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW };
15 /* Constructs a new ToDoEvent 18 /* Constructs a new ToDoEvent
@@ -86,12 +89,22 @@ class ToDoEvent {
86 * Returns the UID of the Todo 89 * Returns the UID of the Todo
87 */ 90 */
88 int uid()const { return m_uid;}; 91 int uid()const { return m_uid;};
89 92
90 93
91 QString extra(const QString& )const; 94 QString extra(const QString& )const;
95
96 /**
97 * returns a list of apps which have related items
98 */
99 QStringList relatedApps()const;
100
101 /**
102 * returns all relations for one app
103 */
104 QArray<int> relations( const QString& app )const;
92 /** 105 /**
93 * Set if this Todo is completed 106 * Set if this Todo is completed
94 */ 107 */
95 void setCompleted(bool completed ); 108 void setCompleted(bool completed );
96 109
97 /** 110 /**
@@ -122,12 +135,27 @@ class ToDoEvent {
122 /** 135 /**
123 * Set the progress. 136 * Set the progress.
124 */ 137 */
125 void setProgress( ushort progress ); 138 void setProgress( ushort progress );
126 139
127 /** 140 /**
141 * add related function it replaces too ;)
142 */
143 void addRelated( const QString& app, int id );
144
145 /**
146 * add related
147 */
148 void addRelated( const QString& app, QArray<int> ids );
149
150 /**
151 * clear relations for one app
152 */
153 void clearRelated(const QString& app);
154
155 /**
128 * set the end date 156 * set the end date
129 */ 157 */
130 void setDate( QDate date ); 158 void setDate( QDate date );
131 void setDescription(const QString& ); 159 void setDescription(const QString& );
132 void setSummary(const QString& ); 160 void setSummary(const QString& );
133 void setExtra( const QString&, const QString& ); 161 void setExtra( const QString&, const QString& );
@@ -151,12 +179,13 @@ class ToDoEvent {
151 bool m_hasDate:1; 179 bool m_hasDate:1;
152 int m_priority; 180 int m_priority;
153 QStringList m_category; 181 QStringList m_category;
154 QString m_desc; 182 QString m_desc;
155 QString m_sum; 183 QString m_sum;
156 QMap<QString, QString> m_extra; 184 QMap<QString, QString> m_extra;
185 QMap<QString, QArray<int> > m_relations;
157 int m_uid; 186 int m_uid;
158 ushort m_prog; 187 ushort m_prog;
159}; 188};
160 189
161 190
162#endif 191#endif