summaryrefslogtreecommitdiffabout
path: root/libkcal/incidence.cpp
authorzautrix <zautrix>2004-12-07 09:55:57 (UTC)
committer zautrix <zautrix>2004-12-07 09:55:57 (UTC)
commit17b25691f0332e648dd1d800e89ccf4e1da8955d (patch) (side-by-side diff)
treeb7bc28e6c57c043fc49328a7ebd86e1b5cd0f17a /libkcal/incidence.cpp
parentdcd2bbbc8d3064b35f268a831c567feaafea5fd8 (diff)
downloadkdepimpi-17b25691f0332e648dd1d800e89ccf4e1da8955d.zip
kdepimpi-17b25691f0332e648dd1d800e89ccf4e1da8955d.tar.gz
kdepimpi-17b25691f0332e648dd1d800e89ccf4e1da8955d.tar.bz2
some kopi usebility fixes
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
@@ -168,16 +168,30 @@ bool KCal::operator==( const Incidence& i1, const Incidence& i2 )
i1.exDates() == i2.exDates() &&
i1.attachments() == i2.attachments() &&
i1.resources() == i2.resources() &&
i1.secrecy() == i2.secrecy() &&
i1.priority() == i2.priority() &&
stringCompare( i1.location(), i2.location() );
}
+Incidence* Incidence::recreateCloneException( QDate d )
+{
+ Incidence* newInc = clone();
+ newInc->recreate();
+ if ( doesRecur() ) {
+ addExDate( d );
+ newInc->recurrence()->unsetRecurs();
+ int len = dtStart().secsTo( ((Event*)this)->dtEnd());
+ QTime tim = dtStart().time();
+ newInc->setDtStart( QDateTime(d, tim) );
+ ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) );
+ }
+ return newInc;
+}
void Incidence::recreate()
{
setCreated(QDateTime::currentDateTime());
setUid(CalFormat::createUniqueId());
setRevision(0);