summaryrefslogtreecommitdiffabout
path: root/korganizer/kolistview.cpp
Unidiff
Diffstat (limited to 'korganizer/kolistview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kolistview.cpp39
1 files changed, 17 insertions, 22 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index 7783dd4..d25f671 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -496,73 +496,68 @@ void KOListView::setCat()
496 bool set = true; 496 bool set = true;
497 int result = KMessageBox::warningYesNoCancel(this, 497 int result = KMessageBox::warningYesNoCancel(this,
498 i18n("Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?"), 498 i18n("Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?"),
499 i18n("Set categories"), 499 i18n("Set categories"),
500 i18n("Add"), 500 i18n("Add"),
501 i18n("Reset")); 501 i18n("Reset"));
502 if (result == KMessageBox::Cancel) return; 502 if (result == KMessageBox::Cancel) return;
503 if (result == KMessageBox::Yes) set = false; 503 if (result == KMessageBox::Yes) set = false;
504 setCategories( set ); 504 setCategories( set );
505} 505}
506 506
507void KOListView::setAlarm() 507void KOListView::setAlarm()
508{ 508{
509 KOAlarmPrefs kap( this); 509 KOAlarmPrefs kap( this);
510 if ( !kap.exec() ) 510 if ( !kap.exec() )
511 return; 511 return;
512 QPtrList<Incidence> delSel = getSelectedIncidences( true, true, false, true ); // no journals, only due todos 512 QPtrList<Incidence> delSel = getSelectedIncidences( true, true, false, true ); // no journals, only due todos
513 Incidence* inc = delSel.first(); 513 Incidence* inc = delSel.first();
514 int count = 0; 514 int count = 0;
515 while ( inc ) { 515 while ( inc ) {
516 ++count; 516 ++count;
517 if (kap.mAlarmButton->isChecked()) { 517 if (kap.mAlarmButton->isChecked()) {
518 if (inc->alarms().count() == 0) 518 if (inc->alarms().count() == 0)
519 inc->newAlarm(); 519 inc->newAlarm();
520 Alarm *alarm = inc->alarms().first();
521 alarm->setEnabled(true);
522 int j = kap.mAlarmTimeEdit->value()* -60;
523 if (kap.mAlarmIncrCombo->currentItem() == 1)
524 j = j * 60;
525 else if (kap.mAlarmIncrCombo->currentItem() == 2)
526 j = j * (60 * 24);
527 alarm->setStartOffset( j );
528
529 if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) {
530 alarm->setProcedureAlarm(kap.mAlarmProgram);
531 }
532 else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn())
533 alarm->setAudioAlarm(kap.mAlarmSound);
534 else
535 alarm->setType(Alarm::Invalid);
536 } else {
520 QPtrList<Alarm> alarms = inc->alarms(); 537 QPtrList<Alarm> alarms = inc->alarms();
521 Alarm *alarm; 538 Alarm *alarm;
522 for (alarm = alarms.first(); alarm; alarm = alarms.next() ) { 539 for (alarm = alarms.first(); alarm; alarm = alarms.next() ) {
523 alarm->setEnabled(true);
524 int j = kap.mAlarmTimeEdit->value()* -60;
525 if (kap.mAlarmIncrCombo->currentItem() == 1)
526 j = j * 60;
527 else if (kap.mAlarmIncrCombo->currentItem() == 2)
528 j = j * (60 * 24);
529 alarm->setStartOffset( j );
530
531 if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) {
532 alarm->setProcedureAlarm(kap.mAlarmProgram);
533 }
534 else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn())
535 alarm->setAudioAlarm(kap.mAlarmSound);
536 else
537 alarm->setType(Alarm::Invalid);
538 //alarm->setAudioAlarm("default");
539 // TODO: Deal with multiple alarms
540 break; // For now, stop after the first alarm
541 }
542 } else {
543 Alarm* alarm = inc->alarms().first();
544 if ( alarm ) {
545 alarm->setEnabled(false); 540 alarm->setEnabled(false);
546 alarm->setType(Alarm::Invalid); 541 alarm->setType(Alarm::Invalid);
547 } 542 }
548 } 543 }
549 KOListViewItem* item = getItemForEvent(inc); 544 KOListViewItem* item = getItemForEvent(inc);
550 if (item) { 545 if (item) {
551 ListItemVisitor v(item, mStartDate ); 546 ListItemVisitor v(item, mStartDate );
552 inc->accept(v); 547 inc->accept(v);
553 } 548 }
554 inc = delSel.next(); 549 inc = delSel.next();
555 } 550 }
556 topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) ); 551 topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) );
557 qDebug("KO: Set alarm for %d items", count); 552 qDebug("KO: Set alarm for %d items", count);
558 calendar()->reInitAlarmSettings(); 553 calendar()->reInitAlarmSettings();
559 QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); 554 QTimer::singleShot( 1, this, SLOT ( resetFocus() ) );
560} 555}
561void KOListView::setCategories( bool removeOld ) 556void KOListView::setCategories( bool removeOld )
562{ 557{
563 558
564 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); 559 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 );
565 csd->setColorEnabled(); 560 csd->setColorEnabled();
566 if (! csd->exec()) { 561 if (! csd->exec()) {
567 delete csd; 562 delete csd;
568 return; 563 return;