-rw-r--r-- | korganizer/kolistview.cpp | 39 |
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() bool set = true; int result = KMessageBox::warningYesNoCancel(this, i18n("Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?"), i18n("Set categories"), i18n("Add"), i18n("Reset")); if (result == KMessageBox::Cancel) return; if (result == KMessageBox::Yes) set = false; setCategories( set ); } void KOListView::setAlarm() { KOAlarmPrefs kap( this); if ( !kap.exec() ) return; QPtrList<Incidence> delSel = getSelectedIncidences( true, true, false, true ); // no journals, only due todos Incidence* inc = delSel.first(); int count = 0; while ( inc ) { ++count; if (kap.mAlarmButton->isChecked()) { if (inc->alarms().count() == 0) inc->newAlarm(); + Alarm *alarm = inc->alarms().first(); + alarm->setEnabled(true); + int j = kap.mAlarmTimeEdit->value()* -60; + if (kap.mAlarmIncrCombo->currentItem() == 1) + j = j * 60; + else if (kap.mAlarmIncrCombo->currentItem() == 2) + j = j * (60 * 24); + alarm->setStartOffset( j ); + + if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) { + alarm->setProcedureAlarm(kap.mAlarmProgram); + } + else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn()) + alarm->setAudioAlarm(kap.mAlarmSound); + else + alarm->setType(Alarm::Invalid); + } else { QPtrList<Alarm> alarms = inc->alarms(); Alarm *alarm; for (alarm = alarms.first(); alarm; alarm = alarms.next() ) { - alarm->setEnabled(true); - int j = kap.mAlarmTimeEdit->value()* -60; - if (kap.mAlarmIncrCombo->currentItem() == 1) - j = j * 60; - else if (kap.mAlarmIncrCombo->currentItem() == 2) - j = j * (60 * 24); - alarm->setStartOffset( j ); - - if (!kap.mAlarmProgram.isEmpty() && kap.mAlarmProgramButton->isOn()) { - alarm->setProcedureAlarm(kap.mAlarmProgram); - } - else if (!kap.mAlarmSound.isEmpty() && kap.mAlarmSoundButton->isOn()) - alarm->setAudioAlarm(kap.mAlarmSound); - else - alarm->setType(Alarm::Invalid); - //alarm->setAudioAlarm("default"); - // TODO: Deal with multiple alarms - break; // For now, stop after the first alarm - } - } else { - Alarm* alarm = inc->alarms().first(); - if ( alarm ) { alarm->setEnabled(false); alarm->setType(Alarm::Invalid); } } KOListViewItem* item = getItemForEvent(inc); if (item) { ListItemVisitor v(item, mStartDate ); inc->accept(v); } inc = delSel.next(); } topLevelWidget()->setCaption( i18n("Changed alarm for %1 items").arg( count ) ); qDebug("KO: Set alarm for %d items", count); calendar()->reInitAlarmSettings(); QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); } void KOListView::setCategories( bool removeOld ) { KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); csd->setColorEnabled(); if (! csd->exec()) { delete csd; return; |