alarmdialog.h
00001 /* 00002 This file is part of the KDE alarm daemon. 00003 Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 00019 As a special exception, permission is given to link this program 00020 with any edition of TQt, and distribute the resulting executable, 00021 without including the source code for TQt in the source distribution. 00022 */ 00023 #ifndef ALARMDIALOG_H 00024 #define ALARMDIALOG_H 00025 // 00026 // Alarm dialog. 00027 // 00028 #include <tqtimer.h> 00029 #include <tqdatetime.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 TDEListView; 00042 class TQSpinBox; 00043 class TQSplitter; 00044 00045 class AlarmDialog : public KDialogBase { 00046 Q_OBJECT 00047 00048 public: 00049 explicit AlarmDialog( CalendarResources *calendar, TQWidget *parent = 0, const char *name = 0 ); 00050 00051 ~AlarmDialog(); 00052 00053 void addIncidence( Incidence *incidence, const TQDateTime &reminderAt, 00054 const TQString &displayText ); 00055 void eventNotification(); 00056 00057 public slots: 00058 00059 void slotOk(); // suspend 00060 void slotUser1(); // edit 00061 void slotUser2(); // dismiss all 00062 void slotUser3(); // dismiss selected 00063 void slotSave(); 00064 void wakeUp(); 00065 void show(); 00066 void edit(); 00067 void suspend(); 00068 void suspendAll(); 00069 void dismissAll(); 00070 void dismissCurrent(); 00071 00076 void slotCalendarChanged(); 00077 00078 signals: 00079 void reminderCount( int count ); 00080 00081 private slots: 00082 void updateButtons(); 00083 void showDetails(); 00084 00085 protected: 00086 void closeEvent( TQCloseEvent * ); 00087 00088 private: 00089 00090 static TQDateTime triggerDateForIncidence( Incidence *inc, 00091 const TQDateTime &reminderAt, 00092 TQString &displayStr ); 00093 00094 void readLayout(); 00095 void writeLayout(); 00096 AlarmListItem *searchByUid( const TQString &uid ); 00097 bool ensureKorganizerRunning() const; 00098 void setTimer(); 00099 int activeCount(); 00100 TQValueList<AlarmListItem*> selectedItems() const; 00101 00102 CalendarResources *mCalendar; 00103 TDEListView *mIncidenceListView; 00104 KOEventViewer *mDetailView; 00105 00106 TQSpinBox *mSuspendSpin; 00107 TQSplitter *mSplitter; 00108 KComboBox *mSuspendUnit; 00109 TQTimer mSuspendTimer; 00110 }; 00111 00112 #endif