-rw-r--r-- | korganizer/kolistview.cpp | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index bbf83d9..fd86095 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp | |||
@@ -366,18 +366,16 @@ void KOListView::setCat() | |||
366 | { | 366 | { |
367 | setCategories( true ); | 367 | setCategories( true ); |
368 | } | 368 | } |
369 | void KOListView::setAlarm() | 369 | void KOListView::setAlarm() |
370 | { | 370 | { |
371 | KOAlarmPrefs kap( this); | 371 | KOAlarmPrefs kap( this); |
372 | if ( !kap.exec() ) | 372 | if ( !kap.exec() ) |
373 | return; | 373 | return; |
374 | |||
375 | |||
376 | QStringList itemList; | 374 | QStringList itemList; |
377 | QPtrList<KOListViewItem> sel ; | 375 | QPtrList<KOListViewItem> sel ; |
378 | QListViewItem *qitem = mListView->firstChild (); | 376 | QListViewItem *qitem = mListView->firstChild (); |
379 | while ( qitem ) { | 377 | while ( qitem ) { |
380 | if ( qitem->isSelected() ) { | 378 | if ( qitem->isSelected() ) { |
381 | Incidence* inc = ((KOListViewItem *) qitem)->data(); | 379 | Incidence* inc = ((KOListViewItem *) qitem)->data(); |
382 | if ( inc->type() != "Journal" ) { | 380 | if ( inc->type() != "Journal" ) { |
383 | if ( inc->type() == "Todo" ) { | 381 | if ( inc->type() == "Todo" ) { |
@@ -423,72 +421,75 @@ void KOListView::setAlarm() | |||
423 | } | 421 | } |
424 | } else { | 422 | } else { |
425 | Alarm* alarm = inc->alarms().first(); | 423 | Alarm* alarm = inc->alarms().first(); |
426 | if ( alarm ) { | 424 | if ( alarm ) { |
427 | alarm->setEnabled(false); | 425 | alarm->setEnabled(false); |
428 | alarm->setType(Alarm::Invalid); | 426 | alarm->setType(Alarm::Invalid); |
429 | } | 427 | } |
430 | } | 428 | } |
431 | temp = item; | 429 | ListItemVisitor v(item, mStartDate ); |
432 | item = sel.next(); | 430 | inc->accept(v); |
433 | mUidDict.remove( inc->uid() ); | 431 | item = sel.next(); |
434 | delete temp;; | ||
435 | addIncidence( inc ); | ||
436 | } | 432 | } |
437 | topLevelWidget()->setCaption( i18n("Canged alarm for %1 items").arg( count ) ); | 433 | topLevelWidget()->setCaption( i18n("Canged alarm for %1 items").arg( count ) ); |
438 | qDebug("KO: Set alarm for %d items", count); | 434 | qDebug("KO: Set alarm for %d items", count); |
439 | calendar()->reInitAlarmSettings(); | 435 | calendar()->reInitAlarmSettings(); |
440 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); | 436 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); |
441 | } | 437 | } |
442 | void KOListView::setCategories( bool removeOld ) | 438 | void KOListView::setCategories( bool removeOld ) |
443 | { | 439 | { |
444 | 440 | ||
445 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); | 441 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); |
442 | csd->setColorEnabled(); | ||
446 | if (! csd->exec()) { | 443 | if (! csd->exec()) { |
447 | delete csd; | 444 | delete csd; |
448 | return; | 445 | return; |
449 | } | 446 | } |
450 | QStringList catList = csd->selectedCategories(); | 447 | QStringList catList = csd->selectedCategories(); |
451 | delete csd; | 448 | delete csd; |
452 | // if ( catList.count() == 0 ) | 449 | // if ( catList.count() == 0 ) |
453 | // return; | 450 | // return; |
454 | catList.sort(); | 451 | //catList.sort(); |
455 | QString categoriesStr = catList.join(","); | 452 | QString categoriesStr = catList.join(","); |
456 | int i; | 453 | int i; |
457 | QStringList itemList; | 454 | QStringList itemList; |
458 | QPtrList<KOListViewItem> sel ; | 455 | QPtrList<KOListViewItem> sel ; |
459 | QListViewItem *qitem = mListView->firstChild (); | 456 | QListViewItem *qitem = mListView->firstChild (); |
460 | while ( qitem ) { | 457 | while ( qitem ) { |
461 | if ( qitem->isSelected() ) { | 458 | if ( qitem->isSelected() ) { |
462 | sel.append(((KOListViewItem *)qitem)); | 459 | sel.append(((KOListViewItem *)qitem)); |
463 | } | 460 | } |
464 | qitem = qitem->nextSibling(); | 461 | qitem = qitem->nextSibling(); |
465 | } | 462 | } |
466 | KOListViewItem * item, *temp; | 463 | KOListViewItem * item, *temp; |
467 | item = sel.first(); | 464 | item = sel.first(); |
468 | Incidence* inc; | 465 | if( item ) { |
469 | while ( item ) { | 466 | Incidence* inc = item->data() ; |
470 | inc = item->data(); | 467 | bool setSub = false; |
471 | if ( removeOld ) { | 468 | if( inc->type() == "Todo" && sel.count() == 1 && inc->relations().count() > 0 ) { |
472 | inc->setCategories( categoriesStr ); | 469 | int result = KMessageBox::warningYesNoCancel(this, |
473 | } else { | 470 | i18n("The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?").arg( inc->summary().left ( 25 ) ), |
474 | itemList = QStringList::split (",", inc->categoriesStr() ); | 471 | i18n("Todo has subtodos"), |
475 | for( i = 0; i< catList.count(); ++i ) { | 472 | i18n("Yes"), |
476 | if ( !itemList.contains (catList[i])) | 473 | i18n("No")); |
477 | itemList.append( catList[i] ); | 474 | if (result == KMessageBox::Cancel) item = 0; |
478 | } | 475 | if (result == KMessageBox::Yes) setSub = true; |
479 | itemList.sort(); | 476 | } |
480 | inc->setCategories( itemList.join(",") ); | 477 | while ( item ) { |
478 | inc = item->data(); | ||
479 | if ( removeOld ) { | ||
480 | inc->setCategories( catList, setSub ); | ||
481 | } else { | ||
482 | inc->addCategories( catList, setSub ); | ||
483 | } | ||
484 | ListItemVisitor v(item, mStartDate ); | ||
485 | inc->accept(v); | ||
486 | item = sel.next(); | ||
481 | } | 487 | } |
482 | temp = item; | ||
483 | item = sel.next(); | ||
484 | mUidDict.remove( inc->uid() ); | ||
485 | delete temp;; | ||
486 | addIncidence( inc ); | ||
487 | } | 488 | } |
488 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); | 489 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); |
489 | } | 490 | } |
490 | 491 | ||
491 | void KOListView::beamSelected() | 492 | void KOListView::beamSelected() |
492 | { | 493 | { |
493 | int icount = 0; | 494 | int icount = 0; |
494 | QPtrList<Incidence> delSel ; | 495 | QPtrList<Incidence> delSel ; |