summaryrefslogtreecommitdiff
path: root/libopie
authortille <tille>2003-05-14 15:24:00 (UTC)
committer tille <tille>2003-05-14 15:24:00 (UTC)
commitdbda71abdc7c13ac0acde21320ee00726d95dec4 (patch) (unidiff)
tree4049f593592b6d7e8a32d9837819c96c6592ae38 /libopie
parent20509790738fae5e63a081183c8c3be3891a5bdb (diff)
downloadopie-dbda71abdc7c13ac0acde21320ee00726d95dec4.zip
opie-dbda71abdc7c13ac0acde21320ee00726d95dec4.tar.gz
opie-dbda71abdc7c13ac0acde21320ee00726d95dec4.tar.bz2
lastHitField impl
Diffstat (limited to 'libopie') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/oevent.cpp20
-rw-r--r--libopie/pim/otodo.cpp12
2 files changed, 23 insertions, 9 deletions
diff --git a/libopie/pim/oevent.cpp b/libopie/pim/oevent.cpp
index cda12f9..2b138c0 100644
--- a/libopie/pim/oevent.cpp
+++ b/libopie/pim/oevent.cpp
@@ -167,106 +167,116 @@ QDateTime OEvent::startDateTimeInZone()const {
167 167
168 OTimeZone zone(data->timezone ); 168 OTimeZone zone(data->timezone );
169 return zone.toDateTime( data->start, OTimeZone::current() ); 169 return zone.toDateTime( data->start, OTimeZone::current() );
170} 170}
171void OEvent::setStartDateTime( const QDateTime& dt ) { 171void OEvent::setStartDateTime( const QDateTime& dt ) {
172 changeOrModify(); 172 changeOrModify();
173 data->start = dt; 173 data->start = dt;
174} 174}
175QDateTime OEvent::endDateTime()const { 175QDateTime OEvent::endDateTime()const {
176 /* 176 /*
177 * if all Day event the end time needs 177 * if all Day event the end time needs
178 * to be on the same day as the start 178 * to be on the same day as the start
179 */ 179 */
180 if ( data->isAllDay ) 180 if ( data->isAllDay )
181 return QDateTime( data->start.date(), QTime(23, 59, 59 ) ); 181 return QDateTime( data->start.date(), QTime(23, 59, 59 ) );
182 return data->end; 182 return data->end;
183} 183}
184QDateTime OEvent::endDateTimeInZone()const { 184QDateTime OEvent::endDateTimeInZone()const {
185 /* if no timezone, or all day event or if the current and this timeZone match... */ 185 /* if no timezone, or all day event or if the current and this timeZone match... */
186 if (data->timezone.isEmpty() || data->isAllDay || data->timezone == OTimeZone::current().timeZone() ) return endDateTime(); 186 if (data->timezone.isEmpty() || data->isAllDay || data->timezone == OTimeZone::current().timeZone() ) return endDateTime();
187 187
188 OTimeZone zone(data->timezone ); 188 OTimeZone zone(data->timezone );
189 return zone.toDateTime( data->end, OTimeZone::current() ); 189 return zone.toDateTime( data->end, OTimeZone::current() );
190} 190}
191void OEvent::setEndDateTime( const QDateTime& dt ) { 191void OEvent::setEndDateTime( const QDateTime& dt ) {
192 changeOrModify(); 192 changeOrModify();
193 data->end = dt; 193 data->end = dt;
194} 194}
195bool OEvent::isMultipleDay()const { 195bool OEvent::isMultipleDay()const {
196 return data->end.date().day() - data->start.date().day(); 196 return data->end.date().day() - data->start.date().day();
197} 197}
198bool OEvent::isAllDay()const { 198bool OEvent::isAllDay()const {
199 return data->isAllDay; 199 return data->isAllDay;
200} 200}
201void OEvent::setAllDay( bool allDay ) { 201void OEvent::setAllDay( bool allDay ) {
202 changeOrModify(); 202 changeOrModify();
203 data->isAllDay = allDay; 203 data->isAllDay = allDay;
204 if (allDay ) data->timezone = "UTC"; 204 if (allDay ) data->timezone = "UTC";
205} 205}
206void OEvent::setTimeZone( const QString& tz ) { 206void OEvent::setTimeZone( const QString& tz ) {
207 changeOrModify(); 207 changeOrModify();
208 data->timezone = tz; 208 data->timezone = tz;
209} 209}
210QString OEvent::timeZone()const { 210QString OEvent::timeZone()const {
211 if (data->isAllDay ) return QString::fromLatin1("UTC"); 211 if (data->isAllDay ) return QString::fromLatin1("UTC");
212 return data->timezone; 212 return data->timezone;
213} 213}
214bool OEvent::match( const QRegExp& re )const { 214bool OEvent::match( const QRegExp& re )const {
215 if ( re.match( data->description ) != -1 ) 215 if ( re.match( data->description ) != -1 ){
216 setLastHitField( DatebookDescription );
216 return true; 217 return true;
217 if ( re.match( data->note ) != -1 ) 218 }
219 if ( re.match( data->note ) != -1 ){
220 setLastHitField( Note );
218 return true; 221 return true;
219 if ( re.match( data->location ) != -1 ) 222 }
223 if ( re.match( data->location ) != -1 ){
224 setLastHitField( Location );
220 return true; 225 return true;
221 if ( re.match( data->start.toString() ) != -1 ) 226 }
227 if ( re.match( data->start.toString() ) != -1 ){
228 setLastHitField( StartDateTime );
222 return true; 229 return true;
223 if ( re.match( data->end.toString() ) != -1 ) 230 }
231 if ( re.match( data->end.toString() ) != -1 ){
232 setLastHitField( EndDateTime );
224 return true; 233 return true;
234 }
225 return false; 235 return false;
226} 236}
227QString OEvent::toRichText()const { 237QString OEvent::toRichText()const {
228 QString text; 238 QString text;
229 if ( !description().isEmpty() ) { 239 if ( !description().isEmpty() ) {
230 text += "<b>" + QObject::tr( "Description:") + "</b><br>"; 240 text += "<b>" + QObject::tr( "Description:") + "</b><br>";
231 text += Qtopia::escapeString(description() ). 241 text += Qtopia::escapeString(description() ).
232 replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; 242 replace(QRegExp( "[\n]"), "<br>" ) + "<br>";
233 } 243 }
234 if ( startDateTime().isValid() ) { 244 if ( startDateTime().isValid() ) {
235 text += "<b>" + QObject::tr( "Start:") + "</b> "; 245 text += "<b>" + QObject::tr( "Start:") + "</b> ";
236 text += Qtopia::escapeString(startDateTime().toString() ). 246 text += Qtopia::escapeString(startDateTime().toString() ).
237 replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; 247 replace(QRegExp( "[\n]"), "<br>" ) + "<br>";
238 } 248 }
239 if ( endDateTime().isValid() ) { 249 if ( endDateTime().isValid() ) {
240 text += "<b>" + QObject::tr( "End:") + "</b> "; 250 text += "<b>" + QObject::tr( "End:") + "</b> ";
241 text += Qtopia::escapeString(endDateTime().toString() ). 251 text += Qtopia::escapeString(endDateTime().toString() ).
242 replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; 252 replace(QRegExp( "[\n]"), "<br>" ) + "<br>";
243 } 253 }
244 if ( !note().isEmpty() ) { 254 if ( !note().isEmpty() ) {
245 text += "<b>" + QObject::tr( "Note:") + "</b><br>"; 255 text += "<b>" + QObject::tr( "Note:") + "</b><br>";
246 text += note(); 256 text += note();
247// text += Qtopia::escapeString(note() ). 257// text += Qtopia::escapeString(note() ).
248// replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; 258// replace(QRegExp( "[\n]"), "<br>" ) + "<br>";
249 } 259 }
250 return text; 260 return text;
251} 261}
252QString OEvent::toShortText()const { 262QString OEvent::toShortText()const {
253 QString text; 263 QString text;
254 text += QString::number( startDateTime().date().day() ); 264 text += QString::number( startDateTime().date().day() );
255 text += "."; 265 text += ".";
256 text += QString::number( startDateTime().date().month() ); 266 text += QString::number( startDateTime().date().month() );
257 text += "."; 267 text += ".";
258 text += QString::number( startDateTime().date().year() ); 268 text += QString::number( startDateTime().date().year() );
259 text += " "; 269 text += " ";
260 text += QString::number( startDateTime().time().hour() ); 270 text += QString::number( startDateTime().time().hour() );
261 text += ":"; 271 text += ":";
262 text += QString::number( startDateTime().time().minute() ); 272 text += QString::number( startDateTime().time().minute() );
263 text += " - "; 273 text += " - ";
264 text += description(); 274 text += description();
265 return text; 275 return text;
266} 276}
267QString OEvent::type()const { 277QString OEvent::type()const {
268 return QString::fromLatin1("OEvent"); 278 return QString::fromLatin1("OEvent");
269} 279}
270QString OEvent::recordField( int /*id */ )const { 280QString OEvent::recordField( int /*id */ )const {
271 return QString::null; 281 return QString::null;
272} 282}
diff --git a/libopie/pim/otodo.cpp b/libopie/pim/otodo.cpp
index a29d88e..e087a00 100644
--- a/libopie/pim/otodo.cpp
+++ b/libopie/pim/otodo.cpp
@@ -60,103 +60,107 @@ OTodo::~OTodo() {
60 data = 0l; 60 data = 0l;
61 } 61 }
62} 62}
63OTodo::OTodo(bool completed, int priority, 63OTodo::OTodo(bool completed, int priority,
64 const QArray<int> &category, 64 const QArray<int> &category,
65 const QString& summary, 65 const QString& summary,
66 const QString &description, 66 const QString &description,
67 ushort progress, 67 ushort progress,
68 bool hasDate, QDate date, int uid ) 68 bool hasDate, QDate date, int uid )
69 : OPimRecord( uid ) 69 : OPimRecord( uid )
70{ 70{
71// qWarning("OTodoData " + summary); 71// qWarning("OTodoData " + summary);
72 setCategories( category ); 72 setCategories( category );
73 73
74 data = new OTodoData; 74 data = new OTodoData;
75 75
76 data->date = date; 76 data->date = date;
77 data->isCompleted = completed; 77 data->isCompleted = completed;
78 data->hasDate = hasDate; 78 data->hasDate = hasDate;
79 data->priority = priority; 79 data->priority = priority;
80 data->sum = summary; 80 data->sum = summary;
81 data->prog = progress; 81 data->prog = progress;
82 data->desc = Qtopia::simplifyMultiLineSpace(description ); 82 data->desc = Qtopia::simplifyMultiLineSpace(description );
83} 83}
84OTodo::OTodo(bool completed, int priority, 84OTodo::OTodo(bool completed, int priority,
85 const QStringList &category, 85 const QStringList &category,
86 const QString& summary, 86 const QString& summary,
87 const QString &description, 87 const QString &description,
88 ushort progress, 88 ushort progress,
89 bool hasDate, QDate date, int uid ) 89 bool hasDate, QDate date, int uid )
90 : OPimRecord( uid ) 90 : OPimRecord( uid )
91{ 91{
92// qWarning("OTodoData" + summary); 92// qWarning("OTodoData" + summary);
93 setCategories( idsFromString( category.join(";") ) ); 93 setCategories( idsFromString( category.join(";") ) );
94 94
95 data = new OTodoData; 95 data = new OTodoData;
96 96
97 data->date = date; 97 data->date = date;
98 data->isCompleted = completed; 98 data->isCompleted = completed;
99 data->hasDate = hasDate; 99 data->hasDate = hasDate;
100 data->priority = priority; 100 data->priority = priority;
101 data->sum = summary; 101 data->sum = summary;
102 data->prog = progress; 102 data->prog = progress;
103 data->desc = Qtopia::simplifyMultiLineSpace(description ); 103 data->desc = Qtopia::simplifyMultiLineSpace(description );
104} 104}
105bool OTodo::match( const QRegExp &regExp )const 105bool OTodo::match( const QRegExp &regExp )const
106{ 106{
107 if( QString::number( data->priority ).find( regExp ) != -1 ){ 107 if( QString::number( data->priority ).find( regExp ) != -1 ){
108 return true; 108 setLastHitField( Priority );
109 return true;
109 }else if( data->hasDate && data->date.toString().find( regExp) != -1 ){ 110 }else if( data->hasDate && data->date.toString().find( regExp) != -1 ){
110 return true; 111 setLastHitField( HasDate );
112 return true;
111 }else if(data->desc.find( regExp ) != -1 ){ 113 }else if(data->desc.find( regExp ) != -1 ){
112 return true; 114 setLastHitField( Description );
115 return true;
113 }else if(data->sum.find( regExp ) != -1 ) { 116 }else if(data->sum.find( regExp ) != -1 ) {
114 return true; 117 setLastHitField( Summary );
118 return true;
115 } 119 }
116 return false; 120 return false;
117} 121}
118bool OTodo::isCompleted() const 122bool OTodo::isCompleted() const
119{ 123{
120 return data->isCompleted; 124 return data->isCompleted;
121} 125}
122bool OTodo::hasDueDate() const 126bool OTodo::hasDueDate() const
123{ 127{
124 return data->hasDate; 128 return data->hasDate;
125} 129}
126bool OTodo::hasStartDate()const { 130bool OTodo::hasStartDate()const {
127 return data->start.isValid(); 131 return data->start.isValid();
128} 132}
129bool OTodo::hasCompletedDate()const { 133bool OTodo::hasCompletedDate()const {
130 return data->completed.isValid(); 134 return data->completed.isValid();
131} 135}
132int OTodo::priority()const 136int OTodo::priority()const
133{ 137{
134 return data->priority; 138 return data->priority;
135} 139}
136QString OTodo::summary() const 140QString OTodo::summary() const
137{ 141{
138 return data->sum; 142 return data->sum;
139} 143}
140ushort OTodo::progress() const 144ushort OTodo::progress() const
141{ 145{
142 return data->prog; 146 return data->prog;
143} 147}
144QDate OTodo::dueDate()const 148QDate OTodo::dueDate()const
145{ 149{
146 return data->date; 150 return data->date;
147} 151}
148QDate OTodo::startDate()const { 152QDate OTodo::startDate()const {
149 return data->start; 153 return data->start;
150} 154}
151QDate OTodo::completedDate()const { 155QDate OTodo::completedDate()const {
152 return data->completed; 156 return data->completed;
153} 157}
154QString OTodo::description()const 158QString OTodo::description()const
155{ 159{
156 return data->desc; 160 return data->desc;
157} 161}
158bool OTodo::hasState() const{ 162bool OTodo::hasState() const{
159 if (!data->state ) return false; 163 if (!data->state ) return false;
160 return ( data->state->state() != OPimState::Undefined ); 164 return ( data->state->state() != OPimState::Undefined );
161} 165}
162OPimState OTodo::state()const { 166OPimState OTodo::state()const {