summaryrefslogtreecommitdiff
path: root/libopie
authorzecke <zecke>2002-03-19 19:52:28 (UTC)
committer zecke <zecke>2002-03-19 19:52:28 (UTC)
commit5f6144b48cac5cc058ee06461e865ce03cda00f1 (patch) (side-by-side diff)
treebe269aa0b3370a47d15659d0d03cd4eb286655b9 /libopie
parentebbdb5c4f1c01881bd09f02d9efaa434a073a788 (diff)
downloadopie-5f6144b48cac5cc058ee06461e865ce03cda00f1.zip
opie-5f6144b48cac5cc058ee06461e865ce03cda00f1.tar.gz
opie-5f6144b48cac5cc058ee06461e865ce03cda00f1.tar.bz2
fix the crash for harlekin
Diffstat (limited to 'libopie') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/tododb.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/libopie/tododb.cpp b/libopie/tododb.cpp
index e440dfc..b1b35d0 100644
--- a/libopie/tododb.cpp
+++ b/libopie/tododb.cpp
@@ -58,138 +58,140 @@ public:
//if( root->tagName() == QString::fromLatin1("Tasks" ) ){// Start
XMLElement *element = root->firstChild();
element = element->firstChild();
while( element ){
qWarning("ToDoDB::load element tagName() : %s", element->tagName().latin1() );
QString dummy;
ToDoEvent event;
bool ok;
int dumInt;
// completed
dummy = element->attribute("Completed" );
dumInt = dummy.toInt(&ok );
if(ok ) event.setCompleted( dumInt == 0 ? false : true );
// hasDate
dummy = element->attribute("HasDate" );
dumInt = dummy.toInt(&ok );
if(ok ) event.setHasDate( dumInt == 0 ? false: true );
// set the date
bool hasDa = dumInt;
if ( hasDa ) { //parse the date
int year, day, month = 0;
year = day = month;
// year
dummy = element->attribute("DateYear" );
dumInt = dummy.toInt(&ok );
if( ok ) year = dumInt;
// month
dummy = element->attribute("DateMonth" );
dumInt = dummy.toInt(&ok );
if(ok ) month = dumInt;
dummy = element->attribute("DateDay" );
dumInt = dummy.toInt(&ok );
if(ok ) day = dumInt;
// set the date
QDate date( year, month, day );
event.setDate( date);
}
dummy = element->attribute("Priority" );
dumInt = dummy.toInt(&ok );
if(!ok ) dumInt = ToDoEvent::NORMAL;
event.setPriority( dumInt );
//description
dummy = element->attribute("Description" );
event.setDescription( dummy );
// category
dummy = element->attribute("Categories" );
dumInt = dummy.toInt(&ok );
if(ok ) {
QArray<int> arrat(1);
arrat[0] = dumInt;
event.setCategory( Qtopia::Record::idsToString( arrat ) );
}
//uid
dummy = element->attribute("Uid" );
dumInt = dummy.toInt(&ok );
if(ok ) event.setUid( dumInt );
m_todos.append( event );
element = element->nextChild(); // next element
}
//}
}else {
qWarning("could not load" );
}
delete root;
+ qWarning("returning" );
return m_todos;
}
};
}
ToDoDB::ToDoDB(const QString &fileName = QString::null, ToDoResource *res ){
m_fileName = fileName;
if( fileName.isEmpty() && res == 0 ){
- m_fileName = Global::applicationFileName("todolist","todolist.xml");;
+ m_fileName = Global::applicationFileName("todolist","todolist.xml");
+ res = new FileToDoResource();
//qWarning("%s", m_fileName.latin1() );
}else if(res == 0 ){ // let's create a ToDoResource for xml
res = new FileToDoResource();
}
m_res = res;
load();
}
ToDoDB::~ToDoDB()
{
delete m_res;
}
QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, const QDate &to,
bool all )
{
QValueList<ToDoEvent> events;
for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){
if( (*it).hasDate() ){
if( (*it).date() >= from && (*it).date() <= to )
events.append( (*it) );
}else if( all ){
events.append( (*it) );
}
}
return events;
}
QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from,
bool all)
{
return effectiveToDos( from, QDate::currentDate(), all );
}
QValueList<ToDoEvent> ToDoDB::overDue()
{
QValueList<ToDoEvent> events;
for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){
if( (*it).isOverdue() )
events.append((*it) );
}
return events;
}
QValueList<ToDoEvent> ToDoDB::rawToDos()
{
return m_todos;
}
void ToDoDB::addEvent( const ToDoEvent &event )
{
m_todos.append( event );
}
void ToDoDB::editEvent( const ToDoEvent &event )
{
m_todos.remove( event );
m_todos.append( event );
}
void ToDoDB::removeEvent( const ToDoEvent &event )
{
m_todos.remove( event );
}
void ToDoDB::reload()
{
load();
}
void ToDoDB::setFileName(const QString &file )
{
m_fileName =file;
}