summaryrefslogtreecommitdiffabout
path: root/libkcal/incidence.cpp
Unidiff
Diffstat (limited to 'libkcal/incidence.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/incidence.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/libkcal/incidence.cpp b/libkcal/incidence.cpp
index 5a9ef0e..28402ae 100644
--- a/libkcal/incidence.cpp
+++ b/libkcal/incidence.cpp
@@ -128,96 +128,110 @@ bool KCal::operator==( const Incidence& i1, const Incidence& i2 )
128 { 128 {
129 qDebug("alarm not equal "); 129 qDebug("alarm not equal ");
130 return false; 130 return false;
131 } 131 }
132 } 132 }
133#if 0 133#if 0
134 QPtrListIterator<Alarm> a1( i1.alarms() ); 134 QPtrListIterator<Alarm> a1( i1.alarms() );
135 QPtrListIterator<Alarm> a2( i2.alarms() ); 135 QPtrListIterator<Alarm> a2( i2.alarms() );
136 for( ; a1.current() && a2.current(); ++a1, ++a2 ) { 136 for( ; a1.current() && a2.current(); ++a1, ++a2 ) {
137 if( *a1.current() == *a2.current() ) { 137 if( *a1.current() == *a2.current() ) {
138 continue; 138 continue;
139 } 139 }
140 else { 140 else {
141 return false; 141 return false;
142 } 142 }
143 } 143 }
144#endif 144#endif
145 145
146 if ( ! operator==( (const IncidenceBase&)i1, (const IncidenceBase&)i2 ) ) 146 if ( ! operator==( (const IncidenceBase&)i1, (const IncidenceBase&)i2 ) )
147 return false; 147 return false;
148 if ( i1.hasStartDate() == i2.hasStartDate() ) { 148 if ( i1.hasStartDate() == i2.hasStartDate() ) {
149 if ( i1.hasStartDate() ) { 149 if ( i1.hasStartDate() ) {
150 if ( i1.dtStart() != i2.dtStart() ) 150 if ( i1.dtStart() != i2.dtStart() )
151 return false; 151 return false;
152 } 152 }
153 } else { 153 } else {
154 return false; 154 return false;
155 } 155 }
156 if (!( *i1.recurrence() == *i2.recurrence()) ) { 156 if (!( *i1.recurrence() == *i2.recurrence()) ) {
157 qDebug("recurrence is NOT equal "); 157 qDebug("recurrence is NOT equal ");
158 return false; 158 return false;
159 } 159 }
160 return 160 return
161 // i1.created() == i2.created() && 161 // i1.created() == i2.created() &&
162 stringCompare( i1.description(), i2.description() ) && 162 stringCompare( i1.description(), i2.description() ) &&
163 stringCompare( i1.summary(), i2.summary() ) && 163 stringCompare( i1.summary(), i2.summary() ) &&
164 i1.categories() == i2.categories() && 164 i1.categories() == i2.categories() &&
165 // no need to compare mRelatedTo 165 // no need to compare mRelatedTo
166 stringCompare( i1.relatedToUid(), i2.relatedToUid() ) && 166 stringCompare( i1.relatedToUid(), i2.relatedToUid() ) &&
167 // i1.relations() == i2.relations() && 167 // i1.relations() == i2.relations() &&
168 i1.exDates() == i2.exDates() && 168 i1.exDates() == i2.exDates() &&
169 i1.attachments() == i2.attachments() && 169 i1.attachments() == i2.attachments() &&
170 i1.resources() == i2.resources() && 170 i1.resources() == i2.resources() &&
171 i1.secrecy() == i2.secrecy() && 171 i1.secrecy() == i2.secrecy() &&
172 i1.priority() == i2.priority() && 172 i1.priority() == i2.priority() &&
173 stringCompare( i1.location(), i2.location() ); 173 stringCompare( i1.location(), i2.location() );
174} 174}
175 175
176Incidence* Incidence::recreateCloneException( QDate d )
177{
178 Incidence* newInc = clone();
179 newInc->recreate();
180 if ( doesRecur() ) {
181 addExDate( d );
182 newInc->recurrence()->unsetRecurs();
183 int len = dtStart().secsTo( ((Event*)this)->dtEnd());
184 QTime tim = dtStart().time();
185 newInc->setDtStart( QDateTime(d, tim) );
186 ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) );
187 }
188 return newInc;
189}
176 190
177void Incidence::recreate() 191void Incidence::recreate()
178{ 192{
179 setCreated(QDateTime::currentDateTime()); 193 setCreated(QDateTime::currentDateTime());
180 194
181 setUid(CalFormat::createUniqueId()); 195 setUid(CalFormat::createUniqueId());
182 196
183 setRevision(0); 197 setRevision(0);
184 setIDStr( ":" ); 198 setIDStr( ":" );
185 setLastModified(QDateTime::currentDateTime()); 199 setLastModified(QDateTime::currentDateTime());
186} 200}
187 201
188void Incidence::setReadOnly( bool readOnly ) 202void Incidence::setReadOnly( bool readOnly )
189{ 203{
190 IncidenceBase::setReadOnly( readOnly ); 204 IncidenceBase::setReadOnly( readOnly );
191 recurrence()->setRecurReadOnly( readOnly); 205 recurrence()->setRecurReadOnly( readOnly);
192} 206}
193 207
194void Incidence::setCreated(QDateTime created) 208void Incidence::setCreated(QDateTime created)
195{ 209{
196 if (mReadOnly) return; 210 if (mReadOnly) return;
197 mCreated = getEvenTime(created); 211 mCreated = getEvenTime(created);
198} 212}
199 213
200QDateTime Incidence::created() const 214QDateTime Incidence::created() const
201{ 215{
202 return mCreated; 216 return mCreated;
203} 217}
204 218
205void Incidence::setRevision(int rev) 219void Incidence::setRevision(int rev)
206{ 220{
207 if (mReadOnly) return; 221 if (mReadOnly) return;
208 mRevision = rev; 222 mRevision = rev;
209 223
210 updated(); 224 updated();
211} 225}
212 226
213int Incidence::revision() const 227int Incidence::revision() const
214{ 228{
215 return mRevision; 229 return mRevision;
216} 230}
217 231
218void Incidence::setDtStart(const QDateTime &dtStart) 232void Incidence::setDtStart(const QDateTime &dtStart)
219{ 233{
220 234
221 QDateTime dt = getEvenTime(dtStart); 235 QDateTime dt = getEvenTime(dtStart);
222 recurrence()->setRecurStart( dt); 236 recurrence()->setRecurStart( dt);
223 IncidenceBase::setDtStart( dt ); 237 IncidenceBase::setDtStart( dt );