1 /* 2 * deferdlg.h - dialog to defer an alarm 3 * Program: kalarm 4 * SPDX-FileCopyrightText: 2002-2019 David Jarvie <djarvie@kde.org> 5 * 6 * SPDX-License-Identifier: GPL-2.0-or-later 7 */ 8 9 #pragma once 10 11 #include "eventid.h" 12 13 #include <KAlarmCal/DateTime> 14 15 #include <QDialog> 16 17 class AlarmTimeWidget; 18 class QDialogButtonBox; 19 namespace KAlarmCal { class KAEvent; } 20 21 using namespace KAlarmCal; 22 23 24 class DeferAlarmDlg : public QDialog 25 { 26 Q_OBJECT 27 public: 28 DeferAlarmDlg(const DateTime& initialDT, bool anyTimeOption, bool cancelButton, QWidget* parent = nullptr); 29 void setLimit(const DateTime&); 30 DateTime setLimit(const KAEvent& event); getDateTime()31 const DateTime& getDateTime() const { return mAlarmDateTime; } 32 void setDeferMinutes(int mins); deferMinutes()33 int deferMinutes() const { return mDeferMinutes; } 34 35 protected Q_SLOTS: 36 virtual void slotOk(); 37 virtual void slotCancelDeferral(); 38 39 private Q_SLOTS: 40 void slotPastLimit(); 41 42 private: 43 AlarmTimeWidget* mTimeWidget; 44 QDialogButtonBox* mButtonBox; 45 DateTime mAlarmDateTime; 46 DateTime mLimitDateTime; // latest date/time allowed for deferral 47 EventId mLimitEventId; // event IDs from whose recurrences to derive the limit date/time for deferral 48 int mDeferMinutes; // number of minutes deferral selected, or 0 if date/time entered 49 }; 50 51 52 // vim: et sw=4: 53