koalarmclient.h
00001 /* 00002 KOrganizer Alarm Daemon Client. 00003 00004 This file is part of KOrganizer. 00005 00006 Copyright (c) 2002,2003 Cornelius Schumacher 00007 00008 This program is free software; you can redistribute it and/or modify 00009 it under the terms of the GNU General Public License as published by 00010 the Free Software Foundation; either version 2 of the License, or 00011 (at your option) any later version. 00012 00013 This program is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 GNU General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with this program; if not, write to the Free Software 00020 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00021 00022 As a special exception, permission is given to link this program 00023 with any edition of TQt, and distribute the resulting executable, 00024 without including the source code for TQt in the source distribution. 00025 */ 00026 #ifndef KOALARMCLIENT_H 00027 #define KOALARMCLIENT_H 00028 00029 #include "alarmclientiface.h" 00030 00031 #include <kapplication.h> 00032 00033 #include <tqtimer.h> 00034 #include <tqdatetime.h> 00035 00036 class AlarmDialog; 00037 class AlarmDockWindow; 00038 00039 namespace KCal { 00040 class CalendarResources; 00041 class Incidence; 00042 } 00043 00044 class KOAlarmClient : public TQObject, virtual public AlarmClientIface, public KSessionManaged 00045 { 00046 Q_OBJECT 00047 TQ_OBJECT 00048 public: 00049 KOAlarmClient( TQObject *parent = 0, const char *name = 0 ); 00050 ~KOAlarmClient(); 00051 00052 bool commitData( TQSessionManager & ); 00053 00054 // DCOP interface 00055 void quit(); 00056 void forceAlarmCheck(); 00057 void dumpDebug(); 00058 TQStringList dumpAlarms(); 00059 00060 void debugShowDialog(); 00061 00062 public slots: 00063 void slotQuit(); 00064 00065 protected slots: 00066 void checkAlarms(); 00067 00068 signals: 00069 void reminderCount( int ); 00070 void saveAllSignal(); 00071 00072 private: 00073 void createReminder( KCal::CalendarResources *calendar, KCal::Incidence *incidence, 00074 const TQDateTime &dt, const TQString &displayText ); 00075 void saveLastCheckTime(); 00076 00077 AlarmDockWindow *mDocker; // the panel icon 00078 KCal::CalendarResources *mCalendar; 00079 00080 TQDateTime mLastChecked; 00081 TQTimer mCheckTimer; 00082 00083 AlarmDialog *mDialog; 00084 }; 00085 00086 #endif