adcalendar.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <kdebug.h>
00027
00028 #include "adcalendar.h"
00029
00030 ADCalendar::ADCalendar(const QString& url, const QCString& appname, Type type)
00031 : ADCalendarBase(url, appname, type),
00032 available_( false ),
00033 enabled_(true)
00034 {
00035 loadFile();
00036 }
00037
00038 ADCalendar *ADCalendarFactory::create(const QString& url, const QCString& appname, ADCalendarBase::Type type)
00039 {
00040 return new ADCalendar(url, appname, type);
00041 }
00042
00043
00044
00045
00046
00047 bool ADCalendar::eventHandled(const Event* event, const QValueList<QDateTime>& alarmtimes)
00048 {
00049 EventsMap::ConstIterator it = eventsHandled_.find(event->uid());
00050 if (it == eventsHandled_.end())
00051 return false;
00052
00053 int oldCount = it.data().alarmTimes.count();
00054 int count = alarmtimes.count();
00055 for (int i = 0; i < count; ++i) {
00056 if (alarmtimes[i].isValid()) {
00057 if (i >= oldCount
00058 || !it.data().alarmTimes[i].isValid()
00059 || it.data().alarmTimes[i].isValid()
00060 && alarmtimes[i] != it.data().alarmTimes[i])
00061 return false;
00062 }
00063 }
00064 return true;
00065 }
00066
00067
00068
00069
00070
00071 void ADCalendar::setEventHandled(const Event* event, const QValueList<QDateTime>& alarmtimes)
00072 {
00073 if (event)
00074 {
00075 kdDebug(5900) << "ADCalendar::setEventHandled(" << event->uid() << ")\n";
00076 EventsMap::Iterator it = eventsHandled_.find(event->uid());
00077 if (it != eventsHandled_.end())
00078 {
00079
00080 it.data().alarmTimes = alarmtimes;
00081 it.data().eventSequence = event->revision();
00082 }
00083 else
00084 eventsHandled_.insert(event->uid(),EventItem(urlString(),
00085 event->revision(),
00086 alarmtimes));
00087 }
00088 }
00089
00090
00091
00092
00093 void ADCalendar::clearEventsHandled(const QString& calendarURL)
00094 {
00095 for (EventsMap::Iterator it = eventsHandled_.begin(); it != eventsHandled_.end(); )
00096 {
00097 if (it.data().calendarURL == calendarURL)
00098 {
00099 EventsMap::Iterator i = it;
00100 ++it;
00101 eventsHandled_.remove(i);
00102 }
00103 else
00104 ++it;
00105 }
00106 }
This file is part of the documentation for kalarmd Library Version 3.2.2.