summaryrefslogtreecommitdiffabout
path: root/libkcal/calendarlocal.h
Unidiff
Diffstat (limited to 'libkcal/calendarlocal.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/calendarlocal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libkcal/calendarlocal.h b/libkcal/calendarlocal.h
index d32597f..98d16a3 100644
--- a/libkcal/calendarlocal.h
+++ b/libkcal/calendarlocal.h
@@ -1,226 +1,227 @@
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 void setSyncEventsReadOnly(); 48 void setSyncEventsReadOnly();
49 void stopAllTodos(); 49 void stopAllTodos();
50 /** 50 /**
51 Loads a calendar on disk in vCalendar or iCalendar format into the current 51 Loads a calendar on disk in vCalendar or iCalendar format into the current
52 calendar. Any information already present is lost. 52 calendar. Any information already present is lost.
53 @return true, if successfull, false on error. 53 @return true, if successfull, false on error.
54 @param fileName the name of the calendar on disk. 54 @param fileName the name of the calendar on disk.
55 */ 55 */
56 bool load( const QString &fileName ); 56 bool load( const QString &fileName );
57 /** 57 /**
58 Writes out the calendar to disk in the specified \a format. 58 Writes out the calendar to disk in the specified \a format.
59 CalendarLocal takes ownership of the CalFormat object. 59 CalendarLocal takes ownership of the CalFormat object.
60 @return true, if successfull, false on error. 60 @return true, if successfull, false on error.
61 @param fileName the name of the file 61 @param fileName the name of the file
62 */ 62 */
63 bool save( const QString &fileName, CalFormat *format = 0 ); 63 bool save( const QString &fileName, CalFormat *format = 0 );
64 64
65 /** 65 /**
66 Clears out the current calendar, freeing all used memory etc. etc. 66 Clears out the current calendar, freeing all used memory etc. etc.
67 */ 67 */
68 void close(); 68 void close();
69 69
70 void save() {} 70 void save() {}
71 71
72 /** 72 /**
73 Add Event to calendar. 73 Add Event to calendar.
74 */ 74 */
75 void removeSyncInfo( QString syncProfile); 75 void removeSyncInfo( QString syncProfile);
76 bool addAnniversaryNoDup( Event *event ); 76 bool addAnniversaryNoDup( Event *event );
77 bool addEventNoDup( Event *event ); 77 bool addEventNoDup( Event *event );
78 bool addEvent( Event *event ); 78 bool addEvent( Event *event );
79 /** 79 /**
80 Deletes an event from this calendar. 80 Deletes an event from this calendar.
81 */ 81 */
82 void deleteEvent( Event *event ); 82 void deleteEvent( Event *event );
83 83
84 /** 84 /**
85 Retrieves an event on the basis of the unique string ID. 85 Retrieves an event on the basis of the unique string ID.
86 */ 86 */
87 Event *event( const QString &uid ); 87 Event *event( const QString &uid );
88 /** 88 /**
89 Return unfiltered list of all events in calendar. 89 Return unfiltered list of all events in calendar.
90 */ 90 */
91 QPtrList<Event> rawEvents(); 91 QPtrList<Event> rawEvents();
92 QPtrList<Event> getExternLastSyncEvents(); 92 QPtrList<Event> getExternLastSyncEvents();
93 /** 93 /**
94 Add a todo to the todolist. 94 Add a todo to the todolist.
95 */ 95 */
96 bool addTodo( Todo *todo ); 96 bool addTodo( Todo *todo );
97 bool addTodoNoDup( Todo *todo ); 97 bool addTodoNoDup( Todo *todo );
98 /** 98 /**
99 Remove a todo from the todolist. 99 Remove a todo from the todolist.
100 */ 100 */
101 void deleteTodo( Todo * ); 101 void deleteTodo( Todo * );
102 /** 102 /**
103 Searches todolist for an event with this unique string identifier, 103 Searches todolist for an event with this unique string identifier,
104 returns a pointer or null. 104 returns a pointer or null.
105 */ 105 */
106 Todo *todo( const QString &uid ); 106 Todo *todo( const QString &uid );
107 /** 107 /**
108 Return list of all todos. 108 Return list of all todos.
109 */ 109 */
110 QPtrList<Todo> rawTodos(); 110 QPtrList<Todo> rawTodos();
111 /** 111 /**
112 Returns list of todos due on the specified date. 112 Returns list of todos due on the specified date.
113 */ 113 */
114 QPtrList<Todo> todos( const QDate &date ); 114 QPtrList<Todo> todos( const QDate &date );
115 /** 115 /**
116 Return list of all todos. 116 Return list of all todos.
117 117
118 Workaround because compiler does not recognize function of base class. 118 Workaround because compiler does not recognize function of base class.
119 */ 119 */
120 QPtrList<Todo> todos() { return Calendar::todos(); } 120 QPtrList<Todo> todos() { return Calendar::todos(); }
121 121
122 /** 122 /**
123 Add a Journal entry to calendar. 123 Add a Journal entry to calendar.
124 */ 124 */
125 bool addJournal( Journal * ); 125 bool addJournal( Journal * );
126 /** 126 /**
127 Remove a Journal from the calendar. 127 Remove a Journal from the calendar.
128 */ 128 */
129 void deleteJournal( Journal * ); 129 void deleteJournal( Journal * );
130 /** 130 /**
131 Return Journal for given date. 131 Return Journal for given date.
132 */ 132 */
133 Journal *journal( const QDate & ); 133 Journal *journal( const QDate & );
134 QPtrList<Journal> journals4Date( const QDate & );
134 /** 135 /**
135 Return Journal with given UID. 136 Return Journal with given UID.
136 */ 137 */
137 Journal *journal( const QString &uid ); 138 Journal *journal( const QString &uid );
138 /** 139 /**
139 Return list of all Journals stored in calendar. 140 Return list of all Journals stored in calendar.
140 */ 141 */
141 QPtrList<Journal> journals(); 142 QPtrList<Journal> journals();
142 143
143 /** 144 /**
144 Return all alarms, which ocur in the given time interval. 145 Return all alarms, which ocur in the given time interval.
145 */ 146 */
146 Alarm::List alarms( const QDateTime &from, const QDateTime &to ); 147 Alarm::List alarms( const QDateTime &from, const QDateTime &to );
147 148
148 /** 149 /**
149 Return all alarms, which ocur before given date. 150 Return all alarms, which ocur before given date.
150 */ 151 */
151 Alarm::List alarmsTo( const QDateTime &to ); 152 Alarm::List alarmsTo( const QDateTime &to );
152 153
153 QDateTime nextAlarm( int daysTo ) ; 154 QDateTime nextAlarm( int daysTo ) ;
154 QDateTime nextAlarmEventDateTime() const; 155 QDateTime nextAlarmEventDateTime() const;
155 void checkAlarmForIncidence( Incidence *, bool deleted ) ; 156 void checkAlarmForIncidence( Incidence *, bool deleted ) ;
156 void registerAlarm(); 157 void registerAlarm();
157 void deRegisterAlarm(); 158 void deRegisterAlarm();
158 QString getAlarmNotification(); 159 QString getAlarmNotification();
159 QString nextSummary() const ; 160 QString nextSummary() const ;
160 /** 161 /**
161 This method should be called whenever a Event is modified directly 162 This method should be called whenever a Event is modified directly
162 via it's pointer. It makes sure that the calendar is internally 163 via it's pointer. It makes sure that the calendar is internally
163 consistent. 164 consistent.
164 */ 165 */
165 void update( IncidenceBase *incidence ); 166 void update( IncidenceBase *incidence );
166 167
167 /** 168 /**
168 Builds and then returns a list of all events that match for the 169 Builds and then returns a list of all events that match for the
169 date specified. useful for dayView, etc. etc. 170 date specified. useful for dayView, etc. etc.
170 */ 171 */
171 QPtrList<Event> rawEventsForDate( const QDate &date, bool sorted = false ); 172 QPtrList<Event> rawEventsForDate( const QDate &date, bool sorted = false );
172 /** 173 /**
173 Get unfiltered events for date \a qdt. 174 Get unfiltered events for date \a qdt.
174 */ 175 */
175 QPtrList<Event> rawEventsForDate( const QDateTime &qdt ); 176 QPtrList<Event> rawEventsForDate( const QDateTime &qdt );
176 /** 177 /**
177 Get unfiltered events in a range of dates. If inclusive is set to true, 178 Get unfiltered events in a range of dates. If inclusive is set to true,
178 only events are returned, which are completely included in the range. 179 only events are returned, which are completely included in the range.
179 */ 180 */
180 QPtrList<Event> rawEvents( const QDate &start, const QDate &end, 181 QPtrList<Event> rawEvents( const QDate &start, const QDate &end,
181 bool inclusive = false ); 182 bool inclusive = false );
182 Todo *todo( QString, QString ); 183 Todo *todo( QString, QString );
183 Event *event( QString, QString ); 184 Event *event( QString, QString );
184 185
185public slots: 186public slots:
186 void setCalendarEnabled( int id, bool enable ); 187 void setCalendarEnabled( int id, bool enable );
187 void setAlarmEnabled( int id, bool enable ); 188 void setAlarmEnabled( int id, bool enable );
188 void setReadOnly( int id, bool enable ); 189 void setReadOnly( int id, bool enable );
189 void setDefaultCalendarEnabledOnly(); 190 void setDefaultCalendarEnabledOnly();
190 void setCalendarRemove( int id ); 191 void setCalendarRemove( int id );
191 192
192 protected: 193 protected:
193 194
194 // Event* mNextAlarmEvent; 195 // Event* mNextAlarmEvent;
195 QString mNextSummary; 196 QString mNextSummary;
196 QString mNextAlarmEventDateTimeString; 197 QString mNextAlarmEventDateTimeString;
197 QString mLastAlarmNotificationString; 198 QString mLastAlarmNotificationString;
198 QDateTime mNextAlarmEventDateTime; 199 QDateTime mNextAlarmEventDateTime;
199 QDateTime mNextAlarmDateTime; 200 QDateTime mNextAlarmDateTime;
200 void reInitAlarmSettings(); 201 void reInitAlarmSettings();
201 202
202 /** Notification function of IncidenceBase::Observer. */ 203 /** Notification function of IncidenceBase::Observer. */
203 void incidenceUpdated( IncidenceBase *i ) { update( i ); } 204 void incidenceUpdated( IncidenceBase *i ) { update( i ); }
204 205
205 /** inserts an event into its "proper place" in the calendar. */ 206 /** inserts an event into its "proper place" in the calendar. */
206 void insertEvent( Event *event ); 207 void insertEvent( Event *event );
207 208
208 /** Append alarms of incidence in interval to list of alarms. */ 209 /** Append alarms of incidence in interval to list of alarms. */
209 void appendAlarms( Alarm::List &alarms, Incidence *incidence, 210 void appendAlarms( Alarm::List &alarms, Incidence *incidence,
210 const QDateTime &from, const QDateTime &to ); 211 const QDateTime &from, const QDateTime &to );
211 212
212 /** Append alarms of recurring events in interval to list of alarms. */ 213 /** Append alarms of recurring events in interval to list of alarms. */
213 void appendRecurringAlarms( Alarm::List &alarms, Incidence *incidence, 214 void appendRecurringAlarms( Alarm::List &alarms, Incidence *incidence,
214 const QDateTime &from, const QDateTime &to ); 215 const QDateTime &from, const QDateTime &to );
215 216
216 private: 217 private:
217 void init(); 218 void init();
218 219
219 QPtrList<Event> mEventList; 220 QPtrList<Event> mEventList;
220 QPtrList<Todo> mTodoList; 221 QPtrList<Todo> mTodoList;
221 QPtrList<Journal> mJournalList; 222 QPtrList<Journal> mJournalList;
222}; 223};
223 224
224} 225}
225 226
226#endif 227#endif