summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile2
-rw-r--r--libkcal/phoneformat.cpp16
-rw-r--r--libkcal/sharpformat.cpp8
3 files changed, 23 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index cfaec5a..c1d07e4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,27 +1,27 @@
1############################################################################# 1#############################################################################
2# Makefile for building: kopi-desktop 2# Makefile for building: kopi-desktop
3# Generated by qmake (1.07a) (Qt 3.3.2) on: Sun Aug 8 12:23:00 2004 3# Generated by qmake (1.07a) (Qt 3.3.3) on: Mon Aug 9 12:10:32 2004
4# Project: kopi-desktop.pro 4# Project: kopi-desktop.pro
5# Template: subdirs 5# Template: subdirs
6# Command: $(QMAKE) "CONFIG+=thread" "CONFIG+=debug" -o Makefile kopi-desktop.pro 6# Command: $(QMAKE) "CONFIG+=thread" "CONFIG+=debug" -o Makefile kopi-desktop.pro
7############################################################################# 7#############################################################################
8 8
9 MAKEFILE =Makefile 9 MAKEFILE =Makefile
10 QMAKE =qmake 10 QMAKE =qmake
11DEL_FILE = rm -f 11DEL_FILE = rm -f
12CHK_DIR_EXISTS= test -d 12CHK_DIR_EXISTS= test -d
13MKDIR = mkdir -p 13MKDIR = mkdir -p
14INSTALL_FILE= 14INSTALL_FILE=
15INSTALL_DIR = 15INSTALL_DIR =
16 SUBTARGETS = \ 16 SUBTARGETS = \
17 sub-gammu-emb-common \ 17 sub-gammu-emb-common \
18 sub-libical \ 18 sub-libical \
19 sub-libkcal \ 19 sub-libkcal \
20 sub-microkde \ 20 sub-microkde \
21 sub-libkdepim \ 21 sub-libkdepim \
22 sub-kabc \ 22 sub-kabc \
23 sub-korganizer \ 23 sub-korganizer \
24 sub-kaddressbook \ 24 sub-kaddressbook \
25 sub-kabc-plugins-file \ 25 sub-kabc-plugins-file \
26 sub-kabc-plugins-dir 26 sub-kabc-plugins-dir
27 27
diff --git a/libkcal/phoneformat.cpp b/libkcal/phoneformat.cpp
index 7e1c9cd..94744fb 100644
--- a/libkcal/phoneformat.cpp
+++ b/libkcal/phoneformat.cpp
@@ -149,50 +149,56 @@ public:
149 printmsg("Contact : %d\n",ToDo->Entries[j].Number); 149 printmsg("Contact : %d\n",ToDo->Entries[j].Number);
150 } 150 }
151#endif 151#endif
152 break; 152 break;
153 case TODO_PHONE: 153 case TODO_PHONE:
154#if 0 154#if 0
155 // not supported 155 // not supported
156 printmsg("Phone : \"%s\"\n",DecodeUnicodeConsole(ToDo->Entries[j].Text)); 156 printmsg("Phone : \"%s\"\n",DecodeUnicodeConsole(ToDo->Entries[j].Text));
157#endif 157#endif
158 break; 158 break;
159 } 159 }
160 } 160 }
161 QString alarmString = ""; 161 QString alarmString = "";
162 if ( alarm ) { 162 if ( alarm ) {
163 Alarm *alarm; 163 Alarm *alarm;
164 if ( todo->alarms().count() > 0 ) 164 if ( todo->alarms().count() > 0 )
165 alarm = todo->alarms().first(); 165 alarm = todo->alarms().first();
166 else { 166 else {
167 alarm = new Alarm( todo ); 167 alarm = new Alarm( todo );
168 todo->addAlarm( alarm ); 168 todo->addAlarm( alarm );
169 } 169 }
170 alarm->setType( Alarm::Audio ); 170 alarm->setType( Alarm::Audio );
171 alarm->setEnabled( true ); 171 alarm->setEnabled( true );
172 int alarmOffset = alarmDt.secsTo( todo->dtStart() ); 172 int alarmOffset = alarmDt.secsTo( todo->dtStart() );
173 alarm->setStartOffset( alarmOffset ); 173 alarm->setStartOffset( -alarmOffset );
174 alarmString = QString::number( alarmOffset ); 174 alarmString = QString::number( alarmOffset );
175 } else {
176 Alarm *alarm;
177 if ( todo->alarms().count() > 0 ) {
178 alarm = todo->alarms().first();
179 alarm->setEnabled( false );
180 }
175 } 181 }
176 // csum ***************************************** 182 // csum *****************************************
177 QStringList attList; 183 QStringList attList;
178 uint cSum; 184 uint cSum;
179 if ( todo->hasDueDate() ) 185 if ( todo->hasDueDate() )
180 attList << dtToString ( todo->dtDue() ); 186 attList << dtToString ( todo->dtDue() );
181 attList << QString::number( id ); 187 attList << QString::number( id );
182 attList << todo->summary(); 188 attList << todo->summary();
183 attList << completedString; 189 attList << completedString;
184 attList << QString::number( todo->priority() ); 190 attList << QString::number( todo->priority() );
185 attList << alarmString; 191 attList << alarmString;
186 attList << todo->categoriesStr(); 192 attList << todo->categoriesStr();
187 attList << todo->secrecyStr(); 193 attList << todo->secrecyStr();
188 cSum = PhoneFormat::getCsum(attList ); 194 cSum = PhoneFormat::getCsum(attList );
189 todo->setCsum( mProfileName, QString::number( cSum )); 195 todo->setCsum( mProfileName, QString::number( cSum ));
190 mCalendar->addTodo( todo); 196 mCalendar->addTodo( todo);
191 197
192 return true; 198 return true;
193 } 199 }
194 bool readEvent( Calendar *existingCalendar, GSM_CalendarEntry*Note) 200 bool readEvent( Calendar *existingCalendar, GSM_CalendarEntry*Note)
195 { 201 {
196 202
197 int id = Note->Location; 203 int id = Note->Location;
198 Event *event; 204 Event *event;
@@ -427,50 +433,56 @@ public:
427 else 433 else
428 r->setYearly( Recurrence::rYearlyMonth, freq, -1 ); 434 r->setYearly( Recurrence::rYearlyMonth, freq, -1 );
429 r->addYearlyNum( startDate.month() ); 435 r->addYearlyNum( startDate.month() );
430 } 436 }
431 } else { 437 } else {
432 event->recurrence()->unsetRecurs(); 438 event->recurrence()->unsetRecurs();
433 } 439 }
434 440
435 QStringList categoryList; 441 QStringList categoryList;
436 categoryList << getCategory( Note ); 442 categoryList << getCategory( Note );
437 event->setCategories( categoryList ); 443 event->setCategories( categoryList );
438 QString alarmString = ""; 444 QString alarmString = "";
439 // strange 0 semms to mean: alarm enabled 445 // strange 0 semms to mean: alarm enabled
440 if ( alarm ) { 446 if ( alarm ) {
441 Alarm *alarm; 447 Alarm *alarm;
442 if ( event->alarms().count() > 0 ) 448 if ( event->alarms().count() > 0 )
443 alarm = event->alarms().first(); 449 alarm = event->alarms().first();
444 else { 450 else {
445 alarm = new Alarm( event ); 451 alarm = new Alarm( event );
446 event->addAlarm( alarm ); 452 event->addAlarm( alarm );
447 } 453 }
448 alarm->setType( Alarm::Audio ); 454 alarm->setType( Alarm::Audio );
449 alarm->setEnabled( true ); 455 alarm->setEnabled( true );
450 int alarmOffset = alarmDt.secsTo( event->dtStart() ); 456 int alarmOffset = alarmDt.secsTo( event->dtStart() );
451 alarm->setStartOffset( alarmOffset ); 457 alarm->setStartOffset( -alarmOffset );
452 alarmString = QString::number( alarmOffset ); 458 alarmString = QString::number( alarmOffset );
459 } else {
460 Alarm *alarm;
461 if ( event->alarms().count() > 0 ) {
462 alarm = event->alarms().first();
463 alarm->setEnabled( false );
464 }
453 } 465 }
454 // csum ***************************************** 466 // csum *****************************************
455 QStringList attList; 467 QStringList attList;
456 uint cSum; 468 uint cSum;
457 attList << dtToString ( event->dtStart() ); 469 attList << dtToString ( event->dtStart() );
458 attList << dtToString ( event->dtEnd() ); 470 attList << dtToString ( event->dtEnd() );
459 attList << QString::number( id ); 471 attList << QString::number( id );
460 attList << event->summary(); 472 attList << event->summary();
461 attList << event->location(); 473 attList << event->location();
462 attList << alarmString; 474 attList << alarmString;
463 attList << recurString; 475 attList << recurString;
464 attList << event->categoriesStr(); 476 attList << event->categoriesStr();
465 attList << event->secrecyStr(); 477 attList << event->secrecyStr();
466 cSum = PhoneFormat::getCsum(attList ); 478 cSum = PhoneFormat::getCsum(attList );
467 event->setCsum( mProfileName, QString::number( cSum )); 479 event->setCsum( mProfileName, QString::number( cSum ));
468 mCalendar->addEvent( event); 480 mCalendar->addEvent( event);
469 481
470 return true; 482 return true;
471 } 483 }
472 484
473 485
474 QDateTime fromGSM ( GSM_DateTime*dtp, bool useTz = true ) { 486 QDateTime fromGSM ( GSM_DateTime*dtp, bool useTz = true ) {
475 QDateTime dt; 487 QDateTime dt;
476 int y,m,t,h,min,sec; 488 int y,m,t,h,min,sec;
diff --git a/libkcal/sharpformat.cpp b/libkcal/sharpformat.cpp
index 4e54fdf..f8b066d 100644
--- a/libkcal/sharpformat.cpp
+++ b/libkcal/sharpformat.cpp
@@ -144,66 +144,74 @@ class SharpParser : public QObject
144 if ( hasEndDate ) r->setWeekly( freq, weekDays, endDate ); 144 if ( hasEndDate ) r->setWeekly( freq, weekDays, endDate );
145 else r->setWeekly( freq, weekDays, -1 ); 145 else r->setWeekly( freq, weekDays, -1 );
146 } else if ( rtype == "3" ) { 146 } else if ( rtype == "3" ) {
147 if ( hasEndDate ) 147 if ( hasEndDate )
148 r->setMonthly( Recurrence::rMonthlyDay, freq, endDate ); 148 r->setMonthly( Recurrence::rMonthlyDay, freq, endDate );
149 else 149 else
150 r->setMonthly( Recurrence::rMonthlyDay, freq, -1 ); 150 r->setMonthly( Recurrence::rMonthlyDay, freq, -1 );
151 r->addMonthlyDay( startDate.day() ); 151 r->addMonthlyDay( startDate.day() );
152 } else if ( rtype == "2" ) { 152 } else if ( rtype == "2" ) {
153 if ( hasEndDate ) 153 if ( hasEndDate )
154 r->setMonthly( Recurrence::rMonthlyPos, freq, endDate ); 154 r->setMonthly( Recurrence::rMonthlyPos, freq, endDate );
155 else 155 else
156 r->setMonthly( Recurrence::rMonthlyPos, freq, -1 ); 156 r->setMonthly( Recurrence::rMonthlyPos, freq, -1 );
157 QBitArray days( 7 ); 157 QBitArray days( 7 );
158 days.fill( false ); 158 days.fill( false );
159 days.setBit( startDate.dayOfWeek() - 1 ); 159 days.setBit( startDate.dayOfWeek() - 1 );
160 r->addMonthlyPos( pos, days ); 160 r->addMonthlyPos( pos, days );
161 } else if ( rtype == "4" ) { 161 } else if ( rtype == "4" ) {
162 if ( hasEndDate ) 162 if ( hasEndDate )
163 r->setYearly( Recurrence::rYearlyMonth, freq, endDate ); 163 r->setYearly( Recurrence::rYearlyMonth, freq, endDate );
164 else 164 else
165 r->setYearly( Recurrence::rYearlyMonth, freq, -1 ); 165 r->setYearly( Recurrence::rYearlyMonth, freq, -1 );
166 r->addYearlyNum( startDate.month() ); 166 r->addYearlyNum( startDate.month() );
167 } 167 }
168 } else {
169 event->recurrence()->unsetRecurs();
168 } 170 }
169 171
170 QString categoryList = attList[1] ; 172 QString categoryList = attList[1] ;
171 event->setCategories( lookupCategories( categoryList ) ); 173 event->setCategories( lookupCategories( categoryList ) );
172 174
173 // strange 0 semms to mean: alarm enabled 175 // strange 0 semms to mean: alarm enabled
174 if ( attList[8] == "0" ) { 176 if ( attList[8] == "0" ) {
175 Alarm *alarm; 177 Alarm *alarm;
176 if ( event->alarms().count() > 0 ) 178 if ( event->alarms().count() > 0 )
177 alarm = event->alarms().first(); 179 alarm = event->alarms().first();
178 else { 180 else {
179 alarm = new Alarm( event ); 181 alarm = new Alarm( event );
180 event->addAlarm( alarm ); 182 event->addAlarm( alarm );
181 } 183 }
182 alarm->setType( Alarm::Audio ); 184 alarm->setType( Alarm::Audio );
183 alarm->setEnabled( true ); 185 alarm->setEnabled( true );
184 int alarmOffset = attList[9].toInt(); 186 int alarmOffset = attList[9].toInt();
185 alarm->setStartOffset( alarmOffset * -60 ); 187 alarm->setStartOffset( alarmOffset * -60 );
188 } else {
189 Alarm *alarm;
190 if ( event->alarms().count() > 0 ) {
191 alarm = event->alarms().first();
192 alarm->setEnabled( false );
193 }
186 } 194 }
187 195
188 mCalendar->addEvent( event); 196 mCalendar->addEvent( event);
189 } else if ( qName == "Todo" ) { 197 } else if ( qName == "Todo" ) {
190 Todo *todo; 198 Todo *todo;
191 199
192 todo = existingCalendar->todo( "Sharp_DTM", attList[0] ); 200 todo = existingCalendar->todo( "Sharp_DTM", attList[0] );
193 if (todo ) 201 if (todo )
194 todo = (Todo*)todo->clone(); 202 todo = (Todo*)todo->clone();
195 else 203 else
196 todo = new Todo; 204 todo = new Todo;
197 205
198//CARDID,CATEGORY,ETDY,LTDY,FNDY,MARK,PRTY,TITL,MEM1 206//CARDID,CATEGORY,ETDY,LTDY,FNDY,MARK,PRTY,TITL,MEM1
199// 0 1 2 3 4 5 6 7 8 207// 0 1 2 3 4 5 6 7 8
200//1,,,,,1,4,Loch zumachen,"" 208//1,,,,,1,4,Loch zumachen,""
201//3,Privat,20040317T000000,20040318T000000,20040319T000000,0,5,Call bbb,"notes123 bbb gggg ""bb "" " 209//3,Privat,20040317T000000,20040318T000000,20040319T000000,0,5,Call bbb,"notes123 bbb gggg ""bb "" "
202//2,"Familie,Freunde,Holiday",20040318T000000,20040324T000000,20040317T000000,1,2,tod2,notes 210//2,"Familie,Freunde,Holiday",20040318T000000,20040324T000000,20040317T000000,1,2,tod2,notes
203 211
204 todo->setID( "Sharp_DTM", attList[0]); 212 todo->setID( "Sharp_DTM", attList[0]);
205 todo->setCsum( "Sharp_DTM", QString::number( cSum )); 213 todo->setCsum( "Sharp_DTM", QString::number( cSum ));
206 todo->setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL ); 214 todo->setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL );
207 215
208 todo->setSummary( attList[7] ); 216 todo->setSummary( attList[7] );
209 todo->setDescription( attList[8]); 217 todo->setDescription( attList[8]);