author | zautrix <zautrix> | 2005-02-13 17:05:02 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-02-13 17:05:02 (UTC) |
commit | 293271fe9e6a9061da329183f8f488d79580f7da (patch) (unidiff) | |
tree | 3a0234eabdf58440a484e960b5eef912a63d0056 /korganizer/kotodoviewitem.cpp | |
parent | 0a33f91e166747406ca2ccb5819881feeecfdb40 (diff) | |
download | kdepimpi-293271fe9e6a9061da329183f8f488d79580f7da.zip kdepimpi-293271fe9e6a9061da329183f8f488d79580f7da.tar.gz kdepimpi-293271fe9e6a9061da329183f8f488d79580f7da.tar.bz2 |
todo rec fixes
Diffstat (limited to 'korganizer/kotodoviewitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | korganizer/kotodoviewitem.cpp | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/korganizer/kotodoviewitem.cpp b/korganizer/kotodoviewitem.cpp index 0e847c2..70f00c6 100644 --- a/korganizer/kotodoviewitem.cpp +++ b/korganizer/kotodoviewitem.cpp | |||
@@ -185,42 +185,61 @@ void KOTodoViewItem::setMyPixmap() | |||
185 | } | 185 | } |
186 | if ( mTodo->isAlarmEnabled() ) { | 186 | if ( mTodo->isAlarmEnabled() ) { |
187 | pixi.resize(size, pixSize+size); | 187 | pixi.resize(size, pixSize+size); |
188 | pPix.fill( Qt::red ); | 188 | pPix.fill( Qt::red ); |
189 | p.begin( &pixi ); | 189 | p.begin( &pixi ); |
190 | p. drawPixmap ( 0, pixSize, pPix); | 190 | p. drawPixmap ( 0, pixSize, pPix); |
191 | p.end(); | 191 | p.end(); |
192 | pixSize += size; | 192 | pixSize += size; |
193 | } | ||
194 | if ( mTodo->doesRecur() ) { | ||
195 | pixi.resize(size, pixSize+size); | ||
196 | pPix.fill( Qt::blue ); | ||
197 | p.begin( &pixi ); | ||
198 | p. drawPixmap ( 0, pixSize, pPix); | ||
199 | p.end(); | ||
200 | pixSize += size; | ||
193 | } | 201 | } |
194 | // } | 202 | // } |
195 | if ( pixi.width() > 1 ) { | 203 | if ( pixi.width() > 1 ) { |
196 | setPixmap ( 0,pixi ) ; | 204 | setPixmap ( 0,pixi ) ; |
197 | } else { | 205 | } else { |
198 | setPixmap ( 0,QPixmap() ) ; | 206 | setPixmap ( 0,QPixmap() ) ; |
199 | } | 207 | } |
200 | } | 208 | } |
201 | void KOTodoViewItem::stateChange(bool state) | 209 | void KOTodoViewItem::stateChange(bool state) |
202 | { | 210 | { |
203 | // qDebug("KOTodoViewItem::stateChange "); | 211 | // qDebug("KOTodoViewItem::stateChange %d ", state); |
204 | // do not change setting on startup | 212 | // do not change setting on startup |
205 | if ( m_init ) return; | 213 | if ( m_init ) return; |
206 | if (isOn()!=state) { | 214 | if (isOn()!=state) { |
207 | setOn(state); | 215 | setOn(state); |
208 | //qDebug("SETON "); | 216 | //qDebug("SETON "); |
209 | return; | 217 | return; |
210 | } | 218 | } |
211 | if ( mTodo->isCompleted() == state ) { | 219 | if ( mTodo->isCompleted() == state ) { |
212 | //qDebug("STATECHANGE:nothing to do "); | 220 | //qDebug("STATECHANGE:nothing to do "); |
213 | return; | 221 | return; |
214 | } | 222 | } |
215 | QString keyd = "=="; | 223 | QString keyd = "=="; |
216 | QString keyt = "=="; | 224 | QString keyt = "=="; |
217 | //qDebug("KOTodoViewItem::stateChange %s ", text(0).latin1()); | 225 | //qDebug("KOTodoViewItem::stateChange %s ", text(0).latin1()); |
218 | mTodo->setCompleted(state); | 226 | if ( mTodo->doesRecur() ){ |
227 | QDateTime start = mTodo->dtStart(); | ||
228 | mTodo->setCompleted(state); | ||
229 | if ( start != mTodo->dtStart() ) { | ||
230 | if ( state && !mTodo->isCompleted() ) { | ||
231 | setOn( false ); | ||
232 | state = false; | ||
233 | } | ||
234 | } | ||
235 | } else | ||
236 | mTodo->setCompleted(state); | ||
237 | |||
219 | if (state) mTodo->setCompleted(QDateTime::currentDateTime()); | 238 | if (state) mTodo->setCompleted(QDateTime::currentDateTime()); |
220 | 239 | ||
221 | if (mTodo->hasDueDate()) { | 240 | if (mTodo->hasDueDate()) { |
222 | setText(3, mTodo->dtDueDateStr()); | 241 | setText(3, mTodo->dtDueDateStr()); |
223 | QDate d = mTodo->dtDue().date(); | 242 | QDate d = mTodo->dtDue().date(); |
224 | keyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); | 243 | keyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); |
225 | setSortKey(3,keyd); | 244 | setSortKey(3,keyd); |
226 | if (mTodo->doesFloat()) { | 245 | if (mTodo->doesFloat()) { |
@@ -228,16 +247,35 @@ void KOTodoViewItem::stateChange(bool state) | |||
228 | } | 247 | } |
229 | else { | 248 | else { |
230 | setText(4,mTodo->dtDueTimeStr()); | 249 | setText(4,mTodo->dtDueTimeStr()); |
231 | QTime t = mTodo->dtDue().time(); | 250 | QTime t = mTodo->dtDue().time(); |
232 | keyt.sprintf("%02d%02d",t.hour(),t.minute()); | 251 | keyt.sprintf("%02d%02d",t.hour(),t.minute()); |
233 | setSortKey(4,keyt); | 252 | setSortKey(4,keyt); |
234 | } | 253 | } |
235 | } | 254 | } |
255 | if (mTodo->hasStartDate()) { | ||
256 | QString skeyt = "=="; | ||
257 | QString skeyd = "=="; | ||
258 | setText(5, mTodo->dtStartDateStr()); | ||
259 | QDate d = mTodo->dtStart().date(); | ||
260 | skeyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); | ||
261 | |||
262 | if (mTodo->doesFloat()) { | ||
263 | setText(6,""); | ||
264 | } | ||
265 | else { | ||
266 | setText(6,mTodo->dtStartTimeStr()); | ||
267 | QTime t = mTodo->dtStart().time(); | ||
268 | skeyt.sprintf("%02d%02d",t.hour(),t.minute()); | ||
269 | |||
270 | } | ||
271 | setSortKey(5,skeyd); | ||
272 | setSortKey(6,skeyt); | ||
273 | } | ||
236 | if (mTodo->isCompleted()) setSortKey(1,QString::number(9)+keyd+keyt); | 274 | if (mTodo->isCompleted()) setSortKey(1,QString::number(9)+keyd+keyt); |
237 | else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt); | 275 | else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt); |
238 | 276 | ||
239 | setText(2,i18n("%1 %").arg(QString::number(mTodo->percentComplete()))); | 277 | setText(2,i18n("%1 %").arg(QString::number(mTodo->percentComplete()))); |
240 | if (mTodo->percentComplete()<100) { | 278 | if (mTodo->percentComplete()<100) { |
241 | if (mTodo->isCompleted()) setSortKey(2,QString::number(999)); | 279 | if (mTodo->isCompleted()) setSortKey(2,QString::number(999)); |
242 | else setSortKey(2,QString::number(mTodo->percentComplete())); | 280 | else setSortKey(2,QString::number(mTodo->percentComplete())); |
243 | } | 281 | } |