summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp16
-rw-r--r--libkcal/alarm.cpp36
-rw-r--r--libkcal/recurrence.cpp56
-rw-r--r--libkcal/sharpformat.cpp7
4 files changed, 94 insertions, 21 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 258bd43..94cc97d 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -739,5 +739,5 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
} else {
if ( locCh ) {
- qDebug("loc changed %d", local->revision() );
+ qDebug("loc changed %d %s %s", local->revision() , local->lastModified().toString().latin1(), mLastCalendarSync.toString().latin1());
lastSync = local->lastModified().addDays( -1 );
if ( !remCh )
@@ -787,5 +787,5 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b
int result;
bool localIsNew;
- qDebug("mLastCalendarSync %s lastsync %s --- local %s remote %s ",mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() );
+ //qDebug("%s -- %s mLastCalendarSync %s lastsync %s --- local %s remote %s ",local->summary().latin1(), remote->summary().latin1(),mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() );
if ( full && mode < SYNC_PREF_NEWEST )
@@ -1031,5 +1031,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
if ( inL->revision() < maxrev )
inL->setRevision( maxrev );
- remote->addIncidence( inL->clone() );
+ inR = inL->clone();
+ inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL );
+ remote->addIncidence( inR );
++changedRemote;
} else {
@@ -1053,5 +1055,6 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
} else {
inR->setLastModified( modifiedCalendar );
- local->addIncidence( inR->clone() );
+ inL = inR->clone();
+ local->addIncidence( inL );
++addedEvent;
}
@@ -1104,6 +1107,9 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
inL->removeID(mCurrentSyncDevice );
++addedEventR;
+ qDebug("remote added Incidence %s ", inL->summary().latin1());
inL->setLastModified( modifiedCalendar );
- remote->addIncidence( inL->clone() );
+ inR = inL->clone();
+ inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL );
+ remote->addIncidence( inR );
}
}
diff --git a/libkcal/alarm.cpp b/libkcal/alarm.cpp
index 29e6205..1fc7169 100644
--- a/libkcal/alarm.cpp
+++ b/libkcal/alarm.cpp
@@ -50,4 +50,5 @@ Alarm::~Alarm()
bool Alarm::operator==( const Alarm& rhs ) const
{
+
if ( mType != rhs.mType ||
mAlarmSnoozeTime != rhs.mAlarmSnoozeTime ||
@@ -57,4 +58,38 @@ bool Alarm::operator==( const Alarm& rhs ) const
return false;
+#if 0
+ if ( mType != rhs.mType ) {
+
+ qDebug("aaa1 ");
+ return false;
+ }
+
+ if ( mAlarmSnoozeTime != rhs.mAlarmSnoozeTime ) {
+
+ qDebug("aaa2 ");
+ return false;
+ }
+
+
+ if ( mAlarmRepeatCount != rhs.mAlarmRepeatCount ) {
+
+ qDebug("aaa3 ");
+ return false;
+ }
+
+ if ( mAlarmEnabled != rhs.mAlarmEnabled ) {
+
+ qDebug("aaa4 ");
+ return false;
+ }
+
+ if ( mHasTime != rhs.mHasTime ) {
+
+ qDebug("aaa5 ");
+ return false;
+ }
+#endif
+
+
if (mHasTime) {
if (mAlarmTime != rhs.mAlarmTime)
@@ -65,5 +100,4 @@ bool Alarm::operator==( const Alarm& rhs ) const
return false;
}
-
switch (mType) {
case Display:
diff --git a/libkcal/recurrence.cpp b/libkcal/recurrence.cpp
index dd74e10..e84f672 100644
--- a/libkcal/recurrence.cpp
+++ b/libkcal/recurrence.cpp
@@ -107,4 +107,5 @@ bool Recurrence::operator==( const Recurrence& r2 ) const
// differ in the other settings, because one (or both)
// may be not initialized properly
+
if ( recurs != r2.recurs
|| rFreq != r2.rFreq
@@ -123,16 +124,47 @@ bool Recurrence::operator==( const Recurrence& r2 ) const
return rDays == r2.rDays
&& rWeekStart == r2.rWeekStart;
- case rMonthlyPos:
- return rMonthPositions.count() == r2.rMonthPositions.count();
- case rMonthlyDay:
- return rMonthDays.count() == r2.rMonthDays.count();
- case rYearlyPos:
- return rYearNums.count() == r2.rYearNums.count()
- && rMonthPositions.count() == r2.rMonthPositions.count();
- case rYearlyMonth:
- return rYearNums.count() == r2.rYearNums.count()
- && mFeb29YearlyType == r2.mFeb29YearlyType;
- case rYearlyDay:
- return rYearNums == r2.rYearNums;
+ case rMonthlyPos: {
+ QPtrList<rMonthPos> MonthPositions = rMonthPositions;
+ QPtrList<rMonthPos> MonthPositions2 = r2.rMonthPositions;
+ if ( !MonthPositions.count() )
+ return false;
+ if ( !MonthPositions2.count() )
+ return false;
+ return MonthPositions.first()->rPos == MonthPositions2.first()->rPos;
+ }
+ case rMonthlyDay: {
+ QPtrList<int> MonthDays = rMonthDays ;
+ QPtrList<int> MonthDays2 = r2.rMonthDays ;
+ if ( !MonthDays.count() )
+ return false;
+ if ( !MonthDays2.count() )
+ return false;
+ return *MonthDays.first() == *MonthDays2.first() ;
+ }
+ case rYearlyPos: {
+
+ QPtrList<int> YearNums = rYearNums;
+ QPtrList<int> YearNums2 = r2.rYearNums;
+ if ( *YearNums.first() != *YearNums2.first() )
+ return false;
+ QPtrList<rMonthPos> MonthPositions = rMonthPositions;
+ QPtrList<rMonthPos> MonthPositions2 = r2.rMonthPositions;
+ if ( !MonthPositions.count() )
+ return false;
+ if ( !MonthPositions2.count() )
+ return false;
+ return MonthPositions.first()->rPos == MonthPositions2.first()->rPos;
+
+ }
+ case rYearlyMonth: {
+ QPtrList<int> YearNums = rYearNums;
+ QPtrList<int> YearNums2 = r2.rYearNums;
+ return ( *YearNums.first() == *YearNums2.first() && mFeb29YearlyType == r2.mFeb29YearlyType);
+ }
+ case rYearlyDay: {
+ QPtrList<int> YearNums = rYearNums;
+ QPtrList<int> YearNums2 = r2.rYearNums;
+ return ( *YearNums.first() == *YearNums2.first() );
+ }
case rNone:
case rMinutely:
diff --git a/libkcal/sharpformat.cpp b/libkcal/sharpformat.cpp
index defdb09..89eb72f 100644
--- a/libkcal/sharpformat.cpp
+++ b/libkcal/sharpformat.cpp
@@ -181,6 +181,7 @@ class SharpParser : public QObject
alarm = new Alarm( event );
event->addAlarm( alarm );
+ alarm->setType( Alarm::Audio );
}
- alarm->setType( Alarm::Audio );
+ //alarm->setType( Alarm::Audio );
alarm->setEnabled( true );
int alarmOffset = attList[9].toInt();
@@ -369,5 +370,6 @@ ulong SharpFormat::getCsum( const QStringList & attList)
}
#include <stdlib.h>
-#define DEBUGMODE false
+//#define DEBUGMODE false
+#define DEBUGMODE true
bool SharpFormat::load( Calendar *calendar, Calendar *existngCal )
{
@@ -375,5 +377,4 @@ bool SharpFormat::load( Calendar *calendar, Calendar *existngCal )
bool debug = DEBUGMODE;
- //debug = true;
QString text;
QString codec = "utf8";