-rw-r--r-- | libkcal/calendar.h | 1 | ||||
-rw-r--r-- | libkcal/calendarlocal.cpp | 10 | ||||
-rw-r--r-- | libkcal/calendarlocal.h | 1 | ||||
-rw-r--r-- | libkcal/incidencebase.cpp | 2 |
4 files changed, 14 insertions, 0 deletions
diff --git a/libkcal/calendar.h b/libkcal/calendar.h index 2243e28..3b7b183 100644 --- a/libkcal/calendar.h +++ b/libkcal/calendar.h @@ -76,6 +76,7 @@ public: virtual void close() = 0; virtual void addCalendar( Calendar* ) = 0; virtual bool addCalendarFile( QString name, int id ) = 0; + virtual void setSyncEventsReadOnly() = 0; /** Sync changes in memory to persistant storage. diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp index 336c3e8..8c4dde1 100644 --- a/libkcal/calendarlocal.cpp +++ b/libkcal/calendarlocal.cpp @@ -78,6 +78,16 @@ bool CalendarLocal::addCalendarFile( QString name, int id ) } return false; } +void CalendarLocal::setSyncEventsReadOnly() +{ + Event * ev; + ev = mEventList.first(); + while ( ev ) { + if ( ev->uid().left(15) == QString("last-syncEvent-") ) + ev->setReadOnly( true ); + ev = mEventList.next(); + } +} void CalendarLocal::addCalendar( Calendar* cal ) { cal->setDontDeleteIncidencesOnClose(); diff --git a/libkcal/calendarlocal.h b/libkcal/calendarlocal.h index 5bbe55f..0286b48 100644 --- a/libkcal/calendarlocal.h +++ b/libkcal/calendarlocal.h @@ -45,6 +45,7 @@ class CalendarLocal : public Calendar ~CalendarLocal(); void addCalendar( Calendar* ); bool addCalendarFile( QString name, int id ); + void setSyncEventsReadOnly(); /** Loads a calendar on disk in vCalendar or iCalendar format into the current calendar. Any information already present is lost. diff --git a/libkcal/incidencebase.cpp b/libkcal/incidencebase.cpp index 2ddbb01..96039df 100644 --- a/libkcal/incidencebase.cpp +++ b/libkcal/incidencebase.cpp @@ -141,6 +141,8 @@ QDateTime IncidenceBase::getEvenTime( QDateTime dt ) void IncidenceBase::setCalID( int id ) { + if ( mCalID > 0 ) + updated(); mCalID = id; } int IncidenceBase::calID() const |