author | zecke <zecke> | 2004-11-18 21:49:23 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-11-18 21:49:23 (UTC) |
commit | 1e7f8f22fc10e3ed85b6563332ddc348c95792d0 (patch) (unidiff) | |
tree | 59498ba1d4a7dbff05228c09bebcf0c849e916be /libopie2/opiepim/backend/opimbackendoccurrence.cpp | |
parent | 41fa1c196965f17f9748f835d90c307b7e594883 (diff) | |
download | opie-1e7f8f22fc10e3ed85b6563332ddc348c95792d0.zip opie-1e7f8f22fc10e3ed85b6563332ddc348c95792d0.tar.gz opie-1e7f8f22fc10e3ed85b6563332ddc348c95792d0.tar.bz2 |
Backend Changes:
Each Backend can:
-Sort and Filter a set of Records/AllRecords (which can be filtered again)
-QueryByExample by every Backend
-Occurrences for a period of time and a QDateTime
-More common implementation
-OPimBackendOccurrence with common splitting to OPimOccurrence
Diffstat (limited to 'libopie2/opiepim/backend/opimbackendoccurrence.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiepim/backend/opimbackendoccurrence.cpp | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/libopie2/opiepim/backend/opimbackendoccurrence.cpp b/libopie2/opiepim/backend/opimbackendoccurrence.cpp new file mode 100644 index 0000000..8af930d --- a/dev/null +++ b/libopie2/opiepim/backend/opimbackendoccurrence.cpp | |||
@@ -0,0 +1,241 @@ | |||
1 | /* | ||
2 | This file is part of the Opie Project | ||
3 | Copyright (C) 2004 Holger Hans Peter Freyther <zecke@handhelds.org> | ||
4 | =. Copyright (C) The Opie Team <opie-devel@handhelds.org> | ||
5 | .=l. | ||
6 | .>+-= | ||
7 | _;:, .> :=|. This program is free software; you can | ||
8 | .> <`_, > . <= redistribute it and/or modify it under | ||
9 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | ||
10 | .="- .-=="i, .._ License as published by the Free Software | ||
11 | - . .-<_> .<> Foundation; either version 2 of the License, | ||
12 | ._= =} : or (at your option) any later version. | ||
13 | .%`+i> _;_. | ||
14 | .i_,=:_. -<s. This program is distributed in the hope that | ||
15 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | ||
16 | : .. .:, . . . without even the implied warranty of | ||
17 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | ||
18 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | ||
19 | ..}^=.= = ; Library General Public License for more | ||
20 | ++= -. .` .: details. | ||
21 | : = ...= . :.=- | ||
22 | -. .:....=;==+<; You should have received a copy of the GNU | ||
23 | -_. . . )=. = Library General Public License along with | ||
24 | -- :-=` this library; see the file COPYING.LIB. | ||
25 | If not, write to the Free Software Foundation, | ||
26 | Inc., 59 Temple Place - Suite 330, | ||
27 | Boston, MA 02111-1307, USA. | ||
28 | */ | ||
29 | |||
30 | #include "opimbackendoccurrence.h" | ||
31 | |||
32 | namespace Opie { | ||
33 | |||
34 | OPimBackendOccurrence::OPimBackendOccurrence() {} | ||
35 | /** | ||
36 | * \brief The occurence is only on the specefic Day | ||
37 | * | ||
38 | * If an occurrence is only a day without any time associated | ||
39 | * use this Constructor. | ||
40 | * \sa timeAssociated() will return false. | ||
41 | * | ||
42 | * @param date The Date this Occurence takes place | ||
43 | * @param uid The \sa UID of the associated OPimRecord | ||
44 | * @param sum The optional summary | ||
45 | * | ||
46 | */ | ||
47 | OPimBackendOccurrence::OPimBackendOccurrence( const QDate& date, | ||
48 | const UID& uid, | ||
49 | const QString& sum ) | ||
50 | : m_start( date ), m_end( date ), m_uid( uid ), | ||
51 | m_haveTime(false ), m_summary( sum ) | ||
52 | {} | ||
53 | |||
54 | /** | ||
55 | * \brief An Occurrence with a start day and end day without time | ||
56 | * | ||
57 | * Overloaded Constructor. Use this if you've a start date and | ||
58 | * end date but no time. If you need to overwrite the summary | ||
59 | * use setSummary. | ||
60 | * \sa timeAssociated() will return false. | ||
61 | * | ||
62 | * @param date The Start Date | ||
63 | * @param end Tne End Date | ||
64 | * @param uid The UID of the associated record | ||
65 | * | ||
66 | * @see setSummary | ||
67 | */ | ||
68 | OPimBackendOccurrence::OPimBackendOccurrence( const QDate& date, | ||
69 | const QDate& end, | ||
70 | const UID& uid) | ||
71 | : m_start( date ), m_end( end ), m_uid( uid ), m_haveTime( false ) | ||
72 | {} | ||
73 | |||
74 | |||
75 | /** | ||
76 | * \brief Use Start and End Date with Time | ||
77 | * | ||
78 | * Overloaded Constructor to use Dates with Time time associated | ||
79 | * to it. \sa timeAssociated() will return true. | ||
80 | * | ||
81 | * @param date The Start Date and Time of the occurrence | ||
82 | * @param end The End Date and Time of the occurrence | ||
83 | * @param uid The UID of the \sa OPimRecord. | ||
84 | */ | ||
85 | OPimBackendOccurrence::OPimBackendOccurrence( const QDateTime& date, | ||
86 | const QDateTime& end, | ||
87 | const UID& uid ) | ||
88 | : m_start( date ), m_end( end ), m_uid( uid ), m_haveTime( true ) | ||
89 | {} | ||
90 | |||
91 | /** | ||
92 | * \brief Return the Start Date and Time | ||
93 | * | ||
94 | * @return This method will return the start | ||
95 | * Date and Time. Time is only valid if | ||
96 | * \sa timeAssociated() is true. | ||
97 | * | ||
98 | */ | ||
99 | QDateTime OPimBackendOccurrence::startDateTime()const { | ||
100 | return m_start; | ||
101 | } | ||
102 | |||
103 | /** | ||
104 | * \brief Return the Start Date and Time | ||
105 | * | ||
106 | * @return This will return the end Date and Time. The | ||
107 | * limitation for Time is the same as in startDateTime | ||
108 | * | ||
109 | * @see startDateTime() | ||
110 | */ | ||
111 | QDateTime OPimBackendOccurrence::endDateTime()const { | ||
112 | return m_end; | ||
113 | } | ||
114 | |||
115 | /** | ||
116 | * \brief Return the UID of the Associated OPimRecord | ||
117 | * | ||
118 | * @return the associated OPimRecord | ||
119 | */ | ||
120 | UID OPimBackendOccurrence::uid()const { | ||
121 | return m_uid; | ||
122 | } | ||
123 | |||
124 | /** | ||
125 | * \brief Return if there is a time associated or not | ||
126 | * | ||
127 | * If a time is present with start and end date this method | ||
128 | * will return true. There is no direct way to manipulate | ||
129 | * that attribute. But \sa setStartDate and \sa setStartDateTime | ||
130 | * will change it. | ||
131 | * | ||
132 | * @return Return true if a time is available with the date | ||
133 | * | ||
134 | */ | ||
135 | bool OPimBackendOccurrence::isAllDay()const { | ||
136 | return m_haveTime; | ||
137 | } | ||
138 | |||
139 | /** | ||
140 | * @return The special summary that will overwrite OPimRecord::summary | ||
141 | */ | ||
142 | QString OPimBackendOccurrence::summary()const { | ||
143 | return m_summary; | ||
144 | } | ||
145 | |||
146 | QString OPimBackendOccurrence::location()const { | ||
147 | return m_location; | ||
148 | } | ||
149 | |||
150 | QString OPimBackendOccurrence::note()const { | ||
151 | return m_note; | ||
152 | } | ||
153 | |||
154 | /** | ||
155 | * \brief Set the Start Date | ||
156 | * | ||
157 | * This method will set the start date and internally will mark | ||
158 | * this occurrence to have no time associated to both start | ||
159 | * and end date. | ||
160 | * A call to timeAssociated will return false after using this | ||
161 | * method. | ||
162 | * | ||
163 | * @param start The Start Date | ||
164 | * | ||
165 | */ | ||
166 | void OPimBackendOccurrence::setStartDate( const QDate& start) { | ||
167 | m_start = start; | ||
168 | m_haveTime = false; | ||
169 | } | ||
170 | |||
171 | /** | ||
172 | * \brief Set the Start Date and Time | ||
173 | * | ||
174 | * Set the Start Date and Time. After this call | ||
175 | * \sa timeAssociated will return true. | ||
176 | * | ||
177 | * @param dt The Start Date and Time to be set | ||
178 | */ | ||
179 | void OPimBackendOccurrence::setStartDateTime( const QDateTime& dt ) { | ||
180 | m_start = dt; | ||
181 | m_haveTime = true; | ||
182 | } | ||
183 | |||
184 | /** | ||
185 | * \brief This will set the End Date. | ||
186 | * | ||
187 | * This method will set the End Date. The timeAssociated attribute | ||
188 | * will not be changed. | ||
189 | * | ||
190 | * @param end The End Date to be set | ||
191 | */ | ||
192 | void OPimBackendOccurrence::setEndDate( const QDate& end ) { | ||
193 | m_end = end; | ||
194 | } | ||
195 | |||
196 | /** | ||
197 | * \brief Set the End Date and Time of the occurrence | ||
198 | * | ||
199 | * This will set the End Date and Time but will not change | ||
200 | * the timeAssociated attribute. | ||
201 | * | ||
202 | * @param dt The End Date and Time to be set. | ||
203 | */ | ||
204 | void OPimBackendOccurrence::setEndDateTime( const QDateTime& dt ) { | ||
205 | m_end = dt; | ||
206 | } | ||
207 | |||
208 | /** | ||
209 | * \brief This method will set the UID of the Record | ||
210 | * | ||
211 | * Set the UID of the OPimRecord to be associated with | ||
212 | * this OPimRecurrence. | ||
213 | * | ||
214 | * @param uid The UID of the associated OPimRecord to be set | ||
215 | */ | ||
216 | void OPimBackendOccurrence::setUid( const UID& uid ) { | ||
217 | m_uid = uid; | ||
218 | } | ||
219 | |||
220 | |||
221 | /** | ||
222 | * \brief Set a special summary instead of \sa OPimRecord::summary() | ||
223 | * | ||
224 | * If \sa OPimRecord::summary() doesn't describe the occurrence | ||
225 | * reason you can set a custom summary for the Occurrence. | ||
226 | * | ||
227 | * @param str The to be set Summary | ||
228 | */ | ||
229 | void OPimBackendOccurrence::setSummary( const QString& str ) { | ||
230 | m_summary = str; | ||
231 | } | ||
232 | |||
233 | void OPimBackendOccurrence::setLocation( const QString& str ) { | ||
234 | m_location = str; | ||
235 | } | ||
236 | |||
237 | void OPimBackendOccurrence::setNote( const QString& str ) { | ||
238 | m_note = str; | ||
239 | } | ||
240 | |||
241 | } | ||