calendarsyncee.cpp
00001
00002
00003 #include <kdebug.h>
00004
00005 #include "calendarsyncee.h"
00006
00007 CalendarSyncEntry::CalendarSyncEntry(Incidence *incidence) :
00008 mIncidence(incidence)
00009 {
00010 }
00011
00012 QString CalendarSyncEntry::name()
00013 {
00014 return mIncidence->summary();
00015 }
00016
00017 QString CalendarSyncEntry::id()
00018 {
00019 return mIncidence->uid();
00020 }
00021
00022 QString CalendarSyncEntry::timestamp()
00023 {
00024 return mIncidence->lastModified().toString();
00025 }
00026
00027 bool CalendarSyncEntry::equals(KSyncEntry *entry)
00028 {
00029 CalendarSyncEntry *calEntry = dynamic_cast<CalendarSyncEntry *>(entry);
00030 if (!calEntry) {
00031 kdDebug() << "CalendarSyncee::addEntry(): Wrong type." << endl;
00032 return false;
00033 }
00034
00035 if (mIncidence->uid() != calEntry->incidence()->uid()) return false;
00036 if (mIncidence->lastModified() != calEntry->incidence()->lastModified())
00037 return false;
00038
00039 return true;
00040 }
00041
00042 CalendarSyncee::CalendarSyncee()
00043 {
00044 mCalendar = new CalendarLocal;
00045
00046 mEntries.setAutoDelete(true);
00047 }
00048
00049 CalendarSyncee::~CalendarSyncee()
00050 {
00051 delete mCalendar;
00052 }
00053
00054 bool CalendarSyncee::read()
00055 {
00056 mCalendar->close();
00057 return mCalendar->load(filename());
00058 }
00059
00060 bool CalendarSyncee::write()
00061 {
00062 return mCalendar->save(filename());
00063 }
00064
00065
00066 CalendarSyncEntry *CalendarSyncee::firstEntry()
00067 {
00068 mEvents = mCalendar->events();
00069 mCurrentEvent = mEvents.first();
00070 return createEntry(mCurrentEvent);
00071 }
00072
00073 CalendarSyncEntry *CalendarSyncee::nextEntry()
00074 {
00075 mCurrentEvent = mEvents.next();
00076 return createEntry(mCurrentEvent);
00077 }
00078
00079 #if 0
00080 CalendarSyncEntry *CalendarSyncee::findEntry(const QString &id)
00081 {
00082 Event *event = mCalendar->getEvent(id);
00083 return createEntry(event);
00084 }
00085 #endif
00086
00087 void CalendarSyncee::addEntry(KSyncEntry *entry)
00088 {
00089 CalendarSyncEntry *calEntry = dynamic_cast<CalendarSyncEntry *>(entry);
00090 if (!calEntry) {
00091 kdDebug() << "CalendarSyncee::addEntry(): SyncEntry has wrong type."
00092 << endl;
00093 } else {
00094 Event *sourceEvent = dynamic_cast<Event *>(calEntry->incidence());
00095 if (!sourceEvent) {
00096 kdDebug() << "CalendarSyncee::addEntry(): Incidence is not of type Event."
00097 << endl;
00098 } else {
00099 kdDebug() << "Cloning..." << endl;
00100 Event *event = dynamic_cast<Event *>(sourceEvent->clone());
00101 kdDebug() << "Cloning...." << endl;
00102 mCalendar->addEvent(event);
00103 kdDebug() << "Cloning....." << endl;
00104 }
00105 }
00106 }
00107
00108 void CalendarSyncee::removeEntry(KSyncEntry *entry)
00109 {
00110 CalendarSyncEntry *calEntry = dynamic_cast<CalendarSyncEntry *>(entry);
00111 if (!calEntry) {
00112 kdDebug() << "CalendarSyncee::removeEntry(): SyncEntry has wrong type."
00113 << endl;
00114 } else {
00115 Event *ev = dynamic_cast<Event *>(calEntry->incidence());
00116 if (ev) {
00117 mCalendar->deleteEvent(ev);
00118 } else {
00119 kdDebug() << "CalendarSyncee::removeEntry(): Incidence has wrong type."
00120 << endl;
00121 }
00122 }
00123 }
00124
00125 CalendarSyncEntry *CalendarSyncee::createEntry(Incidence *incidence)
00126 {
00127 if (incidence) {
00128 CalendarSyncEntry *entry = new CalendarSyncEntry(incidence);
00129 mEntries.append(entry);
00130 return entry;
00131 } else {
00132 return 0;
00133 }
00134 }
This file is part of the documentation for kdelibs Version 3.1.5.