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