deferdlg.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "kalarm.h"
00026
00027 #include <qlayout.h>
00028
00029 #include <kglobal.h>
00030 #include <klocale.h>
00031 #include <kmessagebox.h>
00032
00033 #include "datetime.h"
00034 #include "deferdlg.moc"
00035
00036
00037 DeferAlarmDlg::DeferAlarmDlg(const QString& caption, const QDateTime& initialDT, const QDateTime& limitDT,
00038 bool cancelButton, QWidget* parent, const char* name)
00039 : KDialogBase(parent, name, true, caption, Ok|Cancel|User1, Ok, false, i18n("Cancel &Deferral")),
00040 limitDateTime(limitDT)
00041 {
00042 if (!cancelButton)
00043 showButton(User1, false);
00044
00045 QWidget* page = new QWidget(this);
00046 setMainWidget(page);
00047 QVBoxLayout* layout = new QVBoxLayout(page, marginKDE2, spacingHint());
00048
00049 timeWidget = new AlarmTimeWidget(AlarmTimeWidget::DEFER_TIME, page, "timeGroup");
00050 timeWidget->setDateTime(initialDT);
00051 layout->addWidget(timeWidget);
00052 layout->addSpacing(KDialog::spacingHint());
00053
00054 setButtonWhatsThis(Ok, i18n("Defer the alarm until the specified time."));
00055 setButtonWhatsThis(User1, i18n("Cancel the deferred alarm. This does not affect future recurrences."));
00056 }
00057
00058
00059 DeferAlarmDlg::~DeferAlarmDlg()
00060 {
00061 }
00062
00063
00064
00065
00066
00067 void DeferAlarmDlg::slotOk()
00068 {
00069 bool anyTime;
00070 if (!timeWidget->getDateTime(alarmDateTime, anyTime))
00071 {
00072 if (limitDateTime.isValid() && alarmDateTime >= limitDateTime)
00073 KMessageBox::sorry(this, i18n("Cannot defer past the alarm's next recurrence (currently %1)")
00074 .arg(KGlobal::locale()->formatDateTime(limitDateTime)));
00075 else
00076 accept();
00077 }
00078 }
00079
00080
00081
00082
00083 void DeferAlarmDlg::slotUser1()
00084 {
00085 alarmDateTime = QDateTime();
00086 accept();
00087 }
00088
00089
00090
00091
00092 void DeferAlarmDlg::slotCancel()
00093 {
00094 reject();
00095 }
This file is part of the documentation for kdelibs Version 3.1.5.