summaryrefslogtreecommitdiff
path: root/libopie/tododb.cpp
Side-by-side diff
Diffstat (limited to 'libopie/tododb.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/tododb.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libopie/tododb.cpp b/libopie/tododb.cpp
index 33fa177..fe8b8bf 100644
--- a/libopie/tododb.cpp
+++ b/libopie/tododb.cpp
@@ -1,72 +1,74 @@
#include <qdir.h>
#include <opie/tododb.h>
#include <opie/xmltree.h>
#include <opie/todoresource.h>
#include <qpe/palmtoprecord.h>
#include <qpe/global.h>
+using namespace Opie;
+
namespace {
class FileToDoResource : public ToDoResource {
public:
FileToDoResource() {};
bool save(const QString &name, const QValueList<ToDoEvent> &m_todos ){
// prepare the XML
XMLElement *tasks = new XMLElement( );
tasks->setTagName("Tasks" );
for( QValueList<ToDoEvent>::ConstIterator it = m_todos.begin(); it != m_todos.end(); ++it ){
XMLElement::AttributeMap map;
XMLElement *task = new XMLElement();
map.insert( "Completed", QString::number((int)(*it).isCompleted() ) );
map.insert( "HasDate", QString::number((int)(*it).hasDate() ) );
map.insert( "Priority", QString::number( (*it).priority() ) );
QArray<int> arrat = (*it).categories();
QString attr;
for(uint i=0; i < arrat.count(); i++ ){
attr.append(QString::number(arrat[i])+";" );
}
if(!attr.isEmpty() ) // remove the last ;
attr.remove(attr.length()-1, 1 );
map.insert( "Categories", attr );
//else
//map.insert( "Categories", QString::null );
map.insert( "Description", (*it).description() );
if( (*it).hasDate() ){
map.insert("DateYear", QString::number( (*it).date().year() ) );
map.insert("DateMonth", QString::number( (*it).date().month() ) );
map.insert("DateDay", QString::number( (*it).date().day() ) );
}
map.insert("Uid", QString::number( (*it).uid() ) );
task->setTagName("Task" );
task->setAttributes( map );
tasks->appendChild(task);
}
QFile file( name);
if( file.open(IO_WriteOnly ) ){
QTextStream stream(&file );
stream.setEncoding( QTextStream::UnicodeUTF8 );
stream << "<!DOCTYPE Tasks>" << endl;
tasks->save(stream );
delete tasks;
stream << "</Tasks>" << endl;
file.close();
return true;
}
return false;
}
QValueList<ToDoEvent> load( const QString &name ){
qWarning("loading tododb" );
QValueList<ToDoEvent> m_todos;
XMLElement *root = XMLElement::load( name );
if(root != 0l ){ // start parsing
qWarning("ToDoDB::load tagName(): %s", root->tagName().latin1() );
//if( root->tagName() == QString::fromLatin1("Tasks" ) ){// Start
XMLElement *element = root->firstChild();
element = element->firstChild();
while( element ){
if( element->tagName() != QString::fromLatin1("Task") ){
element = element->nextChild();
continue;
}
qWarning("ToDoDB::load element tagName() : %s", element->tagName().latin1() );