diff options
Diffstat (limited to 'kalarm/editdlg.cpp')
-rw-r--r-- | kalarm/editdlg.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/kalarm/editdlg.cpp b/kalarm/editdlg.cpp index f6e1f0b08..8e0cbde37 100644 --- a/kalarm/editdlg.cpp +++ b/kalarm/editdlg.cpp @@ -1374,13 +1374,20 @@ void EditAlarmDlg::slotOk() return; } } - if (!checkCommandData() - || !checkEmailData()) + if (!checkCommandData() || !checkEmailData()) return; if (!mTemplate) { if (timedRecurrence) { + // For daily, weekly, monthly and yearly recurrences, check that the + // specified date matches the allowed days of the week + if (!mRecurrenceEdit->validateDate(mAlarmDateTime)) + { + KMessageBox::sorry(this, i18n("The date/time in the Alarm tab does not " + "match the recurrence settings specified in the Recurrence tab.")); + return; + } TQDateTime now = TQDateTime::currentDateTime(); if (mAlarmDateTime.date() < now.date() || mAlarmDateTime.date() == now.date() @@ -1415,7 +1422,7 @@ void EditAlarmDlg::slotOk() KAEvent recurEvent; int longestRecurInterval = -1; int reminder = mReminder->minutes(); - if (reminder && !mReminder->isOnceOnly()) + if (reminder && !mReminder->isOnceOnly()) { mRecurrenceEdit->updateEvent(recurEvent, false); longestRecurInterval = recurEvent.longestRecurrenceInterval(); @@ -1423,8 +1430,7 @@ void EditAlarmDlg::slotOk() { mTabs->setCurrentPage(mMainPageIndex); mReminder->setFocusOnCount(); - KMessageBox::sorry(this, i18n("Reminder period must be less than the recurrence interval, unless '%1' is checked." - ).arg(Reminder::i18n_first_recurrence_only())); + KMessageBox::sorry(this, i18n("Reminder period must be less than the recurrence interval, unless '%1' is checked.").arg(Reminder::i18n_first_recurrence_only())); return; } } |