21 #ifndef KCAL_RESOURCECACHED_H
22 #define KCAL_RESOURCECACHED_H
24 #include "resourcecalendar.h"
26 #include "libemailfunctions/idmapper.h"
27 #include "incidence.h"
28 #include "calendarlocal.h"
32 #include <tqptrlist.h>
34 #include <tqdatetime.h>
37 #include <kdepimmacros.h>
56 enum { ReloadNever, ReloadOnStartup, ReloadInterval };
62 enum { SaveNever, SaveOnExit, SaveInterval, SaveDelayed, SaveAlways };
67 void readConfig( const KConfig *config );
68 void writeConfig( KConfig *config );
70 static bool editorWindowOpen();
71 static void setEditorWindowOpen( bool open);
80 void setReloadPolicy( int policy );
86 int reloadPolicy() const;
92 void setReloadInterval( int minutes );
97 int reloadInterval() const;
108 void setSavePolicy( int policy );
114 int savePolicy() const;
120 void setSaveInterval( int minutes );
125 int saveInterval() const;
130 TQDateTime lastLoad() const;
135 TQDateTime lastSave() const;
140 KDE_DEPRECATED bool addEvent( Event *event );
141 bool addEvent( Event *event, const TQString &subresource );
146 bool deleteEvent( Event *);
151 Event *event( const TQString &UniqueStr);
169 Event::List rawEventsForDate( const TQDateTime &qdt );
174 Event::List rawEvents( const TQDate &start, const TQDate &end,
175 bool inclusive = false );
180 KDE_DEPRECATED bool addTodo( Todo *todo );
181 bool addTodo( Todo *todo, const TQString &subresource );
186 bool deleteTodo( Todo * );
191 Todo *todo( const TQString &uid );
199 Todo::List rawTodosForDate( const TQDate &date );
203 KDE_DEPRECATED bool addJournal( Journal *journal );
204 bool addJournal( Journal *journal, const TQString &subresource );
209 bool deleteJournal( Journal * );
213 Journal *journal( const TQString &uid );
226 Alarm::List alarms( const TQDateTime &from, const TQDateTime &to );
236 void setTimeZoneId( const TQString &timeZoneId );
238 TQString timeZoneId() const;
243 const Person &getOwner() const;
247 void setOwner( const Person &owner );
249 void enableChangeNotification();
250 void disableChangeNotification();
253 void clearChange( const TQString &uid );
257 bool hasChanges() const;
283 void clearEventsCache();
288 void clearTodosCache();
293 void clearJournalsCache();
301 KPIM::IdMapper& idMapper();
315 virtual void doClose();
320 virtual bool doOpen();
324 bool checkForReload();
330 void checkForAutomaticSave();
332 void addInfoText( TQString & ) const;
334 void setupSaveTimer();
335 void setupReloadTimer();
341 virtual TQString cacheFile() const;
346 virtual TQString changesCacheFile( const TQString& ) const;
347 void loadChangesCache( TQMap<Incidence*, bool>&, const TQString& );
348 void loadChangesCache();
349 void saveChangesCache( const TQMap<Incidence*, bool>&, const TQString& );
350 void saveChangesCache();
356 void setIdMapperIdentifier();
361 TQTimer mReloadTimer;
368 TQDateTime mLastLoad;
369 TQDateTime mLastSave;
371 TQMap<KCal::Incidence *,bool> mAddedIncidences;
372 TQMap<KCal::Incidence *,bool> mChangedIncidences;
373 TQMap<KCal::Incidence *,bool> mDeletedIncidences;
375 KPIM::IdMapper mIdMapper;
|