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) (unidiff)
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
@@ -74,106 +74,108 @@ public:
74 if(ok ) event.setHasDate( dumInt == 0 ? false: true ); 74 if(ok ) event.setHasDate( dumInt == 0 ? false: true );
75 // set the date 75 // set the date
76 bool hasDa = dumInt; 76 bool hasDa = dumInt;
77 if ( hasDa ) { //parse the date 77 if ( hasDa ) { //parse the date
78 int year, day, month = 0; 78 int year, day, month = 0;
79 year = day = month; 79 year = day = month;
80 // year 80 // year
81 dummy = element->attribute("DateYear" ); 81 dummy = element->attribute("DateYear" );
82 dumInt = dummy.toInt(&ok ); 82 dumInt = dummy.toInt(&ok );
83 if( ok ) year = dumInt; 83 if( ok ) year = dumInt;
84 // month 84 // month
85 dummy = element->attribute("DateMonth" ); 85 dummy = element->attribute("DateMonth" );
86 dumInt = dummy.toInt(&ok ); 86 dumInt = dummy.toInt(&ok );
87 if(ok ) month = dumInt; 87 if(ok ) month = dumInt;
88 dummy = element->attribute("DateDay" ); 88 dummy = element->attribute("DateDay" );
89 dumInt = dummy.toInt(&ok ); 89 dumInt = dummy.toInt(&ok );
90 if(ok ) day = dumInt; 90 if(ok ) day = dumInt;
91 // set the date 91 // set the date
92 QDate date( year, month, day ); 92 QDate date( year, month, day );
93 event.setDate( date); 93 event.setDate( date);
94 } 94 }
95 dummy = element->attribute("Priority" ); 95 dummy = element->attribute("Priority" );
96 dumInt = dummy.toInt(&ok ); 96 dumInt = dummy.toInt(&ok );
97 if(!ok ) dumInt = ToDoEvent::NORMAL; 97 if(!ok ) dumInt = ToDoEvent::NORMAL;
98 event.setPriority( dumInt ); 98 event.setPriority( dumInt );
99 //description 99 //description
100 dummy = element->attribute("Description" ); 100 dummy = element->attribute("Description" );
101 event.setDescription( dummy ); 101 event.setDescription( dummy );
102 // category 102 // category
103 dummy = element->attribute("Categories" ); 103 dummy = element->attribute("Categories" );
104 dumInt = dummy.toInt(&ok ); 104 dumInt = dummy.toInt(&ok );
105 if(ok ) { 105 if(ok ) {
106 QArray<int> arrat(1); 106 QArray<int> arrat(1);
107 arrat[0] = dumInt; 107 arrat[0] = dumInt;
108 event.setCategory( Qtopia::Record::idsToString( arrat ) ); 108 event.setCategory( Qtopia::Record::idsToString( arrat ) );
109 } 109 }
110 //uid 110 //uid
111 dummy = element->attribute("Uid" ); 111 dummy = element->attribute("Uid" );
112 dumInt = dummy.toInt(&ok ); 112 dumInt = dummy.toInt(&ok );
113 if(ok ) event.setUid( dumInt ); 113 if(ok ) event.setUid( dumInt );
114 m_todos.append( event ); 114 m_todos.append( event );
115 element = element->nextChild(); // next element 115 element = element->nextChild(); // next element
116 } 116 }
117 //} 117 //}
118 }else { 118 }else {
119 qWarning("could not load" ); 119 qWarning("could not load" );
120 } 120 }
121 delete root; 121 delete root;
122 qWarning("returning" );
122 return m_todos; 123 return m_todos;
123 } 124 }
124}; 125};
125 126
126} 127}
127 128
128ToDoDB::ToDoDB(const QString &fileName = QString::null, ToDoResource *res ){ 129ToDoDB::ToDoDB(const QString &fileName = QString::null, ToDoResource *res ){
129 m_fileName = fileName; 130 m_fileName = fileName;
130 if( fileName.isEmpty() && res == 0 ){ 131 if( fileName.isEmpty() && res == 0 ){
131 m_fileName = Global::applicationFileName("todolist","todolist.xml");; 132 m_fileName = Global::applicationFileName("todolist","todolist.xml");
133 res = new FileToDoResource();
132 //qWarning("%s", m_fileName.latin1() ); 134 //qWarning("%s", m_fileName.latin1() );
133 }else if(res == 0 ){ // let's create a ToDoResource for xml 135 }else if(res == 0 ){ // let's create a ToDoResource for xml
134 res = new FileToDoResource(); 136 res = new FileToDoResource();
135 } 137 }
136 m_res = res; 138 m_res = res;
137 load(); 139 load();
138} 140}
139ToDoDB::~ToDoDB() 141ToDoDB::~ToDoDB()
140{ 142{
141 delete m_res; 143 delete m_res;
142} 144}
143QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, const QDate &to, 145QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, const QDate &to,
144 bool all ) 146 bool all )
145{ 147{
146 QValueList<ToDoEvent> events; 148 QValueList<ToDoEvent> events;
147 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){ 149 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){
148 if( (*it).hasDate() ){ 150 if( (*it).hasDate() ){
149 if( (*it).date() >= from && (*it).date() <= to ) 151 if( (*it).date() >= from && (*it).date() <= to )
150 events.append( (*it) ); 152 events.append( (*it) );
151 }else if( all ){ 153 }else if( all ){
152 events.append( (*it) ); 154 events.append( (*it) );
153 } 155 }
154 } 156 }
155 return events; 157 return events;
156} 158}
157QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, 159QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from,
158 bool all) 160 bool all)
159{ 161{
160 return effectiveToDos( from, QDate::currentDate(), all ); 162 return effectiveToDos( from, QDate::currentDate(), all );
161} 163}
162QValueList<ToDoEvent> ToDoDB::overDue() 164QValueList<ToDoEvent> ToDoDB::overDue()
163{ 165{
164 QValueList<ToDoEvent> events; 166 QValueList<ToDoEvent> events;
165 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){ 167 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){
166 if( (*it).isOverdue() ) 168 if( (*it).isOverdue() )
167 events.append((*it) ); 169 events.append((*it) );
168 } 170 }
169 return events; 171 return events;
170} 172}
171QValueList<ToDoEvent> ToDoDB::rawToDos() 173QValueList<ToDoEvent> ToDoDB::rawToDos()
172{ 174{
173 return m_todos; 175 return m_todos;
174} 176}
175void ToDoDB::addEvent( const ToDoEvent &event ) 177void ToDoDB::addEvent( const ToDoEvent &event )
176{ 178{
177 m_todos.append( event ); 179 m_todos.append( event );
178} 180}
179void ToDoDB::editEvent( const ToDoEvent &event ) 181void ToDoDB::editEvent( const ToDoEvent &event )