summaryrefslogtreecommitdiff
path: root/libopie
Unidiff
Diffstat (limited to 'libopie') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/tododb.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libopie/tododb.cpp b/libopie/tododb.cpp
index f9756c6..10ea2f0 100644
--- a/libopie/tododb.cpp
+++ b/libopie/tododb.cpp
@@ -33,193 +33,193 @@ public:
33 map.insert("DateMonth", QString::number( (*it).date().month() ) ); 33 map.insert("DateMonth", QString::number( (*it).date().month() ) );
34 map.insert("DateDay", QString::number( (*it).date().day() ) ); 34 map.insert("DateDay", QString::number( (*it).date().day() ) );
35 } 35 }
36 map.insert("Uid", QString::number( (*it).uid() ) ); 36 map.insert("Uid", QString::number( (*it).uid() ) );
37 task->setTagName("Task" ); 37 task->setTagName("Task" );
38 task->setAttributes( map ); 38 task->setAttributes( map );
39 tasks->appendChild(task); 39 tasks->appendChild(task);
40 } 40 }
41 QFile file( name); 41 QFile file( name);
42 if( file.open(IO_WriteOnly ) ){ 42 if( file.open(IO_WriteOnly ) ){
43 QTextStream stream(&file ); 43 QTextStream stream(&file );
44 stream << "<!DOCTYPE Tasks>" << endl; 44 stream << "<!DOCTYPE Tasks>" << endl;
45 tasks->save(stream ); 45 tasks->save(stream );
46 delete tasks; 46 delete tasks;
47 file.close(); 47 file.close();
48 return true; 48 return true;
49 } 49 }
50 return false; 50 return false;
51 } 51 }
52 QValueList<ToDoEvent> load( const QString &name ){ 52 QValueList<ToDoEvent> load( const QString &name ){
53 qWarning("loading tododb" ); 53 qWarning("loading tododb" );
54 QValueList<ToDoEvent> m_todos; 54 QValueList<ToDoEvent> m_todos;
55 XMLElement *root = XMLElement::load( name ); 55 XMLElement *root = XMLElement::load( name );
56 if(root != 0l ){ // start parsing 56 if(root != 0l ){ // start parsing
57 qWarning("ToDoDB::load tagName(): %s", root->tagName().latin1() ); 57 qWarning("ToDoDB::load tagName(): %s", root->tagName().latin1() );
58 //if( root->tagName() == QString::fromLatin1("Tasks" ) ){// Start 58 //if( root->tagName() == QString::fromLatin1("Tasks" ) ){// Start
59 XMLElement *element = root->firstChild(); 59 XMLElement *element = root->firstChild();
60 element = element->firstChild(); 60 element = element->firstChild();
61 while( element ){ 61 while( element ){
62 qWarning("ToDoDB::load element tagName() : %s", element->tagName().latin1() ); 62 qWarning("ToDoDB::load element tagName() : %s", element->tagName().latin1() );
63 QString dummy; 63 QString dummy;
64 ToDoEvent event; 64 ToDoEvent event;
65 bool ok; 65 bool ok;
66 int dumInt; 66 int dumInt;
67 // completed 67 // completed
68 dummy = element->attribute("Completed" ); 68 dummy = element->attribute("Completed" );
69 dumInt = dummy.toInt(&ok ); 69 dumInt = dummy.toInt(&ok );
70 if(ok ) event.setCompleted( dumInt == 0 ? false : true ); 70 if(ok ) event.setCompleted( dumInt == 0 ? false : true );
71 // hasDate 71 // hasDate
72 dummy = element->attribute("HasDate" ); 72 dummy = element->attribute("HasDate" );
73 dumInt = dummy.toInt(&ok ); 73 dumInt = dummy.toInt(&ok );
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 qWarning("returning" );
123 return m_todos; 123 return m_todos;
124 } 124 }
125}; 125};
126 126
127} 127}
128 128
129ToDoDB::ToDoDB(const QString &fileName = QString::null, ToDoResource *res ){ 129ToDoDB::ToDoDB(const QString &fileName, ToDoResource *res ){
130 m_fileName = fileName; 130 m_fileName = fileName;
131 if( fileName.isEmpty() && res == 0 ){ 131 if( fileName.isEmpty() && res == 0 ){
132 m_fileName = Global::applicationFileName("todolist","todolist.xml"); 132 m_fileName = Global::applicationFileName("todolist","todolist.xml");
133 res = new FileToDoResource(); 133 res = new FileToDoResource();
134 //qWarning("%s", m_fileName.latin1() ); 134 //qWarning("%s", m_fileName.latin1() );
135 }else if(res == 0 ){ // let's create a ToDoResource for xml 135 }else if(res == 0 ){ // let's create a ToDoResource for xml
136 res = new FileToDoResource(); 136 res = new FileToDoResource();
137 } 137 }
138 m_res = res; 138 m_res = res;
139 load(); 139 load();
140} 140}
141ToDoResource* ToDoDB::resource(){ 141ToDoResource* ToDoDB::resource(){
142 return m_res; 142 return m_res;
143}; 143};
144void ToDoDB::setResource( ToDoResource *res ) 144void ToDoDB::setResource( ToDoResource *res )
145{ 145{
146 delete m_res; 146 delete m_res;
147 m_res = res; 147 m_res = res;
148} 148}
149ToDoDB::~ToDoDB() 149ToDoDB::~ToDoDB()
150{ 150{
151 delete m_res; 151 delete m_res;
152} 152}
153QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, const QDate &to, 153QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, const QDate &to,
154 bool all ) 154 bool all )
155{ 155{
156 QValueList<ToDoEvent> events; 156 QValueList<ToDoEvent> events;
157 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){ 157 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){
158 if( (*it).hasDate() ){ 158 if( (*it).hasDate() ){
159 if( (*it).date() >= from && (*it).date() <= to ) 159 if( (*it).date() >= from && (*it).date() <= to )
160 events.append( (*it) ); 160 events.append( (*it) );
161 }else if( all ){ 161 }else if( all ){
162 events.append( (*it) ); 162 events.append( (*it) );
163 } 163 }
164 } 164 }
165 return events; 165 return events;
166} 166}
167QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from, 167QValueList<ToDoEvent> ToDoDB::effectiveToDos(const QDate &from,
168 bool all) 168 bool all)
169{ 169{
170 return effectiveToDos( from, QDate::currentDate(), all ); 170 return effectiveToDos( from, QDate::currentDate(), all );
171} 171}
172QValueList<ToDoEvent> ToDoDB::overDue() 172QValueList<ToDoEvent> ToDoDB::overDue()
173{ 173{
174 QValueList<ToDoEvent> events; 174 QValueList<ToDoEvent> events;
175 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){ 175 for( QValueList<ToDoEvent>::Iterator it = m_todos.begin(); it!= m_todos.end(); ++it ){
176 if( (*it).isOverdue() ) 176 if( (*it).isOverdue() )
177 events.append((*it) ); 177 events.append((*it) );
178 } 178 }
179 return events; 179 return events;
180} 180}
181QValueList<ToDoEvent> ToDoDB::rawToDos() 181QValueList<ToDoEvent> ToDoDB::rawToDos()
182{ 182{
183 return m_todos; 183 return m_todos;
184} 184}
185void ToDoDB::addEvent( const ToDoEvent &event ) 185void ToDoDB::addEvent( const ToDoEvent &event )
186{ 186{
187 m_todos.append( event ); 187 m_todos.append( event );
188} 188}
189void ToDoDB::editEvent( const ToDoEvent &event ) 189void ToDoDB::editEvent( const ToDoEvent &event )
190{ 190{
191 m_todos.remove( event ); 191 m_todos.remove( event );
192 m_todos.append( event ); 192 m_todos.append( event );
193} 193}
194void ToDoDB::removeEvent( const ToDoEvent &event ) 194void ToDoDB::removeEvent( const ToDoEvent &event )
195{ 195{
196 m_todos.remove( event ); 196 m_todos.remove( event );
197} 197}
198void ToDoDB::reload() 198void ToDoDB::reload()
199{ 199{
200 load(); 200 load();
201} 201}
202void ToDoDB::setFileName(const QString &file ) 202void ToDoDB::setFileName(const QString &file )
203{ 203{
204 m_fileName =file; 204 m_fileName =file;
205} 205}
206QString ToDoDB::fileName()const 206QString ToDoDB::fileName()const
207{ 207{
208 return m_fileName; 208 return m_fileName;
209} 209}
210void ToDoDB::load() 210void ToDoDB::load()
211{ 211{
212 m_todos = m_res->load( m_fileName ); 212 m_todos = m_res->load( m_fileName );
213} 213}
214bool ToDoDB::save() 214bool ToDoDB::save()
215{ 215{
216 return m_res->save( m_fileName, m_todos ); 216 return m_res->save( m_fileName, m_todos );
217} 217}
218 218
219 219
220 220
221 221
222 222
223 223
224 224
225 225