korganizer/korgac
koalarmclient.h
Go to the documentation of this file.00001 /* 00002 KOrganizer Alarm Daemon Client. 00003 00004 This file is part of KOrganizer. 00005 00006 Copyright (c) 2002,2003 Cornelius Schumacher <schumacher@kde.org> 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 along 00019 with this program; if not, write to the Free Software Foundation, Inc., 00020 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 Qt, and distribute the resulting executable, 00024 without including the source code for Qt in the source distribution. 00025 */ 00026 #ifndef KOALARMCLIENT_H 00027 #define KOALARMCLIENT_H 00028 00029 #include <kapplication.h> 00030 #include <ksessionmanager.h> 00031 00032 #include <QTimer> 00033 #include <QDateTime> 00034 00035 class AlarmDialog; 00036 class AlarmDockWindow; 00037 00038 namespace KCal { 00039 class CalendarResources; 00040 class Incidence; 00041 } 00042 00043 class KOAlarmClient : public QObject, public KSessionManager 00044 { 00045 Q_OBJECT 00046 public: 00047 KOAlarmClient( QObject *parent = 0 ); 00048 ~KOAlarmClient(); 00049 00050 bool commitData( QSessionManager & ); 00051 00052 // DBUS interface 00053 void quit(); 00054 void hide(); 00055 void show(); 00056 void forceAlarmCheck(); 00057 void dumpDebug(); 00058 QStringList 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::Incidence *incidence, const QDateTime &dt ); 00074 void saveLastCheckTime(); 00075 00076 AlarmDockWindow *mDocker; // the panel icon 00077 KCal::CalendarResources *mCalendar; 00078 00079 QDateTime mLastChecked; 00080 QTimer mCheckTimer; 00081 00082 AlarmDialog *mDialog; 00083 }; 00084 00085 #endif
KDE 4.2 API Reference