summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-07-01 20:58:33 (UTC)
committer zautrix <zautrix>2005-07-01 20:58:33 (UTC)
commit5c03b6da2ff31c72d8c8b37d3e94f666a22081d0 (patch) (unidiff)
treefb0197957a16aed93322ba61f7c6db2edd453011 /korganizer
parent541878bcf52030d8597d5e79afb6ae1185b2ac2c (diff)
downloadkdepimpi-5c03b6da2ff31c72d8c8b37d3e94f666a22081d0.zip
kdepimpi-5c03b6da2ff31c72d8c8b37d3e94f666a22081d0.tar.gz
kdepimpi-5c03b6da2ff31c72d8c8b37d3e94f666a22081d0.tar.bz2
more fixes
Diffstat (limited to 'korganizer') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kolistview.cpp42
1 files changed, 20 insertions, 22 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index 4c815d8..1b4397f 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -458,53 +458,36 @@ void KOListView::setCat()
458 bool set = true; 458 bool set = true;
459 int result = KMessageBox::warningYesNoCancel(this, 459 int result = KMessageBox::warningYesNoCancel(this,
460 i18n("Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?"), 460 i18n("Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?"),
461 i18n("Set categories"), 461 i18n("Set categories"),
462 i18n("Add"), 462 i18n("Add"),
463 i18n("Reset")); 463 i18n("Reset"));
464 if (result == KMessageBox::Cancel) return; 464 if (result == KMessageBox::Cancel) return;
465 if (result == KMessageBox::Yes) set = false; 465 if (result == KMessageBox::Yes) set = false;
466 setCategories( set ); 466 setCategories( set );
467} 467}
468 468
469void KOListView::setAlarm() 469void KOListView::setAlarm()
470{ 470{
471 KOAlarmPrefs kap( this); 471 KOAlarmPrefs kap( this);
472 if ( !kap.exec() ) 472 if ( !kap.exec() )
473 return; 473 return;
474 QPtrList<KOListViewItem> sel ; 474 QPtrList<Incidence> delSel = getSelectedIncidences( true, true, false, true ); // no journals, only due todos
475 QListViewItem *qitem = mListView->firstChild (); 475 Incidence* inc = delSel.first();
476 while ( qitem ) {
477 if ( qitem->isSelected() ) {
478 Incidence* inc = ((KOListViewItem *) qitem)->data();
479 if ( inc->typeID() != journalID ) {
480 if ( inc->typeID() == todoID ) {
481 if ( ((Todo*)inc)->hasDueDate() )
482 sel.append(((KOListViewItem *)qitem));
483 } else
484 sel.append(((KOListViewItem *)qitem));
485 }
486 }
487 qitem = qitem->nextSibling();
488 }
489 int count = 0; 476 int count = 0;
490 KOListViewItem * item, *temp; 477 while ( inc ) {
491 item = sel.first();
492 Incidence* inc;
493 while ( item ) {
494 inc = item->data();
495 ++count; 478 ++count;
496 if (kap.mAlarmButton->isChecked()) { 479 if (kap.mAlarmButton->isChecked()) {
497 if (inc->alarms().count() == 0) 480 if (inc->alarms().count() == 0)
498 inc->newAlarm(); 481 inc->newAlarm();
499 QPtrList<Alarm> alarms = inc->alarms(); 482 QPtrList<Alarm> alarms = inc->alarms();
500 Alarm *alarm; 483 Alarm *alarm;
501 for (alarm = alarms.first(); alarm; alarm = alarms.next() ) { 484 for (alarm = alarms.first(); alarm; alarm = alarms.next() ) {
502 alarm->setEnabled(true); 485 alarm->setEnabled(true);
503 int j = kap.mAlarmTimeEdit->value()* -60; 486 int j = kap.mAlarmTimeEdit->value()* -60;
504 if (kap.mAlarmIncrCombo->currentItem() == 1) 487 if (kap.mAlarmIncrCombo->currentItem() == 1)
505 j = j * 60; 488 j = j * 60;
506 else if (kap.mAlarmIncrCombo->currentItem() == 2) 489 else if (kap.mAlarmIncrCombo->currentItem() == 2)
507 j = j * (60 * 24); 490 j = j * (60 * 24);
508 alarm->setStartOffset( j ); 491 alarm->setStartOffset( j );
509 492
510 if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) { 493 if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) {
@@ -512,35 +495,38 @@ void KOListView::setAlarm()
512 } 495 }
513 else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn()) 496 else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn())
514 alarm->setAudioAlarm(kap.mAlarmSound); 497 alarm->setAudioAlarm(kap.mAlarmSound);
515 else 498 else
516 alarm->setType(Alarm::Invalid); 499 alarm->setType(Alarm::Invalid);
517 //alarm->setAudioAlarm("default"); 500 //alarm->setAudioAlarm("default");
518 // TODO: Deal with multiple alarms 501 // TODO: Deal with multiple alarms
519 break; // For now, stop after the first alarm 502 break; // For now, stop after the first alarm
520 } 503 }
521 } else { 504 } else {
522 Alarm* alarm = inc->alarms().first(); 505 Alarm* alarm = inc->alarms().first();
523 if ( alarm ) { 506 if ( alarm ) {
524 alarm->setEnabled(false); 507 alarm->setEnabled(false);
525 alarm->setType(Alarm::Invalid); 508 alarm->setType(Alarm::Invalid);
526 } 509 }
527 } 510 }
511 KOListViewItem* item = getItemForEvent(inc);
512 if (item) {
528 ListItemVisitor v(item, mStartDate ); 513 ListItemVisitor v(item, mStartDate );
529 inc->accept(v); 514 inc->accept(v);
530 item = sel.next(); 515 }
516 inc = delSel.next();
531 } 517 }
532 topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) ); 518 topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) );
533 qDebug("KO: Set alarm for %d items", count); 519 qDebug("KO: Set alarm for %d items", count);
534 calendar()->reInitAlarmSettings(); 520 calendar()->reInitAlarmSettings();
535 QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); 521 QTimer::singleShot( 1, this, SLOT ( resetFocus() ) );
536} 522}
537void KOListView::setCategories( bool removeOld ) 523void KOListView::setCategories( bool removeOld )
538{ 524{
539 525
540 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); 526 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 );
541 csd->setColorEnabled(); 527 csd->setColorEnabled();
542 if (! csd->exec()) { 528 if (! csd->exec()) {
543 delete csd; 529 delete csd;
544 return; 530 return;
545 } 531 }
546 QStringList catList = csd->selectedCategories(); 532 QStringList catList = csd->selectedCategories();
@@ -686,33 +672,45 @@ QPtrList<Incidence> KOListView::getSelectedIncidences( bool includeEvents, bool
686 if ( todo->relations().count() ) { 672 if ( todo->relations().count() ) {
687 if ( askSubTodos ) { 673 if ( askSubTodos ) {
688 int result = KMessageBox::warningYesNoCancel(this, 674 int result = KMessageBox::warningYesNoCancel(this,
689 i18n("One (or more) selected\ntodo has subtodos!\nDo you want to select\nall subtodos of all\nselected todos as well?"), 675 i18n("One (or more) selected\ntodo has subtodos!\nDo you want to select\nall subtodos of all\nselected todos as well?"),
690 i18n("Todo has subtodos"), 676 i18n("Todo has subtodos"),
691 i18n("Yes"), 677 i18n("Yes"),
692 i18n("No")); 678 i18n("No"));
693 if ( result == KMessageBox::Cancel ) { 679 if ( result == KMessageBox::Cancel ) {
694 delSel.clear(); 680 delSel.clear();
695 return delSel; 681 return delSel;
696 } 682 }
697 if (result == KMessageBox::Yes) 683 if (result == KMessageBox::Yes)
698 addSubTodos = true; 684 addSubTodos = true;
699 askSubTodos = false; 685 askSubTodos = false;
700 } 686 }
701 if ( addSubTodos ) { 687 if ( addSubTodos ) {
702 inc->addRelationsToList( &delSel ); 688 QPtrList<Incidence> tempSel ;
689 inc->addRelationsToList( &tempSel );
690 Incidence* tempinc = tempSel.first();
691 while ( tempinc ) {
692 if ( delSel.findRef( tempinc ) == -1 ) {
693 if ( tempinc->typeID() == todoID && onlyDueTodos ) {
694 if ( ((Todo*)tempinc)->hasDueDate() )
695 delSel.append( tempinc );
696 } else
697 delSel.append( tempinc );
698 }
699 tempinc = tempSel.next();
700 }
703 } 701 }
704 } 702 }
705 } 703 }
706 } 704 }
707 item = item->nextSibling(); 705 item = item->nextSibling();
708 } 706 }
709 return delSel; 707 return delSel;
710} 708}
711 709
712void KOListView::writeToFile( bool iCal ) 710void KOListView::writeToFile( bool iCal )
713{ 711{
714 QPtrList<Incidence> delSel = getSelectedIncidences(); // all inc allowed; 712 QPtrList<Incidence> delSel = getSelectedIncidences(); // all inc allowed;
715 if ( !iCal ) { 713 if ( !iCal ) {
716 bool journal = false; 714 bool journal = false;
717 Incidence *incidence = delSel.first(); 715 Incidence *incidence = delSel.first();
718 while ( incidence ) { 716 while ( incidence ) {