summaryrefslogtreecommitdiffabout
path: root/libkcal
Unidiff
Diffstat (limited to 'libkcal') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/calendar.h2
-rw-r--r--libkcal/calendarlocal.cpp11
-rw-r--r--libkcal/calendarlocal.h2
3 files changed, 12 insertions, 3 deletions
diff --git a/libkcal/calendar.h b/libkcal/calendar.h
index 66836a1..f301768 100644
--- a/libkcal/calendar.h
+++ b/libkcal/calendar.h
@@ -1,272 +1,272 @@
1/* 1/*
2 This file is part of libkcal. 2 This file is part of libkcal.
3 Copyright (c) 1998 Preston Brown 3 Copyright (c) 1998 Preston Brown
4 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 4 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public 7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either 8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version. 9 version 2 of the License, or (at your option) any later version.
10 10
11 This library is distributed in the hope that it will be useful, 11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details. 14 Library General Public License for more details.
15 15
16 You should have received a copy of the GNU Library General Public License 16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to 17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. 19 Boston, MA 02111-1307, USA.
20*/ 20*/
21 21
22#ifndef CALENDAR_H 22#ifndef CALENDAR_H
23#define CALENDAR_H 23#define CALENDAR_H
24 24
25#include <qobject.h> 25#include <qobject.h>
26#include <qstring.h> 26#include <qstring.h>
27#include <qdatetime.h> 27#include <qdatetime.h>
28#include <qptrlist.h> 28#include <qptrlist.h>
29#include <qdict.h> 29#include <qdict.h>
30 30
31#include "customproperties.h" 31#include "customproperties.h"
32#include "event.h" 32#include "event.h"
33#include "todo.h" 33#include "todo.h"
34#include "journal.h" 34#include "journal.h"
35#include "calfilter.h" 35#include "calfilter.h"
36 36
37//#define _TIME_ZONE "-0500" /* hardcoded, overridden in config file. */ 37//#define _TIME_ZONE "-0500" /* hardcoded, overridden in config file. */
38 38
39class KConfig; 39class KConfig;
40 40
41namespace KCal { 41namespace KCal {
42 42
43 43
44/** 44/**
45 This is the main "calendar" object class for KOrganizer. It holds 45 This is the main "calendar" object class for KOrganizer. It holds
46 information like all appointments/events, user information, etc. etc. 46 information like all appointments/events, user information, etc. etc.
47 one calendar is associated with each CalendarView (@see calendarview.h). 47 one calendar is associated with each CalendarView (@see calendarview.h).
48 This is an abstract base class defining the interface to a calendar. It is 48 This is an abstract base class defining the interface to a calendar. It is
49 implemented by subclasses like @see CalendarLocal, which use different 49 implemented by subclasses like @see CalendarLocal, which use different
50 methods to store and access the data. 50 methods to store and access the data.
51 51
52 Ownership of events etc. is handled by the following policy: As soon as an 52 Ownership of events etc. is handled by the following policy: As soon as an
53 event (or any other subclass of IncidenceBase) object is added to the 53 event (or any other subclass of IncidenceBase) object is added to the
54 Calendar by addEvent() it is owned by the Calendar object. The Calendar takes 54 Calendar by addEvent() it is owned by the Calendar object. The Calendar takes
55 care of deleting it. All Events returned by the query functions are returned 55 care of deleting it. All Events returned by the query functions are returned
56 as pointers, that means all changes to the returned events are immediately 56 as pointers, that means all changes to the returned events are immediately
57 visible in the Calendar. You shouldn't delete any Event object you get from 57 visible in the Calendar. You shouldn't delete any Event object you get from
58 Calendar. 58 Calendar.
59*/ 59*/
60class Calendar : public QObject, public CustomProperties, 60class Calendar : public QObject, public CustomProperties,
61 public IncidenceBase::Observer 61 public IncidenceBase::Observer
62{ 62{
63 Q_OBJECT 63 Q_OBJECT
64public: 64public:
65 Calendar(); 65 Calendar();
66 Calendar(const QString &timeZoneId); 66 Calendar(const QString &timeZoneId);
67 virtual ~Calendar(); 67 virtual ~Calendar();
68 Incidence * undoIncidence() { return mUndoIncidence; }; 68 Incidence * undoIncidence() { return mUndoIncidence; };
69 bool undoDeleteIncidence(); 69 bool undoDeleteIncidence();
70 void deleteIncidence(Incidence *in); 70 void deleteIncidence(Incidence *in);
71 void resetTempSyncStat(); 71 void resetTempSyncStat();
72 void resetPilotStat(int id); 72 void resetPilotStat(int id);
73 /** 73 /**
74 Clears out the current calendar, freeing all used memory etc. 74 Clears out the current calendar, freeing all used memory etc.
75 */ 75 */
76 virtual void close() = 0; 76 virtual void close() = 0;
77 virtual void addCalendar( Calendar* ) = 0; 77 virtual void addCalendar( Calendar* ) = 0;
78 virtual bool addCalendarFile( QString name, int id ) = 0; 78 virtual bool addCalendarFile( QString name, int id ) = 0;
79 virtual bool mergeCalendarFile( QString name ) = 0; 79 virtual bool mergeCalendarFile( QString name ) = 0;
80 virtual Incidence* incidenceForUid( const QString& uid, bool doNotCheckDuplicates ) = 0; 80 virtual Incidence* incidenceForUid( const QString& uid, bool doNotCheckDuplicates , bool enabledOnly = false ) = 0;
81 virtual void setSyncEventsReadOnly() = 0; 81 virtual void setSyncEventsReadOnly() = 0;
82 virtual void setSyncEventsEnabled() = 0; 82 virtual void setSyncEventsEnabled() = 0;
83 virtual void stopAllTodos() = 0; 83 virtual void stopAllTodos() = 0;
84 virtual void clearUndo( Incidence * newUndo ); 84 virtual void clearUndo( Incidence * newUndo );
85 85
86 /** 86 /**
87 Sync changes in memory to persistant storage. 87 Sync changes in memory to persistant storage.
88 */ 88 */
89 virtual void save() = 0; 89 virtual void save() = 0;
90 virtual QPtrList<Event> getExternLastSyncEvents() = 0; 90 virtual QPtrList<Event> getExternLastSyncEvents() = 0;
91 virtual void removeSyncInfo( QString syncProfile) = 0; 91 virtual void removeSyncInfo( QString syncProfile) = 0;
92 virtual bool isSaving() { return false; } 92 virtual bool isSaving() { return false; }
93 93
94 /** 94 /**
95 Return the owner of the calendar's full name. 95 Return the owner of the calendar's full name.
96 */ 96 */
97 const QString &getOwner() const; 97 const QString &getOwner() const;
98 /** 98 /**
99 Set the owner of the calendar. Should be owner's full name. 99 Set the owner of the calendar. Should be owner's full name.
100 */ 100 */
101 void setOwner( const QString &os ); 101 void setOwner( const QString &os );
102 /** 102 /**
103 Return the email address of the calendar owner. 103 Return the email address of the calendar owner.
104 */ 104 */
105 const QString &getEmail(); 105 const QString &getEmail();
106 /** 106 /**
107 Set the email address of the calendar owner. 107 Set the email address of the calendar owner.
108 */ 108 */
109 void setEmail( const QString & ); 109 void setEmail( const QString & );
110 110
111 /** 111 /**
112 Set time zone from a timezone string (e.g. -2:00) 112 Set time zone from a timezone string (e.g. -2:00)
113 */ 113 */
114 void setTimeZone( const QString &tz ); 114 void setTimeZone( const QString &tz );
115 /** 115 /**
116 Set time zone from a minutes value (e.g. -60) 116 Set time zone from a minutes value (e.g. -60)
117 */ 117 */
118 void setTimeZone( int tz ); 118 void setTimeZone( int tz );
119 /** 119 /**
120 Return time zone as offest in minutes. 120 Return time zone as offest in minutes.
121 */ 121 */
122 int getTimeZone() const; 122 int getTimeZone() const;
123 /** 123 /**
124 Compute an ISO 8601 format string from the time zone. 124 Compute an ISO 8601 format string from the time zone.
125 */ 125 */
126 QString getTimeZoneStr() const; 126 QString getTimeZoneStr() const;
127 /** 127 /**
128 Set time zone id (see /usr/share/zoneinfo/zone.tab for list of legal 128 Set time zone id (see /usr/share/zoneinfo/zone.tab for list of legal
129 values). 129 values).
130 */ 130 */
131 void setTimeZoneId( const QString & ); 131 void setTimeZoneId( const QString & );
132 /** 132 /**
133 Return time zone id. 133 Return time zone id.
134 */ 134 */
135 QString timeZoneId() const; 135 QString timeZoneId() const;
136 /** 136 /**
137 Use local time, not UTC or a time zone. 137 Use local time, not UTC or a time zone.
138 */ 138 */
139 void setLocalTime(); 139 void setLocalTime();
140 /** 140 /**
141 Return whether local time is being used. 141 Return whether local time is being used.
142 */ 142 */
143 bool isLocalTime() const; 143 bool isLocalTime() const;
144 144
145 /** 145 /**
146 Add an incidence to calendar. 146 Add an incidence to calendar.
147 147
148 @return true on success, false on error. 148 @return true on success, false on error.
149 */ 149 */
150 virtual bool addIncidence( Incidence * ); 150 virtual bool addIncidence( Incidence * );
151 151
152 // Adds an incidence and all relatedto incidences to the cal 152 // Adds an incidence and all relatedto incidences to the cal
153 void addIncidenceBranch( Incidence * ); 153 void addIncidenceBranch( Incidence * );
154 /** 154 /**
155 Return filtered list of all incidences of this calendar. 155 Return filtered list of all incidences of this calendar.
156 */ 156 */
157 virtual QPtrList<Incidence> incidences(); 157 virtual QPtrList<Incidence> incidences();
158 158
159 /** 159 /**
160 Return unfiltered list of all incidences of this calendar. 160 Return unfiltered list of all incidences of this calendar.
161 */ 161 */
162 virtual QPtrList<Incidence> rawIncidences(); 162 virtual QPtrList<Incidence> rawIncidences();
163 163
164 /** 164 /**
165 Adds a Event to this calendar object. 165 Adds a Event to this calendar object.
166 @param anEvent a pointer to the event to add 166 @param anEvent a pointer to the event to add
167 167
168 @return true on success, false on error. 168 @return true on success, false on error.
169 */ 169 */
170 virtual bool addEventNoDup( Event *event ) = 0; 170 virtual bool addEventNoDup( Event *event ) = 0;
171 virtual bool addAnniversaryNoDup( Event *event ) = 0; 171 virtual bool addAnniversaryNoDup( Event *event ) = 0;
172 virtual bool addEvent( Event *anEvent ) = 0; 172 virtual bool addEvent( Event *anEvent ) = 0;
173 /** 173 /**
174 Delete event from calendar. 174 Delete event from calendar.
175 */ 175 */
176 virtual void deleteEvent( Event * ) = 0; 176 virtual void deleteEvent( Event * ) = 0;
177 /** 177 /**
178 Retrieves an event on the basis of the unique string ID. 178 Retrieves an event on the basis of the unique string ID.
179 */ 179 */
180 virtual Event *event( const QString &UniqueStr ) = 0; 180 virtual Event *event( const QString &UniqueStr ) = 0;
181 virtual Event *event( QString, QString ) = 0; 181 virtual Event *event( QString, QString ) = 0;
182 /** 182 /**
183 Builds and then returns a list of all events that match for the 183 Builds and then returns a list of all events that match for the
184 date specified. useful for dayView, etc. etc. 184 date specified. useful for dayView, etc. etc.
185 The calendar filter is applied. 185 The calendar filter is applied.
186 */ 186 */
187 QPtrList<Event> events( const QDate &date, bool sorted = false); 187 QPtrList<Event> events( const QDate &date, bool sorted = false);
188 /** 188 /**
189 Get events, which occur on the given date. 189 Get events, which occur on the given date.
190 The calendar filter is applied. 190 The calendar filter is applied.
191 */ 191 */
192 QPtrList<Event> events( const QDateTime &qdt ); 192 QPtrList<Event> events( const QDateTime &qdt );
193 /** 193 /**
194 Get events in a range of dates. If inclusive is set to true, only events 194 Get events in a range of dates. If inclusive is set to true, only events
195 are returned, which are completely included in the range. 195 are returned, which are completely included in the range.
196 The calendar filter is applied. 196 The calendar filter is applied.
197 */ 197 */
198 QPtrList<Event> events( const QDate &start, const QDate &end, 198 QPtrList<Event> events( const QDate &start, const QDate &end,
199 bool inclusive = false); 199 bool inclusive = false);
200 /** 200 /**
201 Return filtered list of all events in calendar. 201 Return filtered list of all events in calendar.
202 */ 202 */
203 virtual QPtrList<Event> events(); 203 virtual QPtrList<Event> events();
204 /** 204 /**
205 Return unfiltered list of all events in calendar. 205 Return unfiltered list of all events in calendar.
206 */ 206 */
207 virtual QPtrList<Event> rawEvents() = 0; 207 virtual QPtrList<Event> rawEvents() = 0;
208 208
209 /** 209 /**
210 Add a todo to the todolist. 210 Add a todo to the todolist.
211 211
212 @return true on success, false on error. 212 @return true on success, false on error.
213 */ 213 */
214 virtual bool addTodo( Todo *todo ) = 0; 214 virtual bool addTodo( Todo *todo ) = 0;
215 virtual bool addTodoNoDup( Todo *todo ) = 0; 215 virtual bool addTodoNoDup( Todo *todo ) = 0;
216 /** 216 /**
217 Remove a todo from the todolist. 217 Remove a todo from the todolist.
218 */ 218 */
219 virtual void deleteTodo( Todo * ) = 0; 219 virtual void deleteTodo( Todo * ) = 0;
220 virtual void deleteJournal( Journal * ) = 0; 220 virtual void deleteJournal( Journal * ) = 0;
221 /** 221 /**
222 Return filterd list of todos. 222 Return filterd list of todos.
223 */ 223 */
224 virtual QPtrList<Todo> todos(); 224 virtual QPtrList<Todo> todos();
225 /** 225 /**
226 Searches todolist for an event with this unique string identifier, 226 Searches todolist for an event with this unique string identifier,
227 returns a pointer or null. 227 returns a pointer or null.
228 */ 228 */
229 virtual Todo *todo( const QString &uid ) = 0; 229 virtual Todo *todo( const QString &uid ) = 0;
230 virtual Todo *todo( QString, QString ) = 0; 230 virtual Todo *todo( QString, QString ) = 0;
231 /** 231 /**
232 Returns list of todos due on the specified date. 232 Returns list of todos due on the specified date.
233 */ 233 */
234 virtual QPtrList<Todo> todos( const QDate &date ) = 0; 234 virtual QPtrList<Todo> todos( const QDate &date ) = 0;
235 /** 235 /**
236 Return unfiltered list of todos. 236 Return unfiltered list of todos.
237 */ 237 */
238 virtual QPtrList<Todo> rawTodos() = 0; 238 virtual QPtrList<Todo> rawTodos() = 0;
239 239
240 /** 240 /**
241 Add a Journal entry to calendar. 241 Add a Journal entry to calendar.
242 242
243 @return true on success, false on error. 243 @return true on success, false on error.
244 */ 244 */
245 virtual bool addJournal( Journal * ) = 0; 245 virtual bool addJournal( Journal * ) = 0;
246 /** 246 /**
247 Return Journal for given date. 247 Return Journal for given date.
248 */ 248 */
249 virtual Journal *journal( const QDate & ) = 0; 249 virtual Journal *journal( const QDate & ) = 0;
250 virtual QPtrList<Journal> journals4Date( const QDate & ) = 0; 250 virtual QPtrList<Journal> journals4Date( const QDate & ) = 0;
251 /** 251 /**
252 Return Journal with given UID. 252 Return Journal with given UID.
253 */ 253 */
254 virtual Journal *journal( const QString &UID ) = 0; 254 virtual Journal *journal( const QString &UID ) = 0;
255 /** 255 /**
256 Return list of all Journal entries. 256 Return list of all Journal entries.
257 */ 257 */
258 virtual QPtrList<Journal> journals() = 0; 258 virtual QPtrList<Journal> journals() = 0;
259 259
260 /** 260 /**
261 Searches all incidence types for an incidence with this unique 261 Searches all incidence types for an incidence with this unique
262 string identifier, returns a pointer or null. 262 string identifier, returns a pointer or null.
263 */ 263 */
264 Incidence* incidence( const QString&UID ); 264 Incidence* incidence( const QString&UID );
265 265
266 /** 266 /**
267 Setup relations for an incidence. 267 Setup relations for an incidence.
268 */ 268 */
269 virtual void setupRelations( Incidence * ); 269 virtual void setupRelations( Incidence * );
270 /** 270 /**
271 Remove all relations to an incidence 271 Remove all relations to an incidence
272 */ 272 */
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp
index b02f706..ad8ace3 100644
--- a/libkcal/calendarlocal.cpp
+++ b/libkcal/calendarlocal.cpp
@@ -1,307 +1,316 @@
1/* 1/*
2 This file is part of libkcal. 2 This file is part of libkcal.
3 3
4 Copyright (c) 1998 Preston Brown 4 Copyright (c) 1998 Preston Brown
5 Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org> 5 Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org>
6 6
7 This library is free software; you can redistribute it and/or 7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public 8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either 9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version. 10 version 2 of the License, or (at your option) any later version.
11 11
12 This library is distributed in the hope that it will be useful, 12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details. 15 Library General Public License for more details.
16 16
17 You should have received a copy of the GNU Library General Public License 17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to 18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. 20 Boston, MA 02111-1307, USA.
21*/ 21*/
22 22
23#include <qdatetime.h> 23#include <qdatetime.h>
24#include <qstring.h> 24#include <qstring.h>
25#include <qptrlist.h> 25#include <qptrlist.h>
26 26
27#include <kdebug.h> 27#include <kdebug.h>
28#include <kconfig.h> 28#include <kconfig.h>
29#include <kglobal.h> 29#include <kglobal.h>
30#include <klocale.h> 30#include <klocale.h>
31 31
32#include "vcaldrag.h" 32#include "vcaldrag.h"
33#include "vcalformat.h" 33#include "vcalformat.h"
34#include "icalformat.h" 34#include "icalformat.h"
35#include "exceptions.h" 35#include "exceptions.h"
36#include "incidence.h" 36#include "incidence.h"
37#include "journal.h" 37#include "journal.h"
38#include "filestorage.h" 38#include "filestorage.h"
39#include "calfilter.h" 39#include "calfilter.h"
40 40
41#include "calendarlocal.h" 41#include "calendarlocal.h"
42 42
43// #ifndef DESKTOP_VERSION 43// #ifndef DESKTOP_VERSION
44// #include <qtopia/alarmserver.h> 44// #include <qtopia/alarmserver.h>
45// #endif 45// #endif
46using namespace KCal; 46using namespace KCal;
47 47
48CalendarLocal::CalendarLocal() 48CalendarLocal::CalendarLocal()
49 : Calendar() 49 : Calendar()
50{ 50{
51 init(); 51 init();
52} 52}
53 53
54CalendarLocal::CalendarLocal(const QString &timeZoneId) 54CalendarLocal::CalendarLocal(const QString &timeZoneId)
55 : Calendar(timeZoneId) 55 : Calendar(timeZoneId)
56{ 56{
57 init(); 57 init();
58} 58}
59 59
60void CalendarLocal::init() 60void CalendarLocal::init()
61{ 61{
62 mNextAlarmIncidence = 0; 62 mNextAlarmIncidence = 0;
63} 63}
64 64
65 65
66CalendarLocal::~CalendarLocal() 66CalendarLocal::~CalendarLocal()
67{ 67{
68 registerObserver( 0 ); 68 registerObserver( 0 );
69 if ( mDeleteIncidencesOnClose ) 69 if ( mDeleteIncidencesOnClose )
70 close(); 70 close();
71} 71}
72bool CalendarLocal::mergeCalendarFile( QString name ) 72bool CalendarLocal::mergeCalendarFile( QString name )
73{ 73{
74 CalendarLocal calendar( timeZoneId() ); 74 CalendarLocal calendar( timeZoneId() );
75 calendar.setDefaultCalendar( 1 ); 75 calendar.setDefaultCalendar( 1 );
76 if ( calendar.load( name ) ) { 76 if ( calendar.load( name ) ) {
77 mergeCalendar( &calendar ); 77 mergeCalendar( &calendar );
78 return true; 78 return true;
79 } 79 }
80 return false; 80 return false;
81} 81}
82 82
83Incidence* CalendarLocal::incidenceForUid( const QString& uid , bool doNotCheckDuplicates) 83Incidence* CalendarLocal::incidenceForUid( const QString& uid , bool doNotCheckDuplicates, bool enabledOnly )
84{ 84{
85 Todo *todo;; 85 Todo *todo;;
86 Incidence *retVal = 0; 86 Incidence *retVal = 0;
87 for ( todo = mTodoList.first(); todo; todo = mTodoList.next() ) { 87 for ( todo = mTodoList.first(); todo; todo = mTodoList.next() ) {
88 if ( todo->uid() == uid ) { 88 if ( todo->uid() == uid ) {
89 if ( enabledOnly )
90 if ( !todo->calEnabled() )
91 continue;
89 if ( doNotCheckDuplicates ) return todo; 92 if ( doNotCheckDuplicates ) return todo;
90 if ( retVal ) { 93 if ( retVal ) {
91 if ( retVal->calID() > todo->calID() ) { 94 if ( retVal->calID() > todo->calID() ) {
92 retVal = todo; 95 retVal = todo;
93 } 96 }
94 } else { 97 } else {
95 retVal = todo; 98 retVal = todo;
96 } 99 }
97 } 100 }
98 } 101 }
99 if ( retVal ) return retVal; 102 if ( retVal ) return retVal;
100 Event *event; 103 Event *event;
101 for ( event = mEventList.first(); event; event = mEventList.next() ) { 104 for ( event = mEventList.first(); event; event = mEventList.next() ) {
102 if ( event->uid() == uid ) { 105 if ( event->uid() == uid ) {
106 if ( enabledOnly )
107 if ( !event->calEnabled() )
108 continue;
103 if ( doNotCheckDuplicates ) return event; 109 if ( doNotCheckDuplicates ) return event;
104 if ( retVal ) { 110 if ( retVal ) {
105 if ( retVal->calID() > event->calID() ) { 111 if ( retVal->calID() > event->calID() ) {
106 retVal = event; 112 retVal = event;
107 } 113 }
108 } else { 114 } else {
109 retVal = event; 115 retVal = event;
110 } 116 }
111 } 117 }
112 } 118 }
113 if ( retVal ) return retVal; 119 if ( retVal ) return retVal;
114 for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() ) 120 for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() )
115 if ( it->uid() == uid ) { 121 if ( it->uid() == uid ) {
122 if ( enabledOnly )
123 if ( !it->calEnabled() )
124 continue;
116 if ( doNotCheckDuplicates ) return it; 125 if ( doNotCheckDuplicates ) return it;
117 if ( retVal ) { 126 if ( retVal ) {
118 if ( retVal->calID() > it->calID() ) { 127 if ( retVal->calID() > it->calID() ) {
119 retVal = it; 128 retVal = it;
120 } 129 }
121 } else { 130 } else {
122 retVal = it; 131 retVal = it;
123 } 132 }
124 } 133 }
125 return retVal; 134 return retVal;
126} 135}
127 136
128bool CalendarLocal::mergeCalendar( Calendar* remote ) 137bool CalendarLocal::mergeCalendar( Calendar* remote )
129{ 138{
130 // 1 look for raw inc in local 139 // 1 look for raw inc in local
131 // if inc not in remote, delete in local 140 // if inc not in remote, delete in local
132 // 2 look for raw inc in remote 141 // 2 look for raw inc in remote
133 // if inc in local, replace it 142 // if inc in local, replace it
134 // if not in local, add it to default calendar 143 // if not in local, add it to default calendar
135 QPtrList<Incidence> localInc = rawIncidences(); 144 QPtrList<Incidence> localInc = rawIncidences();
136 Incidence* inL = localInc.first(); 145 Incidence* inL = localInc.first();
137 while ( inL ) { 146 while ( inL ) {
138 if ( ! inL->isReadOnly () ) 147 if ( ! inL->isReadOnly () )
139 if ( !remote->incidenceForUid( inL->uid(), true )) 148 if ( !remote->incidenceForUid( inL->uid(), true ))
140 deleteIncidence( inL ); 149 deleteIncidence( inL );
141 inL = localInc.next(); 150 inL = localInc.next();
142 } 151 }
143 QPtrList<Incidence> er = remote->rawIncidences(); 152 QPtrList<Incidence> er = remote->rawIncidences();
144 Incidence* inR = er.first(); 153 Incidence* inR = er.first();
145 while ( inR ) { 154 while ( inR ) {
146 inL = incidenceForUid( inR->uid(),false ); 155 inL = incidenceForUid( inR->uid(),false );
147 if ( inL ) { 156 if ( inL ) {
148 if ( ! inL->isReadOnly () || inL->uid().left(15) == QString("last-syncEvent-") ) { 157 if ( ! inL->isReadOnly () || inL->uid().left(15) == QString("last-syncEvent-") ) {
149 int calID = inL->calID(); 158 int calID = inL->calID();
150 deleteIncidence( inL ); 159 deleteIncidence( inL );
151 inL = inR->clone(); 160 inL = inR->clone();
152 inL->setCalID_block( calID ); 161 inL->setCalID_block( calID );
153 addIncidence( inL ); 162 addIncidence( inL );
154 } 163 }
155 } else { 164 } else {
156 inL = inR->clone(); 165 inL = inR->clone();
157 inL->setCalID_block( 0 );// add to default cal 166 inL->setCalID_block( 0 );// add to default cal
158 addIncidence( inL ); 167 addIncidence( inL );
159 } 168 }
160 inR = er.next(); 169 inR = er.next();
161 } 170 }
162 return true; 171 return true;
163} 172}
164 173
165 174
166bool CalendarLocal::addCalendarFile( QString name, int id ) 175bool CalendarLocal::addCalendarFile( QString name, int id )
167{ 176{
168 CalendarLocal calendar( timeZoneId() ); 177 CalendarLocal calendar( timeZoneId() );
169 calendar.setDefaultCalendar( id ); 178 calendar.setDefaultCalendar( id );
170 if ( calendar.load( name ) ) { 179 if ( calendar.load( name ) ) {
171 addCalendar( &calendar ); 180 addCalendar( &calendar );
172 return true; 181 return true;
173 } 182 }
174 return false; 183 return false;
175} 184}
176void CalendarLocal::setSyncEventsEnabled() 185void CalendarLocal::setSyncEventsEnabled()
177{ 186{
178 Event * ev; 187 Event * ev;
179 ev = mEventList.first(); 188 ev = mEventList.first();
180 while ( ev ) { 189 while ( ev ) {
181 if ( ev->uid().left(15) == QString("last-syncEvent-") ) 190 if ( ev->uid().left(15) == QString("last-syncEvent-") )
182 ev->setCalEnabled( true ); 191 ev->setCalEnabled( true );
183 ev = mEventList.next(); 192 ev = mEventList.next();
184 } 193 }
185} 194}
186void CalendarLocal::setSyncEventsReadOnly() 195void CalendarLocal::setSyncEventsReadOnly()
187{ 196{
188 Event * ev; 197 Event * ev;
189 ev = mEventList.first(); 198 ev = mEventList.first();
190 while ( ev ) { 199 while ( ev ) {
191 if ( ev->uid().left(15) == QString("last-syncEvent-") ) { 200 if ( ev->uid().left(15) == QString("last-syncEvent-") ) {
192 ev->setReadOnly( true ); 201 ev->setReadOnly( true );
193 } 202 }
194 ev = mEventList.next(); 203 ev = mEventList.next();
195 } 204 }
196} 205}
197 206
198void CalendarLocal::addCalendar( Calendar* cal ) 207void CalendarLocal::addCalendar( Calendar* cal )
199{ 208{
200 cal->setDontDeleteIncidencesOnClose(); 209 cal->setDontDeleteIncidencesOnClose();
201 setSyncEventsEnabled(); 210 setSyncEventsEnabled();
202 { 211 {
203 QPtrList<Event> EventList = cal->rawEvents(); 212 QPtrList<Event> EventList = cal->rawEvents();
204 QPtrList<Event> el; 213 QPtrList<Event> el;
205 Event * ev = EventList.first(); 214 Event * ev = EventList.first();
206 while ( ev ) { 215 while ( ev ) {
207 if ( ev->uid().left( 15 ) == QString("last-syncEvent-") ) { 216 if ( ev->uid().left( 15 ) == QString("last-syncEvent-") ) {
208 Event * se = event( ev->uid() ); 217 Event * se = event( ev->uid() );
209 if ( se ) 218 if ( se )
210 el.append( se ); 219 el.append( se );
211 ev->setCalID_block( 1 ); 220 ev->setCalID_block( 1 );
212 } 221 }
213 ev->unRegisterObserver( cal ); 222 ev->unRegisterObserver( cal );
214 ev->registerObserver( this ); 223 ev->registerObserver( this );
215 mEventList.append( ev ); 224 mEventList.append( ev );
216 ev = EventList.next(); 225 ev = EventList.next();
217 } 226 }
218 for ( ev = el.first(); ev; ev = el.next() ) { 227 for ( ev = el.first(); ev; ev = el.next() ) {
219 deleteIncidence ( ev ); 228 deleteIncidence ( ev );
220 } 229 }
221 } 230 }
222 { 231 {
223 232
224 QPtrList<Todo> TodoList = cal->rawTodos(); 233 QPtrList<Todo> TodoList = cal->rawTodos();
225 Todo * ev = TodoList.first(); 234 Todo * ev = TodoList.first();
226 while ( ev ) { 235 while ( ev ) {
227 QString rel = ev->relatedToUid(); 236 QString rel = ev->relatedToUid();
228 if ( !rel.isEmpty() ){ 237 if ( !rel.isEmpty() ){
229 ev->setRelatedTo ( 0 ); 238 ev->setRelatedTo ( 0 );
230 ev->setRelatedToUid( rel ); 239 ev->setRelatedToUid( rel );
231 } 240 }
232 ev = TodoList.next(); 241 ev = TodoList.next();
233 } 242 }
234 //TodoList = cal->rawTodos(); 243 //TodoList = cal->rawTodos();
235 ev = TodoList.first(); 244 ev = TodoList.first();
236 while ( ev ) { 245 while ( ev ) {
237 ev->unRegisterObserver( cal ); 246 ev->unRegisterObserver( cal );
238 ev->registerObserver( this ); 247 ev->registerObserver( this );
239 mTodoList.append( ev ); 248 mTodoList.append( ev );
240 setupRelations( ev ); 249 setupRelations( ev );
241 ev = TodoList.next(); 250 ev = TodoList.next();
242 } 251 }
243 } 252 }
244 { 253 {
245 QPtrList<Journal> JournalList = cal->journals(); 254 QPtrList<Journal> JournalList = cal->journals();
246 Journal * ev = JournalList.first(); 255 Journal * ev = JournalList.first();
247 while ( ev ) { 256 while ( ev ) {
248 ev->unRegisterObserver( cal ); 257 ev->unRegisterObserver( cal );
249 ev->registerObserver( this ); 258 ev->registerObserver( this );
250 mJournalList.append( ev ); 259 mJournalList.append( ev );
251 ev = JournalList.next(); 260 ev = JournalList.next();
252 } 261 }
253 } 262 }
254 setModified( true ); 263 setModified( true );
255} 264}
256bool CalendarLocal::load( const QString &fileName ) 265bool CalendarLocal::load( const QString &fileName )
257{ 266{
258 FileStorage storage( this, fileName ); 267 FileStorage storage( this, fileName );
259 return storage.load(); 268 return storage.load();
260} 269}
261 270
262bool CalendarLocal::save( const QString &fileName, CalFormat *format ) 271bool CalendarLocal::save( const QString &fileName, CalFormat *format )
263{ 272{
264 FileStorage storage( this, fileName, format ); 273 FileStorage storage( this, fileName, format );
265 return storage.save(); 274 return storage.save();
266} 275}
267 276
268void CalendarLocal::stopAllTodos() 277void CalendarLocal::stopAllTodos()
269{ 278{
270 for ( Todo *it = mTodoList.first(); it; it = mTodoList.next() ) 279 for ( Todo *it = mTodoList.first(); it; it = mTodoList.next() )
271 it->setRunning( false ); 280 it->setRunning( false );
272 281
273} 282}
274void CalendarLocal::close() 283void CalendarLocal::close()
275{ 284{
276 285
277 Todo * i; 286 Todo * i;
278 for( i = mTodoList.first(); i; i = mTodoList.next() ) i->setRunning(false); 287 for( i = mTodoList.first(); i; i = mTodoList.next() ) i->setRunning(false);
279 288
280 mEventList.setAutoDelete( true ); 289 mEventList.setAutoDelete( true );
281 mTodoList.setAutoDelete( true ); 290 mTodoList.setAutoDelete( true );
282 mJournalList.setAutoDelete( true ); 291 mJournalList.setAutoDelete( true );
283 292
284 mEventList.clear(); 293 mEventList.clear();
285 mTodoList.clear(); 294 mTodoList.clear();
286 mJournalList.clear(); 295 mJournalList.clear();
287 296
288 mEventList.setAutoDelete( false ); 297 mEventList.setAutoDelete( false );
289 mTodoList.setAutoDelete( false ); 298 mTodoList.setAutoDelete( false );
290 mJournalList.setAutoDelete( false ); 299 mJournalList.setAutoDelete( false );
291 300
292 setModified( false ); 301 setModified( false );
293} 302}
294 303
295bool CalendarLocal::addAnniversaryNoDup( Event *event ) 304bool CalendarLocal::addAnniversaryNoDup( Event *event )
296{ 305{
297 QString cat; 306 QString cat;
298 bool isBirthday = true; 307 bool isBirthday = true;
299 if( event->categoriesStr() == i18n( "Anniversary" ) ) { 308 if( event->categoriesStr() == i18n( "Anniversary" ) ) {
300 isBirthday = false; 309 isBirthday = false;
301 cat = i18n( "Anniversary" ); 310 cat = i18n( "Anniversary" );
302 } else if( event->categoriesStr() == i18n( "Birthday" ) ) { 311 } else if( event->categoriesStr() == i18n( "Birthday" ) ) {
303 isBirthday = true; 312 isBirthday = true;
304 cat = i18n( "Birthday" ); 313 cat = i18n( "Birthday" );
305 } else { 314 } else {
306 qDebug("addAnniversaryNoDup called without fitting category! "); 315 qDebug("addAnniversaryNoDup called without fitting category! ");
307 return false; 316 return false;
diff --git a/libkcal/calendarlocal.h b/libkcal/calendarlocal.h
index b70f0c9..b611704 100644
--- a/libkcal/calendarlocal.h
+++ b/libkcal/calendarlocal.h
@@ -1,233 +1,233 @@
1/* 1/*
2 This file is part of libkcal. 2 This file is part of libkcal.
3 3
4 Copyright (c) 1998 Preston Brown 4 Copyright (c) 1998 Preston Brown
5 Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org> 5 Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org>
6 6
7 This library is free software; you can redistribute it and/or 7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public 8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either 9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version. 10 version 2 of the License, or (at your option) any later version.
11 11
12 This library is distributed in the hope that it will be useful, 12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details. 15 Library General Public License for more details.
16 16
17 You should have received a copy of the GNU Library General Public License 17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to 18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. 20 Boston, MA 02111-1307, USA.
21*/ 21*/
22#ifndef KCAL_CALENDARLOCAL_H 22#ifndef KCAL_CALENDARLOCAL_H
23#define KCAL_CALENDARLOCAL_H 23#define KCAL_CALENDARLOCAL_H
24 24
25#include "calendar.h" 25#include "calendar.h"
26 26
27namespace KCal { 27namespace KCal {
28 28
29class CalFormat; 29class CalFormat;
30 30
31/** 31/**
32 This class provides a calendar stored as a local file. 32 This class provides a calendar stored as a local file.
33*/ 33*/
34class CalendarLocal : public Calendar 34class CalendarLocal : public Calendar
35{ 35{
36 public: 36 public:
37 /** 37 /**
38 Constructs a new calendar, with variables initialized to sane values. 38 Constructs a new calendar, with variables initialized to sane values.
39 */ 39 */
40 CalendarLocal(); 40 CalendarLocal();
41 /** 41 /**
42 Constructs a new calendar, with variables initialized to sane values. 42 Constructs a new calendar, with variables initialized to sane values.
43 */ 43 */
44 CalendarLocal( const QString &timeZoneId ); 44 CalendarLocal( const QString &timeZoneId );
45 ~CalendarLocal(); 45 ~CalendarLocal();
46 void addCalendar( Calendar* ); 46 void addCalendar( Calendar* );
47 bool addCalendarFile( QString name, int id ); 47 bool addCalendarFile( QString name, int id );
48 bool mergeCalendarFile( QString name ); 48 bool mergeCalendarFile( QString name );
49 bool mergeCalendar( Calendar* cal ); 49 bool mergeCalendar( Calendar* cal );
50 Incidence* incidenceForUid( const QString& uid, bool doNotCheckDuplicates ); 50 Incidence* incidenceForUid( const QString& uid, bool doNotCheckDuplicates, bool enabledOnly = false );
51 void setSyncEventsReadOnly(); 51 void setSyncEventsReadOnly();
52 void setSyncEventsEnabled(); 52 void setSyncEventsEnabled();
53 void stopAllTodos(); 53 void stopAllTodos();
54 /** 54 /**
55 Loads a calendar on disk in vCalendar or iCalendar format into the current 55 Loads a calendar on disk in vCalendar or iCalendar format into the current
56 calendar. Any information already present is lost. 56 calendar. Any information already present is lost.
57 @return true, if successfull, false on error. 57 @return true, if successfull, false on error.
58 @param fileName the name of the calendar on disk. 58 @param fileName the name of the calendar on disk.
59 */ 59 */
60 bool load( const QString &fileName ); 60 bool load( const QString &fileName );
61 /** 61 /**
62 Writes out the calendar to disk in the specified \a format. 62 Writes out the calendar to disk in the specified \a format.
63 CalendarLocal takes ownership of the CalFormat object. 63 CalendarLocal takes ownership of the CalFormat object.
64 @return true, if successfull, false on error. 64 @return true, if successfull, false on error.
65 @param fileName the name of the file 65 @param fileName the name of the file
66 */ 66 */
67 bool save( const QString &fileName, CalFormat *format = 0 ); 67 bool save( const QString &fileName, CalFormat *format = 0 );
68 68
69 /** 69 /**
70 Clears out the current calendar, freeing all used memory etc. etc. 70 Clears out the current calendar, freeing all used memory etc. etc.
71 */ 71 */
72 void close(); 72 void close();
73 73
74 void save() {} 74 void save() {}
75 75
76 /** 76 /**
77 Add Event to calendar. 77 Add Event to calendar.
78 */ 78 */
79 void removeSyncInfo( QString syncProfile); 79 void removeSyncInfo( QString syncProfile);
80 bool addAnniversaryNoDup( Event *event ); 80 bool addAnniversaryNoDup( Event *event );
81 bool addEventNoDup( Event *event ); 81 bool addEventNoDup( Event *event );
82 bool addEvent( Event *event ); 82 bool addEvent( Event *event );
83 /** 83 /**
84 Deletes an event from this calendar. 84 Deletes an event from this calendar.
85 */ 85 */
86 void deleteEvent( Event *event ); 86 void deleteEvent( Event *event );
87 87
88 /** 88 /**
89 Retrieves an event on the basis of the unique string ID. 89 Retrieves an event on the basis of the unique string ID.
90 */ 90 */
91 Event *event( const QString &uid ); 91 Event *event( const QString &uid );
92 /** 92 /**
93 Return unfiltered list of all events in calendar. 93 Return unfiltered list of all events in calendar.
94 */ 94 */
95 QPtrList<Event> rawEvents(); 95 QPtrList<Event> rawEvents();
96 QPtrList<Event> getExternLastSyncEvents(); 96 QPtrList<Event> getExternLastSyncEvents();
97 /** 97 /**
98 Add a todo to the todolist. 98 Add a todo to the todolist.
99 */ 99 */
100 bool addTodo( Todo *todo ); 100 bool addTodo( Todo *todo );
101 bool addTodoNoDup( Todo *todo ); 101 bool addTodoNoDup( Todo *todo );
102 /** 102 /**
103 Remove a todo from the todolist. 103 Remove a todo from the todolist.
104 */ 104 */
105 void deleteTodo( Todo * ); 105 void deleteTodo( Todo * );
106 /** 106 /**
107 Searches todolist for an event with this unique string identifier, 107 Searches todolist for an event with this unique string identifier,
108 returns a pointer or null. 108 returns a pointer or null.
109 */ 109 */
110 Todo *todo( const QString &uid ); 110 Todo *todo( const QString &uid );
111 /** 111 /**
112 Return list of all todos. 112 Return list of all todos.
113 */ 113 */
114 QPtrList<Todo> rawTodos(); 114 QPtrList<Todo> rawTodos();
115 /** 115 /**
116 Returns list of todos due on the specified date. 116 Returns list of todos due on the specified date.
117 */ 117 */
118 QPtrList<Todo> todos( const QDate &date ); 118 QPtrList<Todo> todos( const QDate &date );
119 /** 119 /**
120 Return list of all todos. 120 Return list of all todos.
121 121
122 Workaround because compiler does not recognize function of base class. 122 Workaround because compiler does not recognize function of base class.
123 */ 123 */
124 QPtrList<Todo> todos() { return Calendar::todos(); } 124 QPtrList<Todo> todos() { return Calendar::todos(); }
125 125
126 /** 126 /**
127 Add a Journal entry to calendar. 127 Add a Journal entry to calendar.
128 */ 128 */
129 bool addJournal( Journal * ); 129 bool addJournal( Journal * );
130 /** 130 /**
131 Remove a Journal from the calendar. 131 Remove a Journal from the calendar.
132 */ 132 */
133 void deleteJournal( Journal * ); 133 void deleteJournal( Journal * );
134 /** 134 /**
135 Return Journal for given date. 135 Return Journal for given date.
136 */ 136 */
137 Journal *journal( const QDate & ); 137 Journal *journal( const QDate & );
138 QPtrList<Journal> journals4Date( const QDate & ); 138 QPtrList<Journal> journals4Date( const QDate & );
139 /** 139 /**
140 Return Journal with given UID. 140 Return Journal with given UID.
141 */ 141 */
142 Journal *journal( const QString &uid ); 142 Journal *journal( const QString &uid );
143 /** 143 /**
144 Return list of all Journals stored in calendar. 144 Return list of all Journals stored in calendar.
145 */ 145 */
146 QPtrList<Journal> journals(); 146 QPtrList<Journal> journals();
147 147
148 /** 148 /**
149 Return all alarms, which ocur in the given time interval. 149 Return all alarms, which ocur in the given time interval.
150 */ 150 */
151 Alarm::List alarms( const QDateTime &from, const QDateTime &to ); 151 Alarm::List alarms( const QDateTime &from, const QDateTime &to );
152 152
153 /** 153 /**
154 Return all alarms, which ocur before given date. 154 Return all alarms, which ocur before given date.
155 */ 155 */
156 Alarm::List alarmsTo( const QDateTime &to ); 156 Alarm::List alarmsTo( const QDateTime &to );
157 157
158 QDateTime nextAlarm( int daysTo ) ; 158 QDateTime nextAlarm( int daysTo ) ;
159 QDateTime nextAlarmEventDateTime() const; 159 QDateTime nextAlarmEventDateTime() const;
160 void checkAlarmForIncidence( Incidence *, bool deleted ) ; 160 void checkAlarmForIncidence( Incidence *, bool deleted ) ;
161 void registerAlarm(); 161 void registerAlarm();
162 void deRegisterAlarm(); 162 void deRegisterAlarm();
163 QString getAlarmNotification(); 163 QString getAlarmNotification();
164 QString nextSummary() const ; 164 QString nextSummary() const ;
165 /** 165 /**
166 This method should be called whenever a Event is modified directly 166 This method should be called whenever a Event is modified directly
167 via it's pointer. It makes sure that the calendar is internally 167 via it's pointer. It makes sure that the calendar is internally
168 consistent. 168 consistent.
169 */ 169 */
170 void update( IncidenceBase *incidence ); 170 void update( IncidenceBase *incidence );
171 171
172 /** 172 /**
173 Builds and then returns a list of all events that match for the 173 Builds and then returns a list of all events that match for the
174 date specified. useful for dayView, etc. etc. 174 date specified. useful for dayView, etc. etc.
175 */ 175 */
176 QPtrList<Event> rawEventsForDate( const QDate &date, bool sorted = false ); 176 QPtrList<Event> rawEventsForDate( const QDate &date, bool sorted = false );
177 /** 177 /**
178 Get unfiltered events for date \a qdt. 178 Get unfiltered events for date \a qdt.
179 */ 179 */
180 QPtrList<Event> rawEventsForDate( const QDateTime &qdt ); 180 QPtrList<Event> rawEventsForDate( const QDateTime &qdt );
181 /** 181 /**
182 Get unfiltered events in a range of dates. If inclusive is set to true, 182 Get unfiltered events in a range of dates. If inclusive is set to true,
183 only events are returned, which are completely included in the range. 183 only events are returned, which are completely included in the range.
184 */ 184 */
185 QPtrList<Event> rawEvents( const QDate &start, const QDate &end, 185 QPtrList<Event> rawEvents( const QDate &start, const QDate &end,
186 bool inclusive = false ); 186 bool inclusive = false );
187 Todo *todo( QString, QString ); 187 Todo *todo( QString, QString );
188 Event *event( QString, QString ); 188 Event *event( QString, QString );
189 void getIncidenceCount( int calId, int& events, int & todos, int & journals); 189 void getIncidenceCount( int calId, int& events, int & todos, int & journals);
190 190
191public slots: 191public slots:
192 void setCalendarEnabled( int id, bool enable ); 192 void setCalendarEnabled( int id, bool enable );
193 void setAlarmEnabled( int id, bool enable ); 193 void setAlarmEnabled( int id, bool enable );
194 void setReadOnly( int id, bool enable ); 194 void setReadOnly( int id, bool enable );
195 void setDefaultCalendarEnabledOnly(); 195 void setDefaultCalendarEnabledOnly();
196 void setCalendarRemove( int id ); 196 void setCalendarRemove( int id );
197 void setAllCalendarEnabled( bool enable ); 197 void setAllCalendarEnabled( bool enable );
198 198
199 protected: 199 protected:
200 200
201 // Event* mNextAlarmEvent; 201 // Event* mNextAlarmEvent;
202 QString mNextSummary; 202 QString mNextSummary;
203 QString mNextAlarmEventDateTimeString; 203 QString mNextAlarmEventDateTimeString;
204 QString mLastAlarmNotificationString; 204 QString mLastAlarmNotificationString;
205 QDateTime mNextAlarmEventDateTime; 205 QDateTime mNextAlarmEventDateTime;
206 QDateTime mNextAlarmDateTime; 206 QDateTime mNextAlarmDateTime;
207 void reInitAlarmSettings(); 207 void reInitAlarmSettings();
208 208
209 /** Notification function of IncidenceBase::Observer. */ 209 /** Notification function of IncidenceBase::Observer. */
210 void incidenceUpdated( IncidenceBase *i ) { update( i ); } 210 void incidenceUpdated( IncidenceBase *i ) { update( i ); }
211 211
212 /** inserts an event into its "proper place" in the calendar. */ 212 /** inserts an event into its "proper place" in the calendar. */
213 void insertEvent( Event *event ); 213 void insertEvent( Event *event );
214 214
215 /** Append alarms of incidence in interval to list of alarms. */ 215 /** Append alarms of incidence in interval to list of alarms. */
216 void appendAlarms( Alarm::List &alarms, Incidence *incidence, 216 void appendAlarms( Alarm::List &alarms, Incidence *incidence,
217 const QDateTime &from, const QDateTime &to ); 217 const QDateTime &from, const QDateTime &to );
218 218
219 /** Append alarms of recurring events in interval to list of alarms. */ 219 /** Append alarms of recurring events in interval to list of alarms. */
220 void appendRecurringAlarms( Alarm::List &alarms, Incidence *incidence, 220 void appendRecurringAlarms( Alarm::List &alarms, Incidence *incidence,
221 const QDateTime &from, const QDateTime &to ); 221 const QDateTime &from, const QDateTime &to );
222 222
223 private: 223 private:
224 void init(); 224 void init();
225 225
226 QPtrList<Event> mEventList; 226 QPtrList<Event> mEventList;
227 QPtrList<Todo> mTodoList; 227 QPtrList<Todo> mTodoList;
228 QPtrList<Journal> mJournalList; 228 QPtrList<Journal> mJournalList;
229}; 229};
230 230
231} 231}
232 232
233#endif 233#endif