summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--Makefile2
-rw-r--r--kde2file/caldump/main.cpp77
-rw-r--r--libkdepim/ksyncmanager.cpp7
3 files changed, 63 insertions, 23 deletions
diff --git a/Makefile b/Makefile
index 93437e6..4d562fe 100644
--- a/Makefile
+++ b/Makefile
@@ -2,3 +2,3 @@
# Makefile for building: kdepim-desktop
-# Generated by qmake (1.07a) (Qt 3.3.3) on: Sat Oct 16 22:32:03 2004
+# Generated by qmake (1.07a) (Qt 3.3.3) on: Sun Oct 17 11:53:22 2004
# Project: kdepim-desktop.pro
diff --git a/kde2file/caldump/main.cpp b/kde2file/caldump/main.cpp
index 76bfad3..8d81307 100644
--- a/kde2file/caldump/main.cpp
+++ b/kde2file/caldump/main.cpp
@@ -56,2 +56,3 @@
#include <qfile.h>
+#include <qdir.h>
@@ -107,6 +108,9 @@ int main( int argc, char *argv[] )
}
+ QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics";
CalendarResources *calendarResource = 0;
CalendarLocal *localCalendar = 0;
-
- calendarResource = new CalendarResources( "" );
+ KConfig c( locate( "config", "korganizerrc" ) );
+ c.setGroup( "Time & Date" );
+ QString tz = c.readEntry( "TimeZoneId" );
+ calendarResource = new CalendarResources( tz );
calendarResource->readConfig();
@@ -114,3 +118,3 @@ int main( int argc, char *argv[] )
qDebug("************************************* ");
- qDebug("************************************* ");
+ qDebug("**************kdecaldump************* ");
qDebug("************************************* ");
@@ -140,3 +144,3 @@ int main( int argc, char *argv[] )
FileStorage* storage = new FileStorage( calendarResource );
- storage->setFileName( "/tmp/kdedumpall.ics" );
+ storage->setFileName( fileName );
storage->setSaveFormat( new ICalFormat() );
@@ -145,5 +149,5 @@ int main( int argc, char *argv[] )
qDebug("************************************* ");
+ qDebug("************kdecaldump*************** ");
qDebug("************************************* ");
- qDebug("************************************* ");
- qDebug("%d calendar entries dumped to file /tmp/kdedumpall.ics", num);
+ qDebug("%d calendar entries dumped to file %s", num, fileName.latin1());
@@ -153,9 +157,47 @@ int main( int argc, char *argv[] )
FileStorage* storage = new FileStorage( localCalendar );
- storage->setFileName( "/tmp/kdedumpall.ics" );
+ storage->setFileName( fileName );
int num = 0;
int del = 0;
+ int add = 0;
if ( storage->load() ) {
- KCal::Incidence::List allInc = calendarResource->rawIncidences();
KCal::Incidence::List newInc = localCalendar->rawIncidences();
Incidence::List::ConstIterator it;
+ for( it = newInc.begin(); it != newInc.end(); ++it ) {
+ Incidence* cl = (*it)->clone();
+ Incidence *incOld = calendarResource->incidence( cl->uid() );
+ ResourceCalendar * res = 0;
+ if ( incOld )
+ res = calendarResource->resource( incOld );
+ if ( res ) {
+ ++num;
+ if ( incOld->type() == "Journal" )
+ calendarResource->deleteJournal( (Journal *) incOld );
+ else if ( incOld->type() == "Todo" )
+ calendarResource->deleteTodo( (Todo *) incOld );
+ else if ( incOld->type() == "Event" )
+ calendarResource->deleteEvent( (Event *) incOld );
+
+ if ( cl->type() == "Journal" )
+ calendarResource->addJournal( (Journal *) cl, res );
+ else if ( cl->type() == "Todo" )
+ calendarResource->addTodo( (Todo *) cl, res );
+ else if ( cl->type() == "Event" )
+ calendarResource->addEvent( (Event *) cl, res );
+
+ } else {
+ if ( incOld ) {
+ qDebug("ERROR: no resource found for old incidence ");
+ if ( incOld->type() == "Journal" )
+ calendarResource->deleteJournal( (Journal *) incOld );
+ else if ( incOld->type() == "Todo" )
+ calendarResource->deleteTodo( (Todo *) incOld );
+ else if ( incOld->type() == "Event" )
+ calendarResource->deleteEvent( (Event *) incOld );
+
+ }
+ calendarResource->addIncidence( cl );
+ ++add;
+ }
+ KCal::Incidence::List allInc = calendarResource->rawIncidences();
+
for( it = allInc.begin(); it != allInc.end(); ++it ) {
@@ -164,7 +206,3 @@ int main( int argc, char *argv[] )
Incidence* cl = localCalendar->incidence( (*it)->uid() );
- if ( cl ) {
- QDateTime lm = cl->lastModified();
- cl->setResources( (*it)->resources() );
- cl->setLastModified(lm);
- }
+ if ( !cl ) {
++del;
@@ -177,9 +215,8 @@ int main( int argc, char *argv[] )
calendarResource->deleteEvent( (Event *) cl );
+ //QDateTime lm = cl->lastModified();
+ //cl->setResources( (*it)->resources() );
+ //cl->setLastModified(lm);
+ }
}
}
- for( it = newInc.begin(); it != newInc.end(); ++it ) {
- Incidence* cl = (*it)->clone();
- ++num;
- calendarResource->addIncidence( cl );
- //cl->setLastModified( (*it)->lastModified() );
}
@@ -187,5 +224,5 @@ int main( int argc, char *argv[] )
qDebug("************************************* ");
+ qDebug("************kdecaldump*************** ");
qDebug("************************************* ");
- qDebug("************************************* ");
- qDebug("%d calendar entries deleted/ %d added from file /tmp/kdedumpall.ics", del, num);
+ qDebug("Calendar entries\nchanged %d\ndeleted %d\nadded %d\nfrom file %s", num,del, add, fileName.latin1());
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index c6e06f8..8851097 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -783,5 +783,8 @@ void KSyncManager::syncKDE()
{
- QString command ="./kdecaldump";
+ QString command = qApp->applicationDirPath () + "/kdecaldump";
+ if ( ! QFile::exists ( command ) )
+ command = "kdecaldump";
+ QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics";
system ( command.latin1());
- if ( syncWithFile( "/tmp/kdedumpall.ics",true ) ) {
+ if ( syncWithFile( fileName,true ) ) {
if ( mWriteBackFile ) {