summaryrefslogtreecommitdiffabout
path: root/korganizer/kotodoviewitem.cpp
Unidiff
Diffstat (limited to 'korganizer/kotodoviewitem.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kotodoviewitem.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/korganizer/kotodoviewitem.cpp b/korganizer/kotodoviewitem.cpp
index 2822237..1edddac 100644
--- a/korganizer/kotodoviewitem.cpp
+++ b/korganizer/kotodoviewitem.cpp
@@ -198,25 +198,26 @@ void KOTodoViewItem::setMyPixmap()
198 setPixmap ( 0,QPixmap() ) ; 198 setPixmap ( 0,QPixmap() ) ;
199 } 199 }
200} 200}
201void KOTodoViewItem::stateChange(bool state) 201void KOTodoViewItem::stateChange(bool state)
202{ 202{
203 // qDebug("KOTodoViewItem::stateChange "); 203 // qDebug("KOTodoViewItem::stateChange ");
204 // do not change setting on startup 204 // do not change setting on startup
205 if ( m_init ) return; 205 if ( m_init ) return;
206 qDebug("KOTodoViewItem::stateChange "); 206 if (isOn()!=state) {
207 setOn(state);
208 //qDebug("SETON ");
209 return;
210 }
207 QString keyd = "=="; 211 QString keyd = "==";
208 QString keyt = "=="; 212 QString keyt = "==";
209 213 //qDebug("KOTodoViewItem::stateChange %s ", text(0).latin1());
210 mTodo->setCompleted(state); 214 mTodo->setCompleted(state);
211 if (state) mTodo->setCompleted(QDateTime::currentDateTime()); 215 if (state) mTodo->setCompleted(QDateTime::currentDateTime());
212 if (isOn()!=state) {
213 setOn(state);
214 }
215 216
216 if (mTodo->hasDueDate()) { 217 if (mTodo->hasDueDate()) {
217 setText(3, mTodo->dtDueDateStr()); 218 setText(3, mTodo->dtDueDateStr());
218 QDate d = mTodo->dtDue().date(); 219 QDate d = mTodo->dtDue().date();
219 keyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 220 keyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
220 setSortKey(3,keyd); 221 setSortKey(3,keyd);
221 if (mTodo->doesFloat()) { 222 if (mTodo->doesFloat()) {
222 setText(4,""); 223 setText(4,"");
@@ -235,23 +236,30 @@ void KOTodoViewItem::stateChange(bool state)
235 if (mTodo->percentComplete()<100) { 236 if (mTodo->percentComplete()<100) {
236 if (mTodo->isCompleted()) setSortKey(2,QString::number(999)); 237 if (mTodo->isCompleted()) setSortKey(2,QString::number(999));
237 else setSortKey(2,QString::number(mTodo->percentComplete())); 238 else setSortKey(2,QString::number(mTodo->percentComplete()));
238 } 239 }
239 else { 240 else {
240 if (mTodo->isCompleted()) setSortKey(2,QString::number(999)); 241 if (mTodo->isCompleted()) setSortKey(2,QString::number(999));
241 else setSortKey(2,QString::number(99)); 242 else setSortKey(2,QString::number(99));
242 } 243 }
244 if ( state ) {
243 QListViewItem * myChild = firstChild(); 245 QListViewItem * myChild = firstChild();
244 KOTodoViewItem *item; 246 KOTodoViewItem *item;
245 while( myChild ) { 247 while( myChild ) {
248 //qDebug("stateCH ");
246 item = static_cast<KOTodoViewItem*>(myChild); 249 item = static_cast<KOTodoViewItem*>(myChild);
247 item->stateChange(state); 250 item->stateChange(state);
248 myChild = myChild->nextSibling(); 251 myChild = myChild->nextSibling();
249 } 252 }
253 } else {
254 QListViewItem * myChild = parent();
255 if ( myChild )
256 (static_cast<KOTodoViewItem*>(myChild))->stateChange(state);
257 }
250 mTodoView->modified(true); 258 mTodoView->modified(true);
251 setMyPixmap(); 259 setMyPixmap();
252 mTodoView->setTodoModified( mTodo ); 260 mTodoView->setTodoModified( mTodo );
253} 261}
254 262
255bool KOTodoViewItem::isAlternate() 263bool KOTodoViewItem::isAlternate()
256{ 264{
257#ifndef KORG_NOLVALTERNATION 265#ifndef KORG_NOLVALTERNATION