summaryrefslogtreecommitdiffabout
path: root/korganizer/kolistview.cpp
Side-by-side diff
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()
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;