File indexing completed on 2024-05-12 05:14:41
0001 /* 0002 * deferdlg.h - dialog to defer an alarm 0003 * Program: kalarm 0004 * SPDX-FileCopyrightText: 2002-2022 David Jarvie <djarvie@kde.org> 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #pragma once 0010 0011 #include "eventid.h" 0012 #include "kalarmcalendar/datetime.h" 0013 0014 #include <QDialog> 0015 0016 class AlarmTimeWidget; 0017 class QDialogButtonBox; 0018 namespace KAlarmCal { class KAEvent; } 0019 0020 using namespace KAlarmCal; 0021 0022 0023 class DeferAlarmDlg : public QDialog 0024 { 0025 Q_OBJECT 0026 public: 0027 DeferAlarmDlg(const DateTime& initialDT, bool anyTimeOption, bool cancelButton, QWidget* parent = nullptr); 0028 void setLimit(const DateTime&); 0029 DateTime setLimit(const KAEvent& event); 0030 const DateTime& getDateTime() const { return mAlarmDateTime; } 0031 void setDeferMinutes(int mins); 0032 int deferMinutes() const { return mDeferMinutes; } 0033 0034 protected Q_SLOTS: 0035 virtual void slotOk(); 0036 virtual void slotCancelDeferral(); 0037 0038 private Q_SLOTS: 0039 void slotPastLimit(); 0040 0041 private: 0042 AlarmTimeWidget* mTimeWidget; 0043 QDialogButtonBox* mButtonBox; 0044 DateTime mAlarmDateTime; 0045 DateTime mLimitDateTime; // latest date/time allowed for deferral 0046 EventId mLimitEventId; // event IDs from whose recurrences to derive the limit date/time for deferral 0047 int mDeferMinutes; // number of minutes deferral selected, or 0 if date/time entered 0048 }; 0049 0050 // vim: et sw=4: