38 using namespace KCalCore;
45 class KCalCore::CalFilter::Private
50 mCompletedTimeSpan( 0 ),
54 QStringList mCategoryList;
55 QStringList mEmailList;
57 int mCompletedTimeSpan;
80 return d->mName == filter.d->mName &&
81 d->mCriteria == filter.d->mCriteria &&
82 d->mCategoryList == filter.d->mCategoryList &&
83 d->mEmailList == filter.d->mEmailList &&
84 d->mCompletedTimeSpan == filter.d->mCompletedTimeSpan;
93 Event::List::Iterator it = eventList->begin();
94 while ( it != eventList->end() ) {
96 it = eventList->erase( it );
106 if ( !d->mEnabled ) {
110 Todo::List::Iterator it = todoList->begin();
111 while ( it != todoList->end() ) {
113 it = todoList->erase( it );
122 if ( !d->mEnabled ) {
126 Journal::List::Iterator it = journalList->begin();
127 while ( it != journalList->end() ) {
129 it = journalList->erase( it );
138 if ( !d->mEnabled ) {
146 if ( todo->completed().addDays( d->mCompletedTimeSpan ) <
147 KDateTime::currentUtcDateTime() ) {
153 ( ( todo->hasStartDate() &&
154 KDateTime::currentUtcDateTime() < todo->dtStart() ) ||
155 todo->isCompleted() ) ) {
160 bool iAmOneOfTheAttendees =
false;
162 if ( !todo->attendees().isEmpty() ) {
163 Attendee::List::ConstIterator it;
164 for ( it = attendees.begin(); it != attendees.end(); ++it ) {
165 if ( d->mEmailList.contains( ( *it )->email() ) ) {
166 iAmOneOfTheAttendees =
true;
172 iAmOneOfTheAttendees =
true;
174 if ( !iAmOneOfTheAttendees ) {
181 if ( incidence->recurs() ) {
187 for ( QStringList::ConstIterator it = d->mCategoryList.constBegin();
188 it != d->mCategoryList.constEnd(); ++it ) {
189 QStringList incidenceCategories = incidence->categories();
190 for ( QStringList::ConstIterator it2 = incidenceCategories.constBegin();
191 it2 != incidenceCategories.constEnd(); ++it2 ) {
192 if ( ( *it ) == ( *it2 ) ) {
199 for ( QStringList::ConstIterator it = d->mCategoryList.constBegin();
200 it != d->mCategoryList.constEnd(); ++it ) {
201 QStringList incidenceCategories = incidence->categories();
202 for ( QStringList::ConstIterator it2 = incidenceCategories.constBegin();
203 it2 != incidenceCategories.constEnd(); ++it2 ) {
204 if ( ( *it ) == ( *it2 ) ) {
227 d->mEnabled = enabled;
252 return d->mCategoryList;
262 return d->mEmailList;
267 d->mCompletedTimeSpan = timespan;
272 return d->mCompletedTimeSpan;