summaryrefslogtreecommitdiff
path: root/library/datebookdb.h
Unidiff
Diffstat (limited to 'library/datebookdb.h') (more/less context) (ignore whitespace changes)
-rw-r--r--library/datebookdb.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/library/datebookdb.h b/library/datebookdb.h
new file mode 100644
index 0000000..aadb397
--- a/dev/null
+++ b/library/datebookdb.h
@@ -0,0 +1,85 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#ifndef DATEBOOKDB_H
22#define DATEBOOKDB_H
23
24#include <qdatetime.h>
25#include <qfile.h>
26#include <qvaluelist.h>
27#include <qpe/event.h>
28
29// journal actions...
30enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE };
31
32class DateBookDBPrivate;
33class DateBookDB
34{
35public:
36 DateBookDB();
37 ~DateBookDB();
38
39 // very depreciated now!!!
40 QValueList<Event> getEvents( const QDate &from, const QDate &to );
41 QValueList<Event> getEvents( const QDateTime &start );
42
43 // USE THESE!!!
44 QValueList<EffectiveEvent> getEffectiveEvents( const QDate &from,
45 const QDate &to );
46 QValueList<EffectiveEvent> getEffectiveEvents( const QDateTime &start );
47
48 QValueList<Event> getRawRepeats() const;
49 QValueList<Event> getNonRepeatingEvents( const QDate &from,
50 const QDate &to ) const;
51
52 // Use these when dealing with adding removing events...
53 void addEvent( const Event &ev, bool doalarm=TRUE );
54 void removeEvent( const Event &ev );
55 void editEvent( const Event &old, Event &ev );
56 // add/remove event without journaling ( these ended up in public by accident, never
57 // use them unless you know what you are doing...),
58 // please put them in private if we ever can change the class...
59 void addJFEvent( const Event &ev, bool doalarm=TRUE );
60 void removeJFEvent( const Event &ev );
61
62 bool save();
63 void reload();
64private:
65 //find the real repeat...
66 bool origRepeat( const Event &ev, Event &orig ) const;
67 bool removeRepeat( const Event &ev );
68 void init();
69 void loadFile( const QString &strFile );
70 // depreciated...
71 void saveJournalEntry( const Event &ev, journal_action action );
72 // new version, uncomment the "= -1" when we remove the above
73 // function..
74 bool saveJournalEntry( const Event &ev, journal_action action,
75 int key/* = -1*/, bool origHadRepeat = false );
76
77 QValueList<Event> eventList; // non-repeating events...
78 QValueList<Event> repeatEvents; // the repeating events...
79 DateBookDBPrivate *d;
80 QFile journalFile;
81};
82
83/* helper functions, also useful to other apps. */
84bool nextOccurance( const Event &e, const QDate &from, QDateTime &next);
85#endif