korganizer
alarmdialog.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef ALARMDIALOG_H
00024 #define ALARMDIALOG_H
00025
00026
00027
00028 #include <qtimer.h>
00029 #include <qdatetime.h>
00030
00031 #include <kdialogbase.h>
00032
00033 #include <libkcal/event.h>
00034 #include <libkcal/calendarresources.h>
00035
00036 using namespace KCal;
00037
00038 class AlarmListItem;
00039 class KOEventViewer;
00040 class KComboBox;
00041 class KListView;
00042 class QSpinBox;
00043 class QSplitter;
00044
00045 class AlarmDialog : public KDialogBase {
00046 Q_OBJECT
00047 public:
00048 explicit AlarmDialog( CalendarResources *calendar, QWidget *parent = 0, const char *name = 0 );
00049
00050 ~AlarmDialog();
00051
00052 void addIncidence( Incidence *incidence, const QDateTime &reminderAt,
00053 const QString &displayText );
00054 void eventNotification();
00055
00056 public slots:
00057
00058 void slotOk();
00059 void slotUser1();
00060 void slotUser2();
00061 void slotUser3();
00062 void slotSave();
00063 void wakeUp();
00064 void show();
00065 void edit();
00066 void suspend();
00067 void suspendAll();
00068 void dismissAll();
00069 void dismissCurrent();
00070
00075 void slotCalendarChanged();
00076
00077 signals:
00078 void reminderCount( int count );
00079
00080 private slots:
00081 void updateButtons();
00082 void showDetails();
00083
00084 protected:
00085 void keyPressEvent( QKeyEvent *e );
00086 void closeEvent( QCloseEvent * );
00087
00088 private:
00089
00090 static QDateTime triggerDateForIncidence( Incidence *inc,
00091 const QDateTime &reminderAt,
00092 QString &displayStr );
00093
00094
00095 void removeFromConfig( const QStringList &uids );
00096 void readLayout();
00097 void writeLayout();
00098 AlarmListItem *searchByUid( const QString &uid );
00099 bool ensureKorganizerRunning() const;
00100 void setTimer();
00101 int activeCount();
00102 QValueList<AlarmListItem*> selectedItems() const;
00103
00104 CalendarResources *mCalendar;
00105 KListView *mIncidenceListView;
00106 KOEventViewer *mDetailView;
00107
00108 QSpinBox *mSuspendSpin;
00109 QSplitter *mSplitter;
00110 KComboBox *mSuspendUnit;
00111 QTimer mSuspendTimer;
00112 };
00113
00114 #endif
|