From 4f05a9fcbb9e54184aef93883886aaf865104463 Mon Sep 17 00:00:00 2001 From: zautrix Date: Mon, 09 Aug 2004 18:02:44 +0000 Subject: more syncing --- diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index cce182a..6c0aa9b 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -1069,9 +1069,28 @@ void MainWindow::usertrans() displayFile( "usertranslationHOWTO.txt",i18n("KO/Pi User translation HowTo") ); } +#if 0 +#include +#include +#include +#include +#endif void MainWindow::synchowto() { - +#if 0 + QPtrList er = mCalendar->rawIncidences(); + Incidence* inR = er.first(); + VCalFormat vf; + QString strout; + while ( inR ) { + if ( inR->type() == "Todo" ) + strout = vf.todoToString( (Todo *) inR ); + if ( inR->type() == "Event" ) + strout = vf.eventToString( (Event *) inR ); + qDebug("incidence: \n%s\n ente\n\n",strout.latin1() ); + inR = er.next(); + } +#endif displayFile( "howtoSYNC.txt",i18n("KO/Pi Synchronization HowTo") ); } void MainWindow::faq() diff --git a/libkcal/phoneformat.cpp b/libkcal/phoneformat.cpp index 11c68c5..e6d4879 100644 --- a/libkcal/phoneformat.cpp +++ b/libkcal/phoneformat.cpp @@ -870,59 +870,17 @@ bool PhoneFormat::load( Calendar *calendar, Calendar *existingCal) } void PhoneFormat::event2GSM( Event* ev, GSM_CalendarEntry*Note ) { - + QString eText = vfconverter.eventToString( ev ); + int pos = 0; + GSM_ToDoEntry dummy; + GSM_DecodeVCALENDAR_VTODO( (unsigned char*)eText.latin1(), &pos, Note , &dummy, Nokia_VCalendar, Nokia_VToDo ); } -void PhoneFormat::todo2GSM( Todo* todo, GSM_ToDoEntry *gsm ) +void PhoneFormat::todo2GSM( Todo* todo, GSM_ToDoEntry *gsmTodo ) { -#if 0 - QStringList list; - list.append( QString::number( todo->zaurusId() ) ); - list.append( todo->categories().join(",") ); - - if ( todo->hasStartDate() ) { - list.append( dtToString( todo->dtStart()) ); - } else - list.append( QString() ); - - if ( todo->hasDueDate() ) { - QTime tim; - if ( todo->doesFloat()) { - list.append( dtToString( QDateTime(todo->dtDue().date(),QTime( 0,0,0 )), false)) ; - } else { - list.append( dtToString(todo->dtDue() ) ); - } - } else - list.append( QString() ); - - if ( todo->isCompleted() ) { - list.append( dtToString( todo->completed()) ); - list.append( "0" ); // yes 0 == completed - } else { - list.append( dtToString( todo->completed()) ); - list.append( "1" ); - } - list.append( QString::number( todo->priority() )); - if( ! todo->summary().isEmpty() ) - list.append( todo->summary() ); - else - list.append( "" ); - if (! todo->description().isEmpty() ) - list.append( todo->description() ); - else - list.append( "" ); - for(QStringList::Iterator it=list.begin(); - it!=list.end(); ++it){ - QString& s = (*it); - s.replace(QRegExp("\""), "\"\""); - if(s.contains(QRegExp("[,\"\r\n]")) || s.stripWhiteSpace() != s){ - s.prepend('\"'); - s.append('\"'); - } else if(s.isEmpty() && !s.isNull()){ - s = "\"\""; - } - } - return list.join(","); -#endif + QString tText = vfconverter.todoToString( todo ); + int pos = 0; + GSM_CalendarEntry dummy; + GSM_DecodeVCALENDAR_VTODO( (unsigned char*)tText.latin1(), &pos, &dummy, gsmTodo, Nokia_VCalendar, Nokia_VToDo ); } void PhoneFormat::afterSave( Incidence* inc) { diff --git a/libkcal/phoneformat.h b/libkcal/phoneformat.h index 7b7dd04..33b2091 100644 --- a/libkcal/phoneformat.h +++ b/libkcal/phoneformat.h @@ -25,6 +25,7 @@ #include "scheduler.h" +#include "vcalformat.h" #include "calformat.h" extern "C" { #include "../gammu/emb/common/gammu.h" @@ -50,6 +51,7 @@ class PhoneFormat : public QObject { static ulong getCsumTodo( Todo* to ); static ulong getCsumEvent( Event* ev ); private: + VCalFormat vfconverter; void event2GSM( Event* ev, GSM_CalendarEntry*Note ); void todo2GSM( Todo* ev, GSM_ToDoEntry *ToDo ); int initDevice(GSM_StateMachine *s); diff --git a/libkcal/vcalformat.cpp b/libkcal/vcalformat.cpp index 72a781a..1167e58 100644 --- a/libkcal/vcalformat.cpp +++ b/libkcal/vcalformat.cpp @@ -165,6 +165,25 @@ bool VCalFormat::fromString( Calendar *calendar, const QString &text ) return true; } +QString VCalFormat::eventToString( Event * event) +{ + if ( !event ) return QString::null; + VObject *vevent = eventToVEvent( event ); + char *buf = writeMemVObject( 0, 0, vevent ); + QString result( buf ); + cleanVObject( vevent ); + return result; +} +QString VCalFormat::todoToString( Todo * todo ) +{ + if ( !todo ) return QString::null; + VObject *vevent = eventToVTodo( todo ); + char *buf = writeMemVObject( 0, 0, vevent ); + QString result( buf ); + cleanVObject( vevent ); + return result; +} + QString VCalFormat::toString( Calendar *calendar ) { // TODO: Factor out VCalFormat::asString() diff --git a/libkcal/vcalformat.h b/libkcal/vcalformat.h index d4cecbc..8490125 100644 --- a/libkcal/vcalformat.h +++ b/libkcal/vcalformat.h @@ -62,6 +62,8 @@ class VCalFormat : public CalFormat { Return calendar information as string. */ QString toString( Calendar * ); + QString eventToString( Event * ); + QString todoToString( Todo * ); protected: /** translates a VObject of the TODO type into a Event */ -- cgit v0.9.0.2