summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/otodoaccessxml.cpp13
-rw-r--r--libopie2/opiepim/backend/otodoaccessxml.cpp13
2 files changed, 16 insertions, 10 deletions
diff --git a/libopie/pim/otodoaccessxml.cpp b/libopie/pim/otodoaccessxml.cpp
index 7a55c67..385fd27 100644
--- a/libopie/pim/otodoaccessxml.cpp
+++ b/libopie/pim/otodoaccessxml.cpp
@@ -95,49 +95,57 @@ bool OTodoAccessXML::load() {
95 } 95 }
96 if ( i == j ) { 96 if ( i == j ) {
97 // empty value 97 // empty value
98 i = j + 1; 98 i = j + 1;
99 continue; 99 continue;
100 } 100 }
101 101
102 QCString value( dt+i, j-i+1 ); 102 QCString value( dt+i, j-i+1 );
103 i = j + 1; 103 i = j + 1;
104 104
105 QString str = (haveUtf ? QString::fromUtf8( value ) 105 QString str = (haveUtf ? QString::fromUtf8( value )
106 : QString::fromLatin1( value ) ); 106 : QString::fromLatin1( value ) );
107 if ( haveEnt ) 107 if ( haveEnt )
108 str = Qtopia::plainString( str ); 108 str = Qtopia::plainString( str );
109 109
110 /* 110 /*
111 * add key + value 111 * add key + value
112 */ 112 */
113 todo( &dict, ev, attr, str ); 113 todo( &dict, ev, attr, str );
114 114
115 } 115 }
116 /* 116 /*
117 * now add it 117 * now add it
118 */ 118 */
119 if (m_events.contains( ev.uid() ) || ev.uid() == 0) {
120 ev.setUid( 1 );
121 m_changed = true;
122 }
123 if ( ev.hasDueDate() ) {
124 ev.setDueDate( QDate(m_year, m_month, m_day) );
125 }
119 m_events.insert(ev.uid(), ev ); 126 m_events.insert(ev.uid(), ev );
127 m_year = m_month = m_day = -1;
120 } 128 }
121 129
122 qWarning("counts %d records loaded!", m_events.count() ); 130 qWarning("counts %d records loaded!", m_events.count() );
123 return true; 131 return true;
124} 132}
125bool OTodoAccessXML::reload() { 133bool OTodoAccessXML::reload() {
126 return load(); 134 return load();
127} 135}
128bool OTodoAccessXML::save() { 136bool OTodoAccessXML::save() {
129// qWarning("saving"); 137// qWarning("saving");
130 if (!m_opened || !m_changed ) { 138 if (!m_opened || !m_changed ) {
131// qWarning("not saving"); 139// qWarning("not saving");
132 return true; 140 return true;
133 } 141 }
134 QString strNewFile = m_file + ".new"; 142 QString strNewFile = m_file + ".new";
135 QFile f( strNewFile ); 143 QFile f( strNewFile );
136 if (!f.open( IO_WriteOnly|IO_Raw ) ) 144 if (!f.open( IO_WriteOnly|IO_Raw ) )
137 return false; 145 return false;
138 146
139 int written; 147 int written;
140 QString out; 148 QString out;
141 out = "<!DOCTYPE Tasks>\n<Tasks>\n"; 149 out = "<!DOCTYPE Tasks>\n<Tasks>\n";
142 150
143 // for all todos 151 // for all todos
@@ -318,53 +326,48 @@ void OTodoAccessXML::todo( QAsciiDict<int>* dict, OTodo& ev,
318 * appname,id;appname,id 326 * appname,id;appname,id
319 * we need to split it up 327 * we need to split it up
320 */ 328 */
321 QStringList refs = QStringList::split(';', val ); 329 QStringList refs = QStringList::split(';', val );
322 QStringList::Iterator strIt; 330 QStringList::Iterator strIt;
323 for (strIt = refs.begin(); strIt != refs.end(); ++strIt ) { 331 for (strIt = refs.begin(); strIt != refs.end(); ++strIt ) {
324 int pos = (*strIt).find(','); 332 int pos = (*strIt).find(',');
325 if ( pos > -1 ) 333 if ( pos > -1 )
326 ev.addRelation( (*strIt).left(pos), (*strIt).mid(pos+1).toInt() ); 334 ev.addRelation( (*strIt).left(pos), (*strIt).mid(pos+1).toInt() );
327 335
328 } 336 }
329 break; 337 break;
330 } 338 }
331 case OTodo::HasAlarmDateTime: 339 case OTodo::HasAlarmDateTime:
332 ev.setHasAlarmDateTime( val.toInt() ); 340 ev.setHasAlarmDateTime( val.toInt() );
333 break; 341 break;
334 case OTodo::AlarmDateTime: { 342 case OTodo::AlarmDateTime: {
335 /* this sounds better ;) zecke */ 343 /* this sounds better ;) zecke */
336 ev.setAlarmDateTime( TimeConversion::fromISO8601( val.local8Bit() ) ); 344 ev.setAlarmDateTime( TimeConversion::fromISO8601( val.local8Bit() ) );
337 break; 345 break;
338 } 346 }
339 default: 347 default:
340 break; 348 break;
341 } 349 }
342
343 if ( ev.hasDueDate() ) {
344 QDate date( m_year, m_month, m_day );
345 ev.setDueDate( date );
346 }
347} 350}
348QString OTodoAccessXML::toString( const OTodo& ev )const { 351QString OTodoAccessXML::toString( const OTodo& ev )const {
349 QString str; 352 QString str;
350 353
351 str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\" "; 354 str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\" ";
352 str += "HasDate=\"" + QString::number( ev.hasDueDate() ) + "\" "; 355 str += "HasDate=\"" + QString::number( ev.hasDueDate() ) + "\" ";
353 str += "Priority=\"" + QString::number( ev.priority() ) + "\" "; 356 str += "Priority=\"" + QString::number( ev.priority() ) + "\" ";
354 str += "Progress=\"" + QString::number(ev.progress() ) + "\" "; 357 str += "Progress=\"" + QString::number(ev.progress() ) + "\" ";
355 358
356 str += "Categories=\"" + toString( ev.categories() ) + "\" "; 359 str += "Categories=\"" + toString( ev.categories() ) + "\" ";
357 str += "Description=\"" + Qtopia::escapeString( ev.description() ) + "\" "; 360 str += "Description=\"" + Qtopia::escapeString( ev.description() ) + "\" ";
358 str += "Summary=\"" + Qtopia::escapeString( ev.summary() ) + "\" "; 361 str += "Summary=\"" + Qtopia::escapeString( ev.summary() ) + "\" ";
359 362
360 if ( ev.hasDueDate() ) { 363 if ( ev.hasDueDate() ) {
361 str += "DateYear=\"" + QString::number( ev.dueDate().year() ) + "\" "; 364 str += "DateYear=\"" + QString::number( ev.dueDate().year() ) + "\" ";
362 str += "DateMonth=\"" + QString::number( ev.dueDate().month() ) + "\" "; 365 str += "DateMonth=\"" + QString::number( ev.dueDate().month() ) + "\" ";
363 str += "DateDay=\"" + QString::number( ev.dueDate().day() ) + "\" "; 366 str += "DateDay=\"" + QString::number( ev.dueDate().day() ) + "\" ";
364 } 367 }
365// qWarning( "Uid %d", ev.uid() ); 368// qWarning( "Uid %d", ev.uid() );
366 str += "Uid=\"" + QString::number( ev.uid() ) + "\" "; 369 str += "Uid=\"" + QString::number( ev.uid() ) + "\" ";
367 370
368// append the extra options 371// append the extra options
369 /* FIXME Qtopia::Record this is currently not 372 /* FIXME Qtopia::Record this is currently not
370 * possible you can set custom fields 373 * possible you can set custom fields
diff --git a/libopie2/opiepim/backend/otodoaccessxml.cpp b/libopie2/opiepim/backend/otodoaccessxml.cpp
index 7a55c67..385fd27 100644
--- a/libopie2/opiepim/backend/otodoaccessxml.cpp
+++ b/libopie2/opiepim/backend/otodoaccessxml.cpp
@@ -95,49 +95,57 @@ bool OTodoAccessXML::load() {
95 } 95 }
96 if ( i == j ) { 96 if ( i == j ) {
97 // empty value 97 // empty value
98 i = j + 1; 98 i = j + 1;
99 continue; 99 continue;
100 } 100 }
101 101
102 QCString value( dt+i, j-i+1 ); 102 QCString value( dt+i, j-i+1 );
103 i = j + 1; 103 i = j + 1;
104 104
105 QString str = (haveUtf ? QString::fromUtf8( value ) 105 QString str = (haveUtf ? QString::fromUtf8( value )
106 : QString::fromLatin1( value ) ); 106 : QString::fromLatin1( value ) );
107 if ( haveEnt ) 107 if ( haveEnt )
108 str = Qtopia::plainString( str ); 108 str = Qtopia::plainString( str );
109 109
110 /* 110 /*
111 * add key + value 111 * add key + value
112 */ 112 */
113 todo( &dict, ev, attr, str ); 113 todo( &dict, ev, attr, str );
114 114
115 } 115 }
116 /* 116 /*
117 * now add it 117 * now add it
118 */ 118 */
119 if (m_events.contains( ev.uid() ) || ev.uid() == 0) {
120 ev.setUid( 1 );
121 m_changed = true;
122 }
123 if ( ev.hasDueDate() ) {
124 ev.setDueDate( QDate(m_year, m_month, m_day) );
125 }
119 m_events.insert(ev.uid(), ev ); 126 m_events.insert(ev.uid(), ev );
127 m_year = m_month = m_day = -1;
120 } 128 }
121 129
122 qWarning("counts %d records loaded!", m_events.count() ); 130 qWarning("counts %d records loaded!", m_events.count() );
123 return true; 131 return true;
124} 132}
125bool OTodoAccessXML::reload() { 133bool OTodoAccessXML::reload() {
126 return load(); 134 return load();
127} 135}
128bool OTodoAccessXML::save() { 136bool OTodoAccessXML::save() {
129// qWarning("saving"); 137// qWarning("saving");
130 if (!m_opened || !m_changed ) { 138 if (!m_opened || !m_changed ) {
131// qWarning("not saving"); 139// qWarning("not saving");
132 return true; 140 return true;
133 } 141 }
134 QString strNewFile = m_file + ".new"; 142 QString strNewFile = m_file + ".new";
135 QFile f( strNewFile ); 143 QFile f( strNewFile );
136 if (!f.open( IO_WriteOnly|IO_Raw ) ) 144 if (!f.open( IO_WriteOnly|IO_Raw ) )
137 return false; 145 return false;
138 146
139 int written; 147 int written;
140 QString out; 148 QString out;
141 out = "<!DOCTYPE Tasks>\n<Tasks>\n"; 149 out = "<!DOCTYPE Tasks>\n<Tasks>\n";
142 150
143 // for all todos 151 // for all todos
@@ -318,53 +326,48 @@ void OTodoAccessXML::todo( QAsciiDict<int>* dict, OTodo& ev,
318 * appname,id;appname,id 326 * appname,id;appname,id
319 * we need to split it up 327 * we need to split it up
320 */ 328 */
321 QStringList refs = QStringList::split(';', val ); 329 QStringList refs = QStringList::split(';', val );
322 QStringList::Iterator strIt; 330 QStringList::Iterator strIt;
323 for (strIt = refs.begin(); strIt != refs.end(); ++strIt ) { 331 for (strIt = refs.begin(); strIt != refs.end(); ++strIt ) {
324 int pos = (*strIt).find(','); 332 int pos = (*strIt).find(',');
325 if ( pos > -1 ) 333 if ( pos > -1 )
326 ev.addRelation( (*strIt).left(pos), (*strIt).mid(pos+1).toInt() ); 334 ev.addRelation( (*strIt).left(pos), (*strIt).mid(pos+1).toInt() );
327 335
328 } 336 }
329 break; 337 break;
330 } 338 }
331 case OTodo::HasAlarmDateTime: 339 case OTodo::HasAlarmDateTime:
332 ev.setHasAlarmDateTime( val.toInt() ); 340 ev.setHasAlarmDateTime( val.toInt() );
333 break; 341 break;
334 case OTodo::AlarmDateTime: { 342 case OTodo::AlarmDateTime: {
335 /* this sounds better ;) zecke */ 343 /* this sounds better ;) zecke */
336 ev.setAlarmDateTime( TimeConversion::fromISO8601( val.local8Bit() ) ); 344 ev.setAlarmDateTime( TimeConversion::fromISO8601( val.local8Bit() ) );
337 break; 345 break;
338 } 346 }
339 default: 347 default:
340 break; 348 break;
341 } 349 }
342
343 if ( ev.hasDueDate() ) {
344 QDate date( m_year, m_month, m_day );
345 ev.setDueDate( date );
346 }
347} 350}
348QString OTodoAccessXML::toString( const OTodo& ev )const { 351QString OTodoAccessXML::toString( const OTodo& ev )const {
349 QString str; 352 QString str;
350 353
351 str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\" "; 354 str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\" ";
352 str += "HasDate=\"" + QString::number( ev.hasDueDate() ) + "\" "; 355 str += "HasDate=\"" + QString::number( ev.hasDueDate() ) + "\" ";
353 str += "Priority=\"" + QString::number( ev.priority() ) + "\" "; 356 str += "Priority=\"" + QString::number( ev.priority() ) + "\" ";
354 str += "Progress=\"" + QString::number(ev.progress() ) + "\" "; 357 str += "Progress=\"" + QString::number(ev.progress() ) + "\" ";
355 358
356 str += "Categories=\"" + toString( ev.categories() ) + "\" "; 359 str += "Categories=\"" + toString( ev.categories() ) + "\" ";
357 str += "Description=\"" + Qtopia::escapeString( ev.description() ) + "\" "; 360 str += "Description=\"" + Qtopia::escapeString( ev.description() ) + "\" ";
358 str += "Summary=\"" + Qtopia::escapeString( ev.summary() ) + "\" "; 361 str += "Summary=\"" + Qtopia::escapeString( ev.summary() ) + "\" ";
359 362
360 if ( ev.hasDueDate() ) { 363 if ( ev.hasDueDate() ) {
361 str += "DateYear=\"" + QString::number( ev.dueDate().year() ) + "\" "; 364 str += "DateYear=\"" + QString::number( ev.dueDate().year() ) + "\" ";
362 str += "DateMonth=\"" + QString::number( ev.dueDate().month() ) + "\" "; 365 str += "DateMonth=\"" + QString::number( ev.dueDate().month() ) + "\" ";
363 str += "DateDay=\"" + QString::number( ev.dueDate().day() ) + "\" "; 366 str += "DateDay=\"" + QString::number( ev.dueDate().day() ) + "\" ";
364 } 367 }
365// qWarning( "Uid %d", ev.uid() ); 368// qWarning( "Uid %d", ev.uid() );
366 str += "Uid=\"" + QString::number( ev.uid() ) + "\" "; 369 str += "Uid=\"" + QString::number( ev.uid() ) + "\" ";
367 370
368// append the extra options 371// append the extra options
369 /* FIXME Qtopia::Record this is currently not 372 /* FIXME Qtopia::Record this is currently not
370 * possible you can set custom fields 373 * possible you can set custom fields