summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-11-25 23:24:37 (UTC)
committer zautrix <zautrix>2005-11-25 23:24:37 (UTC)
commit3cd0013c04172b312ee21e80224a3b7734b4d413 (patch) (unidiff)
tree9c5557ecfe874a8a4901a674c5eddcc91f585b0c
parent0e18027f386280bf427ef9d0ffec61a5516cebda (diff)
downloadkdepimpi-3cd0013c04172b312ee21e80224a3b7734b4d413.zip
kdepimpi-3cd0013c04172b312ee21e80224a3b7734b4d413.tar.gz
kdepimpi-3cd0013c04172b312ee21e80224a3b7734b4d413.tar.bz2
sync
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/calendar.cpp2
-rw-r--r--libkcal/calendarlocal.cpp12
-rw-r--r--libkcal/incidencebase.cpp7
-rw-r--r--libkcal/incidencebase.h1
-rw-r--r--libkdepim/ksyncmanager.cpp2
-rw-r--r--libkdepim/ksyncprefsdialog.cpp2
6 files changed, 17 insertions, 9 deletions
diff --git a/libkcal/calendar.cpp b/libkcal/calendar.cpp
index b1806ee..8535191 100644
--- a/libkcal/calendar.cpp
+++ b/libkcal/calendar.cpp
@@ -351,65 +351,65 @@ QPtrList<Event> Calendar::events( const QDateTime &qdt )
351 mFilter->apply(&el); 351 mFilter->apply(&el);
352 return el; 352 return el;
353} 353}
354 354
355QPtrList<Event> Calendar::events( const QDate &start, const QDate &end, 355QPtrList<Event> Calendar::events( const QDate &start, const QDate &end,
356 bool inclusive) 356 bool inclusive)
357{ 357{
358 QPtrList<Event> el = rawEvents(start,end,inclusive); 358 QPtrList<Event> el = rawEvents(start,end,inclusive);
359 mFilter->apply(&el); 359 mFilter->apply(&el);
360 return el; 360 return el;
361} 361}
362 362
363QPtrList<Event> Calendar::events() 363QPtrList<Event> Calendar::events()
364{ 364{
365 QPtrList<Event> el = rawEvents(); 365 QPtrList<Event> el = rawEvents();
366 mFilter->apply(&el); 366 mFilter->apply(&el);
367 return el; 367 return el;
368} 368}
369void Calendar::addIncidenceBranch(Incidence *i) 369void Calendar::addIncidenceBranch(Incidence *i)
370{ 370{
371 addIncidence( i ); 371 addIncidence( i );
372 Incidence * inc; 372 Incidence * inc;
373 QPtrList<Incidence> Relations = i->relations(); 373 QPtrList<Incidence> Relations = i->relations();
374 for (inc=Relations.first();inc;inc=Relations.next()) { 374 for (inc=Relations.first();inc;inc=Relations.next()) {
375 addIncidenceBranch( inc ); 375 addIncidenceBranch( inc );
376 } 376 }
377} 377}
378 378
379bool Calendar::addIncidence(Incidence *i) 379bool Calendar::addIncidence(Incidence *i)
380{ 380{
381 Incidence::AddVisitor<Calendar> v(this); 381 Incidence::AddVisitor<Calendar> v(this);
382 if ( i->calID() == 0 ) 382 if ( i->calID() == 0 )
383 i->setCalID( mDefaultCalendar ); 383 i->setCalID_block( mDefaultCalendar );
384 i->setCalEnabled( true ); 384 i->setCalEnabled( true );
385 return i->accept(v); 385 return i->accept(v);
386} 386}
387void Calendar::deleteIncidence(Incidence *in) 387void Calendar::deleteIncidence(Incidence *in)
388{ 388{
389 if ( in->typeID() == eventID ) 389 if ( in->typeID() == eventID )
390 deleteEvent( (Event*) in ); 390 deleteEvent( (Event*) in );
391 else if ( in->typeID() == todoID ) 391 else if ( in->typeID() == todoID )
392 deleteTodo( (Todo*) in); 392 deleteTodo( (Todo*) in);
393 else if ( in->typeID() == journalID ) 393 else if ( in->typeID() == journalID )
394 deleteJournal( (Journal*) in ); 394 deleteJournal( (Journal*) in );
395} 395}
396 396
397Incidence* Calendar::incidence( const QString& uid ) 397Incidence* Calendar::incidence( const QString& uid )
398{ 398{
399 Incidence* i; 399 Incidence* i;
400 400
401 if( (i = todo( uid )) != 0 ) 401 if( (i = todo( uid )) != 0 )
402 return i; 402 return i;
403 if( (i = event( uid )) != 0 ) 403 if( (i = event( uid )) != 0 )
404 return i; 404 return i;
405 if( (i = journal( uid )) != 0 ) 405 if( (i = journal( uid )) != 0 )
406 return i; 406 return i;
407 407
408 return 0; 408 return 0;
409} 409}
410 410
411QPtrList<Todo> Calendar::todos() 411QPtrList<Todo> Calendar::todos()
412{ 412{
413 QPtrList<Todo> tl = rawTodos(); 413 QPtrList<Todo> tl = rawTodos();
414 mFilter->apply( &tl ); 414 mFilter->apply( &tl );
415 return tl; 415 return tl;
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp
index c82ea92..b02f706 100644
--- a/libkcal/calendarlocal.cpp
+++ b/libkcal/calendarlocal.cpp
@@ -120,124 +120,124 @@ Incidence* CalendarLocal::incidenceForUid( const QString& uid , bool doNotCheckD
120 } 120 }
121 } else { 121 } else {
122 retVal = it; 122 retVal = it;
123 } 123 }
124 } 124 }
125 return retVal; 125 return retVal;
126} 126}
127 127
128bool CalendarLocal::mergeCalendar( Calendar* remote ) 128bool CalendarLocal::mergeCalendar( Calendar* remote )
129{ 129{
130 // 1 look for raw inc in local 130 // 1 look for raw inc in local
131 // if inc not in remote, delete in local 131 // if inc not in remote, delete in local
132 // 2 look for raw inc in remote 132 // 2 look for raw inc in remote
133 // if inc in local, replace it 133 // if inc in local, replace it
134 // if not in local, add it to default calendar 134 // if not in local, add it to default calendar
135 QPtrList<Incidence> localInc = rawIncidences(); 135 QPtrList<Incidence> localInc = rawIncidences();
136 Incidence* inL = localInc.first(); 136 Incidence* inL = localInc.first();
137 while ( inL ) { 137 while ( inL ) {
138 if ( ! inL->isReadOnly () ) 138 if ( ! inL->isReadOnly () )
139 if ( !remote->incidenceForUid( inL->uid(), true )) 139 if ( !remote->incidenceForUid( inL->uid(), true ))
140 deleteIncidence( inL ); 140 deleteIncidence( inL );
141 inL = localInc.next(); 141 inL = localInc.next();
142 } 142 }
143 QPtrList<Incidence> er = remote->rawIncidences(); 143 QPtrList<Incidence> er = remote->rawIncidences();
144 Incidence* inR = er.first(); 144 Incidence* inR = er.first();
145 while ( inR ) { 145 while ( inR ) {
146 inL = incidenceForUid( inR->uid(),false ); 146 inL = incidenceForUid( inR->uid(),false );
147 if ( inL ) { 147 if ( inL ) {
148 if ( ! inL->isReadOnly () || inL->uid().left(15) == QString("last-syncEvent-") ) { 148 if ( ! inL->isReadOnly () || inL->uid().left(15) == QString("last-syncEvent-") ) {
149 int calID = inL->calID(); 149 int calID = inL->calID();
150 deleteIncidence( inL ); 150 deleteIncidence( inL );
151 inL = inR->clone(); 151 inL = inR->clone();
152 inL->setCalID( calID ); 152 inL->setCalID_block( calID );
153 addIncidence( inL ); 153 addIncidence( inL );
154 } 154 }
155 } else { 155 } else {
156 inL = inR->clone(); 156 inL = inR->clone();
157 inL->setCalID( 0 );// add to default cal 157 inL->setCalID_block( 0 );// add to default cal
158 addIncidence( inL ); 158 addIncidence( inL );
159 } 159 }
160 inR = er.next(); 160 inR = er.next();
161 } 161 }
162 return true; 162 return true;
163} 163}
164 164
165 165
166bool CalendarLocal::addCalendarFile( QString name, int id ) 166bool CalendarLocal::addCalendarFile( QString name, int id )
167{ 167{
168 CalendarLocal calendar( timeZoneId() ); 168 CalendarLocal calendar( timeZoneId() );
169 calendar.setDefaultCalendar( id ); 169 calendar.setDefaultCalendar( id );
170 if ( calendar.load( name ) ) { 170 if ( calendar.load( name ) ) {
171 addCalendar( &calendar ); 171 addCalendar( &calendar );
172 return true; 172 return true;
173 } 173 }
174 return false; 174 return false;
175} 175}
176void CalendarLocal::setSyncEventsEnabled() 176void CalendarLocal::setSyncEventsEnabled()
177{ 177{
178 Event * ev; 178 Event * ev;
179 ev = mEventList.first(); 179 ev = mEventList.first();
180 while ( ev ) { 180 while ( ev ) {
181 if ( ev->uid().left(15) == QString("last-syncEvent-") ) 181 if ( ev->uid().left(15) == QString("last-syncEvent-") )
182 ev->setCalEnabled( true ); 182 ev->setCalEnabled( true );
183 ev = mEventList.next(); 183 ev = mEventList.next();
184 } 184 }
185} 185}
186void CalendarLocal::setSyncEventsReadOnly() 186void CalendarLocal::setSyncEventsReadOnly()
187{ 187{
188 Event * ev; 188 Event * ev;
189 ev = mEventList.first(); 189 ev = mEventList.first();
190 while ( ev ) { 190 while ( ev ) {
191 if ( ev->uid().left(15) == QString("last-syncEvent-") ) { 191 if ( ev->uid().left(15) == QString("last-syncEvent-") ) {
192 ev->setReadOnly( true ); 192 ev->setReadOnly( true );
193 } 193 }
194 ev = mEventList.next(); 194 ev = mEventList.next();
195 } 195 }
196} 196}
197 197
198void CalendarLocal::addCalendar( Calendar* cal ) 198void CalendarLocal::addCalendar( Calendar* cal )
199{ 199{
200 cal->setDontDeleteIncidencesOnClose(); 200 cal->setDontDeleteIncidencesOnClose();
201 setSyncEventsEnabled(); 201 setSyncEventsEnabled();
202 { 202 {
203 QPtrList<Event> EventList = cal->rawEvents(); 203 QPtrList<Event> EventList = cal->rawEvents();
204 QPtrList<Event> el; 204 QPtrList<Event> el;
205 Event * ev = EventList.first(); 205 Event * ev = EventList.first();
206 while ( ev ) { 206 while ( ev ) {
207 if ( ev->uid().left( 15 ) == QString("last-syncEvent-") ) { 207 if ( ev->uid().left( 15 ) == QString("last-syncEvent-") ) {
208 Event * se = event( ev->uid() ); 208 Event * se = event( ev->uid() );
209 if ( se ) 209 if ( se )
210 el.append( se ); 210 el.append( se );
211 ev->setCalID( 1 ); 211 ev->setCalID_block( 1 );
212 } 212 }
213 ev->unRegisterObserver( cal ); 213 ev->unRegisterObserver( cal );
214 ev->registerObserver( this ); 214 ev->registerObserver( this );
215 mEventList.append( ev ); 215 mEventList.append( ev );
216 ev = EventList.next(); 216 ev = EventList.next();
217 } 217 }
218 for ( ev = el.first(); ev; ev = el.next() ) { 218 for ( ev = el.first(); ev; ev = el.next() ) {
219 deleteIncidence ( ev ); 219 deleteIncidence ( ev );
220 } 220 }
221 } 221 }
222 { 222 {
223 223
224 QPtrList<Todo> TodoList = cal->rawTodos(); 224 QPtrList<Todo> TodoList = cal->rawTodos();
225 Todo * ev = TodoList.first(); 225 Todo * ev = TodoList.first();
226 while ( ev ) { 226 while ( ev ) {
227 QString rel = ev->relatedToUid(); 227 QString rel = ev->relatedToUid();
228 if ( !rel.isEmpty() ){ 228 if ( !rel.isEmpty() ){
229 ev->setRelatedTo ( 0 ); 229 ev->setRelatedTo ( 0 );
230 ev->setRelatedToUid( rel ); 230 ev->setRelatedToUid( rel );
231 } 231 }
232 ev = TodoList.next(); 232 ev = TodoList.next();
233 } 233 }
234 //TodoList = cal->rawTodos(); 234 //TodoList = cal->rawTodos();
235 ev = TodoList.first(); 235 ev = TodoList.first();
236 while ( ev ) { 236 while ( ev ) {
237 ev->unRegisterObserver( cal ); 237 ev->unRegisterObserver( cal );
238 ev->registerObserver( this ); 238 ev->registerObserver( this );
239 mTodoList.append( ev ); 239 mTodoList.append( ev );
240 setupRelations( ev ); 240 setupRelations( ev );
241 ev = TodoList.next(); 241 ev = TodoList.next();
242 } 242 }
243 } 243 }
@@ -313,119 +313,119 @@ bool CalendarLocal::addAnniversaryNoDup( Event *event )
313 // now we have an event with fitting category 313 // now we have an event with fitting category
314 if ( eve->dtStart().date() != event->dtStart().date() ) 314 if ( eve->dtStart().date() != event->dtStart().date() )
315 continue; 315 continue;
316 // now we have an event with fitting category+date 316 // now we have an event with fitting category+date
317 if ( eve->summary() != event->summary() ) 317 if ( eve->summary() != event->summary() )
318 continue; 318 continue;
319 // now we have an event with fitting category+date+summary 319 // now we have an event with fitting category+date+summary
320 return false; 320 return false;
321 } 321 }
322 return addEvent( event ); 322 return addEvent( event );
323 323
324} 324}
325bool CalendarLocal::addEventNoDup( Event *event ) 325bool CalendarLocal::addEventNoDup( Event *event )
326{ 326{
327 Event * eve; 327 Event * eve;
328 for ( eve = mEventList.first(); eve ; eve = mEventList.next() ) { 328 for ( eve = mEventList.first(); eve ; eve = mEventList.next() ) {
329 if ( *eve == *event ) { 329 if ( *eve == *event ) {
330 //qDebug("CalendarLocal::Duplicate event found! Not inserted! "); 330 //qDebug("CalendarLocal::Duplicate event found! Not inserted! ");
331 return false; 331 return false;
332 } 332 }
333 } 333 }
334 return addEvent( event ); 334 return addEvent( event );
335} 335}
336 336
337bool CalendarLocal::addEvent( Event *event ) 337bool CalendarLocal::addEvent( Event *event )
338{ 338{
339 insertEvent( event ); 339 insertEvent( event );
340 340
341 event->registerObserver( this ); 341 event->registerObserver( this );
342 342
343 setModified( true ); 343 setModified( true );
344 if ( event->calID() == 0 ) 344 if ( event->calID() == 0 )
345 event->setCalID( mDefaultCalendar ); 345 event->setCalID_block( mDefaultCalendar );
346 event->setCalEnabled( true ); 346 event->setCalEnabled( true );
347 347
348 return true; 348 return true;
349} 349}
350 350
351void CalendarLocal::deleteEvent( Event *event ) 351void CalendarLocal::deleteEvent( Event *event )
352{ 352{
353 clearUndo(event); 353 clearUndo(event);
354 if ( mEventList.removeRef( event ) ) { 354 if ( mEventList.removeRef( event ) ) {
355 setModified( true ); 355 setModified( true );
356 } 356 }
357} 357}
358 358
359 359
360Event *CalendarLocal::event( const QString &uid ) 360Event *CalendarLocal::event( const QString &uid )
361{ 361{
362 Event *event; 362 Event *event;
363 Event *retVal = 0; 363 Event *retVal = 0;
364 for ( event = mEventList.first(); event; event = mEventList.next() ) { 364 for ( event = mEventList.first(); event; event = mEventList.next() ) {
365 if ( event->calEnabled() && event->uid() == uid ) { 365 if ( event->calEnabled() && event->uid() == uid ) {
366 if ( retVal ) { 366 if ( retVal ) {
367 if ( retVal->calID() > event->calID() ) { 367 if ( retVal->calID() > event->calID() ) {
368 retVal = event; 368 retVal = event;
369 } 369 }
370 } else { 370 } else {
371 retVal = event; 371 retVal = event;
372 } 372 }
373 } 373 }
374 } 374 }
375 return retVal; 375 return retVal;
376} 376}
377bool CalendarLocal::addTodoNoDup( Todo *todo ) 377bool CalendarLocal::addTodoNoDup( Todo *todo )
378{ 378{
379 Todo * eve; 379 Todo * eve;
380 for ( eve = mTodoList.first(); eve ; eve = mTodoList.next() ) { 380 for ( eve = mTodoList.first(); eve ; eve = mTodoList.next() ) {
381 if ( *eve == *todo ) { 381 if ( *eve == *todo ) {
382 //qDebug("duplicate todo found! not inserted! "); 382 //qDebug("duplicate todo found! not inserted! ");
383 return false; 383 return false;
384 } 384 }
385 } 385 }
386 return addTodo( todo ); 386 return addTodo( todo );
387} 387}
388bool CalendarLocal::addTodo( Todo *todo ) 388bool CalendarLocal::addTodo( Todo *todo )
389{ 389{
390 mTodoList.append( todo ); 390 mTodoList.append( todo );
391 391
392 todo->registerObserver( this ); 392 todo->registerObserver( this );
393 393
394 // Set up subtask relations 394 // Set up subtask relations
395 setupRelations( todo ); 395 setupRelations( todo );
396 396
397 setModified( true ); 397 setModified( true );
398 if ( todo->calID() == 0 ) 398 if ( todo->calID() == 0 )
399 todo->setCalID( mDefaultCalendar ); 399 todo->setCalID_block( mDefaultCalendar );
400 todo->setCalEnabled( true ); 400 todo->setCalEnabled( true );
401 return true; 401 return true;
402} 402}
403 403
404void CalendarLocal::deleteTodo( Todo *todo ) 404void CalendarLocal::deleteTodo( Todo *todo )
405{ 405{
406 // Handle orphaned children 406 // Handle orphaned children
407 removeRelations( todo ); 407 removeRelations( todo );
408 clearUndo(todo); 408 clearUndo(todo);
409 409
410 if ( mTodoList.removeRef( todo ) ) { 410 if ( mTodoList.removeRef( todo ) ) {
411 setModified( true ); 411 setModified( true );
412 } 412 }
413} 413}
414 414
415QPtrList<Todo> CalendarLocal::rawTodos() 415QPtrList<Todo> CalendarLocal::rawTodos()
416{ 416{
417 QPtrList<Todo> el; 417 QPtrList<Todo> el;
418 for ( Todo *it = mTodoList.first(); it; it = mTodoList.next() ) 418 for ( Todo *it = mTodoList.first(); it; it = mTodoList.next() )
419 if ( it->calEnabled() ) el.append( it ); 419 if ( it->calEnabled() ) el.append( it );
420 return el; 420 return el;
421} 421}
422Todo *CalendarLocal::todo( QString syncProf, QString id ) 422Todo *CalendarLocal::todo( QString syncProf, QString id )
423{ 423{
424 Todo *todo; 424 Todo *todo;
425 for ( todo = mTodoList.first(); todo; todo = mTodoList.next() ) { 425 for ( todo = mTodoList.first(); todo; todo = mTodoList.next() ) {
426 if ( todo->calEnabled() && todo->getID( syncProf ) == id ) return todo; 426 if ( todo->calEnabled() && todo->getID( syncProf ) == id ) return todo;
427 } 427 }
428 428
429 return 0; 429 return 0;
430} 430}
431void CalendarLocal::removeSyncInfo( QString syncProfile) 431void CalendarLocal::removeSyncInfo( QString syncProfile)
@@ -895,65 +895,65 @@ QPtrList<Event> CalendarLocal::rawEvents( const QDate &start, const QDate &end,
895 } else { 895 } else {
896 if ( ( e >= start && s <= end ) ) { 896 if ( ( e >= start && s <= end ) ) {
897 eventList.append( event ); 897 eventList.append( event );
898 } 898 }
899 } 899 }
900 } 900 }
901 } 901 }
902 902
903 return eventList; 903 return eventList;
904} 904}
905 905
906QPtrList<Event> CalendarLocal::rawEventsForDate( const QDateTime &qdt ) 906QPtrList<Event> CalendarLocal::rawEventsForDate( const QDateTime &qdt )
907{ 907{
908 return rawEventsForDate( qdt.date() ); 908 return rawEventsForDate( qdt.date() );
909} 909}
910 910
911QPtrList<Event> CalendarLocal::rawEvents() 911QPtrList<Event> CalendarLocal::rawEvents()
912{ 912{
913 QPtrList<Event> el; 913 QPtrList<Event> el;
914 for ( Event *it = mEventList.first(); it; it = mEventList.next() ) 914 for ( Event *it = mEventList.first(); it; it = mEventList.next() )
915 if ( it->calEnabled() ) el.append( it ); 915 if ( it->calEnabled() ) el.append( it );
916 return el; 916 return el;
917} 917}
918 918
919bool CalendarLocal::addJournal(Journal *journal) 919bool CalendarLocal::addJournal(Journal *journal)
920{ 920{
921 mJournalList.append(journal); 921 mJournalList.append(journal);
922 922
923 journal->registerObserver( this ); 923 journal->registerObserver( this );
924 924
925 setModified( true ); 925 setModified( true );
926 if ( journal->calID() == 0 ) 926 if ( journal->calID() == 0 )
927 journal->setCalID( mDefaultCalendar ); 927 journal->setCalID_block( mDefaultCalendar );
928 journal->setCalEnabled( true ); 928 journal->setCalEnabled( true );
929 return true; 929 return true;
930} 930}
931 931
932void CalendarLocal::deleteJournal( Journal *journal ) 932void CalendarLocal::deleteJournal( Journal *journal )
933{ 933{
934 clearUndo(journal); 934 clearUndo(journal);
935 if ( mJournalList.removeRef(journal) ) { 935 if ( mJournalList.removeRef(journal) ) {
936 setModified( true ); 936 setModified( true );
937 } 937 }
938} 938}
939 939
940QPtrList<Journal> CalendarLocal::journals4Date( const QDate & date ) 940QPtrList<Journal> CalendarLocal::journals4Date( const QDate & date )
941{ 941{
942 QPtrList<Journal> el; 942 QPtrList<Journal> el;
943 for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() ) 943 for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() )
944 if ( it->calEnabled() && it->dtStart().date() == date) el.append( it ); 944 if ( it->calEnabled() && it->dtStart().date() == date) el.append( it );
945 return el; 945 return el;
946} 946}
947Journal *CalendarLocal::journal( const QDate &date ) 947Journal *CalendarLocal::journal( const QDate &date )
948{ 948{
949// kdDebug(5800) << "CalendarLocal::journal() " << date.toString() << endl; 949// kdDebug(5800) << "CalendarLocal::journal() " << date.toString() << endl;
950 950
951 for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() ) 951 for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() )
952 if ( it->calEnabled() && it->dtStart().date() == date ) 952 if ( it->calEnabled() && it->dtStart().date() == date )
953 return it; 953 return it;
954 954
955 return 0; 955 return 0;
956} 956}
957 957
958Journal *CalendarLocal::journal( const QString &uid ) 958Journal *CalendarLocal::journal( const QString &uid )
959{ 959{
diff --git a/libkcal/incidencebase.cpp b/libkcal/incidencebase.cpp
index cfef973..56c0560 100644
--- a/libkcal/incidencebase.cpp
+++ b/libkcal/incidencebase.cpp
@@ -123,64 +123,71 @@ bool KCal::operator==( const IncidenceBase& i1, const IncidenceBase& i2 )
123 } else { 123 } else {
124 return false; 124 return false;
125 } 125 }
126 126
127 return ( i1.organizer() == i2.organizer() && 127 return ( i1.organizer() == i2.organizer() &&
128 // i1.uid() == i2.uid() && 128 // i1.uid() == i2.uid() &&
129 // Don't compare lastModified, otherwise the operator is not 129 // Don't compare lastModified, otherwise the operator is not
130 // of much use. We are not comparing for identity, after all. 130 // of much use. We are not comparing for identity, after all.
131 i1.doesFloat() == i2.doesFloat() && 131 i1.doesFloat() == i2.doesFloat() &&
132 i1.pilotId() == i2.pilotId() );// && i1.syncStatus() == i2.syncStatus() ); 132 i1.pilotId() == i2.pilotId() );// && i1.syncStatus() == i2.syncStatus() );
133 // no need to compare mObserver 133 // no need to compare mObserver
134} 134}
135 135
136 136
137QDateTime IncidenceBase::getEvenTime( QDateTime dt ) 137QDateTime IncidenceBase::getEvenTime( QDateTime dt )
138{ 138{
139 QTime t = dt.time(); 139 QTime t = dt.time();
140 dt.setTime( QTime (t.hour (), t.minute (), t.second () ) ); 140 dt.setTime( QTime (t.hour (), t.minute (), t.second () ) );
141 return dt; 141 return dt;
142} 142}
143 143
144bool IncidenceBase::isTagged() const 144bool IncidenceBase::isTagged() const
145{ 145{
146 return mIsTagged; 146 return mIsTagged;
147} 147}
148void IncidenceBase::setTagged( bool b) 148void IncidenceBase::setTagged( bool b)
149{ 149{
150 mIsTagged = b; 150 mIsTagged = b;
151} 151}
152void IncidenceBase::setCalID( int id ) 152void IncidenceBase::setCalID( int id )
153{ 153{
154 if ( mCalID > 0 ) { 154 if ( mCalID > 0 ) {
155 updated();
156 }
157 mCalID = id;
158}
159void IncidenceBase::setCalID_block( int id )
160{
161 if ( mCalID > 0 ) {
155 blockLastModified = true; 162 blockLastModified = true;
156 updated(); 163 updated();
157 blockLastModified = false; 164 blockLastModified = false;
158 } 165 }
159 mCalID = id; 166 mCalID = id;
160} 167}
161int IncidenceBase::calID() const 168int IncidenceBase::calID() const
162{ 169{
163 return mCalID; 170 return mCalID;
164} 171}
165void IncidenceBase::setCalEnabled( bool b ) 172void IncidenceBase::setCalEnabled( bool b )
166{ 173{
167 mCalEnabled = b; 174 mCalEnabled = b;
168} 175}
169bool IncidenceBase::calEnabled() const 176bool IncidenceBase::calEnabled() const
170{ 177{
171 return mCalEnabled; 178 return mCalEnabled;
172} 179}
173 180
174void IncidenceBase::setAlarmEnabled( bool b ) 181void IncidenceBase::setAlarmEnabled( bool b )
175{ 182{
176 mAlarmEnabled = b; 183 mAlarmEnabled = b;
177} 184}
178bool IncidenceBase::alarmEnabled() const 185bool IncidenceBase::alarmEnabled() const
179{ 186{
180 return mAlarmEnabled; 187 return mAlarmEnabled;
181} 188}
182 189
183 190
184void IncidenceBase::setUid(const QString &uid) 191void IncidenceBase::setUid(const QString &uid)
185{ 192{
186 mUid = uid; 193 mUid = uid;
diff --git a/libkcal/incidencebase.h b/libkcal/incidencebase.h
index 444d4c4..3edc03b 100644
--- a/libkcal/incidencebase.h
+++ b/libkcal/incidencebase.h
@@ -114,64 +114,65 @@ class IncidenceBase : public CustomProperties
114 int attendeeCount() const { return mAttendees.count(); }; 114 int attendeeCount() const { return mAttendees.count(); };
115 /** Return the Attendee with this email */ 115 /** Return the Attendee with this email */
116 Attendee* attendeeByMail(const QString &); 116 Attendee* attendeeByMail(const QString &);
117 /** Return first Attendee with one of this emails */ 117 /** Return first Attendee with one of this emails */
118 Attendee* attendeeByMails(const QStringList &, const QString& email = QString::null); 118 Attendee* attendeeByMails(const QStringList &, const QString& email = QString::null);
119 119
120 /** pilot syncronization states */ 120 /** pilot syncronization states */
121 enum { SYNCNONE = 0, SYNCMOD = 1, SYNCDEL = 3 }; 121 enum { SYNCNONE = 0, SYNCMOD = 1, SYNCDEL = 3 };
122 /** Set synchronisation satus. */ 122 /** Set synchronisation satus. */
123 void setSyncStatus(int stat); 123 void setSyncStatus(int stat);
124 /** Return synchronisation status. */ 124 /** Return synchronisation status. */
125 int syncStatus() const; 125 int syncStatus() const;
126 126
127 /** Set Pilot Id. */ 127 /** Set Pilot Id. */
128 void setPilotId(int id); 128 void setPilotId(int id);
129 /** Return Pilot Id. */ 129 /** Return Pilot Id. */
130 int pilotId() const; 130 int pilotId() const;
131 131
132 void setTempSyncStat(int id); 132 void setTempSyncStat(int id);
133 int tempSyncStat() const; 133 int tempSyncStat() const;
134 void setIDStr( const QString & ); 134 void setIDStr( const QString & );
135 QString IDStr() const; 135 QString IDStr() const;
136 void setID( const QString &, const QString & ); 136 void setID( const QString &, const QString & );
137 QString getID( const QString & ); 137 QString getID( const QString & );
138 void setCsum( const QString &, const QString & ); 138 void setCsum( const QString &, const QString & );
139 QString getCsum( const QString & ); 139 QString getCsum( const QString & );
140 void removeID(const QString &); 140 void removeID(const QString &);
141 141
142 void registerObserver( Observer * ); 142 void registerObserver( Observer * );
143 void unRegisterObserver( Observer * ); 143 void unRegisterObserver( Observer * );
144 void updated(); 144 void updated();
145 void setCalID( int id ); 145 void setCalID( int id );
146 void setCalID_block( int id );
146 int calID() const; 147 int calID() const;
147 void setCalEnabled( bool ); 148 void setCalEnabled( bool );
148 bool calEnabled() const; 149 bool calEnabled() const;
149 void setAlarmEnabled( bool ); 150 void setAlarmEnabled( bool );
150 bool alarmEnabled() const; 151 bool alarmEnabled() const;
151 bool isTagged() const; 152 bool isTagged() const;
152 void setTagged( bool ); 153 void setTagged( bool );
153 virtual void setLastModifiedSubInvalid(); 154 virtual void setLastModifiedSubInvalid();
154 protected: 155 protected:
155 bool blockLastModified; 156 bool blockLastModified;
156 bool mIsTagged; 157 bool mIsTagged;
157 QDateTime mDtStart; 158 QDateTime mDtStart;
158 bool mReadOnly; 159 bool mReadOnly;
159 QDateTime getEvenTime( QDateTime ); 160 QDateTime getEvenTime( QDateTime );
160 161
161 private: 162 private:
162 // base components 163 // base components
163 QString mOrganizer; 164 QString mOrganizer;
164 QString mLastModifiedKey; 165 QString mLastModifiedKey;
165 QString mUid; 166 QString mUid;
166 int mCalID; 167 int mCalID;
167 bool mCalEnabled; 168 bool mCalEnabled;
168 bool mAlarmEnabled; 169 bool mAlarmEnabled;
169 QDateTime mLastModified; 170 QDateTime mLastModified;
170 QPtrList<Attendee> mAttendees; 171 QPtrList<Attendee> mAttendees;
171 172
172 bool mFloats; 173 bool mFloats;
173 174
174 int mDuration; 175 int mDuration;
175 bool mHasDuration; 176 bool mHasDuration;
176 QString mExternalId; 177 QString mExternalId;
177 int mTempSyncStat; 178 int mTempSyncStat;
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index fa7804e..0109c02 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -1151,65 +1151,65 @@ void KSyncManager::syncPi()
1151 int startLocal = 0; 1151 int startLocal = 0;
1152 int startRemote = mSpecificResources.count()/2; 1152 int startRemote = mSpecificResources.count()/2;
1153 emit multiResourceSyncStart( true ); 1153 emit multiResourceSyncStart( true );
1154 while ( startLocal < mSpecificResources.count()/2 ) { 1154 while ( startLocal < mSpecificResources.count()/2 ) {
1155 if ( startLocal+1 >= lastSyncRes ) 1155 if ( startLocal+1 >= lastSyncRes )
1156 emit multiResourceSyncStart( false ); 1156 emit multiResourceSyncStart( false );
1157 mPisyncFinished = false; 1157 mPisyncFinished = false;
1158 mCurrentResourceLocal = mSpecificResources[ startLocal ]; 1158 mCurrentResourceLocal = mSpecificResources[ startLocal ];
1159 mCurrentResourceRemote = mSpecificResources[ startRemote ]; 1159 mCurrentResourceRemote = mSpecificResources[ startRemote ];
1160 //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); 1160 //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() );
1161 if ( !mCurrentResourceRemote.isEmpty() ) { 1161 if ( !mCurrentResourceRemote.isEmpty() ) {
1162 qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); 1162 qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() );
1163 1163
1164 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1164 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1165 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1165 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1166 commandSocket->readFile( syncFileName() ); 1166 commandSocket->readFile( syncFileName() );
1167 mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) ); 1167 mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) );
1168 while ( !mPisyncFinished ) { 1168 while ( !mPisyncFinished ) {
1169 //qDebug("waiting "); 1169 //qDebug("waiting ");
1170 qApp->processEvents(); 1170 qApp->processEvents();
1171 } 1171 }
1172 if ( startLocal+1 < mSpecificResources.count()/2 ) { 1172 if ( startLocal+1 < mSpecificResources.count()/2 ) {
1173 mParent->topLevelWidget()->setCaption( i18n("Waiting 2 secs before syncing next resource...") ); 1173 mParent->topLevelWidget()->setCaption( i18n("Waiting 2 secs before syncing next resource...") );
1174 QTime timer; 1174 QTime timer;
1175 timer.start(); 1175 timer.start();
1176 while ( timer.elapsed () < 2000 ) { 1176 while ( timer.elapsed () < 2000 ) {
1177 qApp->processEvents(); 1177 qApp->processEvents();
1178 } 1178 }
1179 } 1179 }
1180 } 1180 }
1181 ++startRemote; 1181 ++startRemote;
1182 ++startLocal; 1182 ++startLocal;
1183 1183 mAskForPreferences = false;
1184 } 1184 }
1185 mPisyncFinished = true; 1185 mPisyncFinished = true;
1186 } else { 1186 } else {
1187 KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1187 KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1188 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1188 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1189 commandSocket->readFile( syncFileName() ); 1189 commandSocket->readFile( syncFileName() );
1190 } 1190 }
1191} 1191}
1192 1192
1193void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) 1193void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1194{ 1194{
1195 //enum { success, errorW, errorR, quiet }; 1195 //enum { success, errorW, errorR, quiet };
1196 1196
1197 1197
1198 1198
1199 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || 1199 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW ||
1200 state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) { 1200 state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) {
1201 if ( state == KCommandSocket::errorPW ) 1201 if ( state == KCommandSocket::errorPW )
1202 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); 1202 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") );
1203 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) 1203 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO )
1204 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 1204 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
1205 else if ( state == KCommandSocket::errorCA ) 1205 else if ( state == KCommandSocket::errorCA )
1206 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); 1206 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") );
1207 else if ( state == KCommandSocket::errorFI ) 1207 else if ( state == KCommandSocket::errorFI )
1208 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); 1208 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") );
1209 else if ( state == KCommandSocket::errorED ) 1209 else if ( state == KCommandSocket::errorED )
1210 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") ); 1210 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") );
1211 else if ( state == KCommandSocket::errorUN ) 1211 else if ( state == KCommandSocket::errorUN )
1212 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") ); 1212 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") );
1213 delete s; 1213 delete s;
1214 if ( state == KCommandSocket::errorR ) { 1214 if ( state == KCommandSocket::errorR ) {
1215 KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget()); 1215 KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget());
diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp
index 744a914..1f9afcb 100644
--- a/libkdepim/ksyncprefsdialog.cpp
+++ b/libkdepim/ksyncprefsdialog.cpp
@@ -340,65 +340,65 @@ void KSyncPrefsDialog::setupSyncAlgTab()
340 connect ( button, SIGNAL( clicked()), this, SLOT (fillSSH() ) ); 340 connect ( button, SIGNAL( clicked()), this, SLOT (fillSSH() ) );
341 button = new QPushButton( i18n("ftp"), temphb ); 341 button = new QPushButton( i18n("ftp"), temphb );
342 connect ( button, SIGNAL( clicked()), this, SLOT (fillFTP() ) ); 342 connect ( button, SIGNAL( clicked()), this, SLOT (fillFTP() ) );
343 lab = new QLabel( i18n("Hint: Use $PWD$ for placeholder of password!"), remoteFileWidget); 343 lab = new QLabel( i18n("Hint: Use $PWD$ for placeholder of password!"), remoteFileWidget);
344 344
345 // *** pi-sync******************************* 345 // *** pi-sync*******************************
346 piWidget = new QVBox( topFrame); 346 piWidget = new QVBox( topFrame);
347 //topLayout->addMultiCellWidget(piWidget, iii,iii,0,1); 347 //topLayout->addMultiCellWidget(piWidget, iii,iii,0,1);
348 //++iii; 348 //++iii;
349 temphb = new QHBox( piWidget ); 349 temphb = new QHBox( piWidget );
350 new QLabel( i18n("Calendar:"), temphb); 350 new QLabel( i18n("Calendar:"), temphb);
351 new QLabel( i18n("AddressBook:"), temphb); 351 new QLabel( i18n("AddressBook:"), temphb);
352 new QLabel( i18n("PWManager:"), temphb); 352 new QLabel( i18n("PWManager:"), temphb);
353 353
354 lab = new QLabel( i18n("Password for remote access: (could be the same for each)"), piWidget); 354 lab = new QLabel( i18n("Password for remote access: (could be the same for each)"), piWidget);
355 temphb = new QHBox( piWidget ); 355 temphb = new QHBox( piWidget );
356 mRemotePw = new QLineEdit(temphb); 356 mRemotePw = new QLineEdit(temphb);
357 mRemotePwAB = new QLineEdit(temphb); 357 mRemotePwAB = new QLineEdit(temphb);
358 mRemotePwPWM = new QLineEdit(temphb); 358 mRemotePwPWM = new QLineEdit(temphb);
359 359
360 lab = new QLabel( i18n("Remote IP address: (could be the same for each)"), piWidget); 360 lab = new QLabel( i18n("Remote IP address: (could be the same for each)"), piWidget);
361 temphb = new QHBox( piWidget ); 361 temphb = new QHBox( piWidget );
362 mRemoteIP = new QLineEdit(temphb); 362 mRemoteIP = new QLineEdit(temphb);
363 mRemoteIPAB = new QLineEdit(temphb); 363 mRemoteIPAB = new QLineEdit(temphb);
364 mRemoteIPPWM = new QLineEdit(temphb); 364 mRemoteIPPWM = new QLineEdit(temphb);
365 365
366 lab = new QLabel( i18n("Remote port number: (should be different for each)"), piWidget); 366 lab = new QLabel( i18n("Remote port number: (should be different for each)"), piWidget);
367 temphb = new QHBox( piWidget ); 367 temphb = new QHBox( piWidget );
368 mRemotePort = new QLineEdit(temphb); 368 mRemotePort = new QLineEdit(temphb);
369 mRemotePortAB = new QLineEdit(temphb); 369 mRemotePortAB = new QLineEdit(temphb);
370 mRemotePortPWM = new QLineEdit(temphb); 370 mRemotePortPWM = new QLineEdit(temphb);
371 371
372 lab = new QLabel( i18n("Local/remote Resource sync partners"), piWidget); 372 lab = new QLabel( i18n("Local/remote Resource sync partners (Leave empty to not sync)"), piWidget);
373 mTableBox = new QHBox( piWidget ); 373 mTableBox = new QHBox( piWidget );
374 mResTableKopi = new QTable( 1, 1, mTableBox ); 374 mResTableKopi = new QTable( 1, 1, mTableBox );
375 mResTableKapi = new QTable( 1, 1, mTableBox ); 375 mResTableKapi = new QTable( 1, 1, mTableBox );
376 mResTablePwmpi = new QTable( 1, 1, mTableBox ); 376 mResTablePwmpi = new QTable( 1, 1, mTableBox );
377 mResTableKopi->horizontalHeader()->setLabel( 0, i18n("Remote") ); 377 mResTableKopi->horizontalHeader()->setLabel( 0, i18n("Remote") );
378 mResTableKapi->horizontalHeader()->setLabel( 0, i18n("Remote") ); 378 mResTableKapi->horizontalHeader()->setLabel( 0, i18n("Remote") );
379 mResTablePwmpi->horizontalHeader()->setLabel( 0, i18n("Remote") ); 379 mResTablePwmpi->horizontalHeader()->setLabel( 0, i18n("Remote") );
380 mResTableKopi->setLeftMargin( 80 ); 380 mResTableKopi->setLeftMargin( 80 );
381 } 381 }
382 // ****************************************** 382 // ******************************************
383 // Profile kind specific settings END 383 // Profile kind specific settings END
384 384
385} 385}
386 386
387void KSyncPrefsDialog::readResources() 387void KSyncPrefsDialog::readResources()
388{ 388{
389 mResourcesKopi.clear(); 389 mResourcesKopi.clear();
390 mResourcesKapi.clear(); 390 mResourcesKapi.clear();
391 KConfig fc(locateLocal("config","kopicalendarrc")); 391 KConfig fc(locateLocal("config","kopicalendarrc"));
392 fc.setGroup("CC"); 392 fc.setGroup("CC");
393 int numCals = fc.readNumEntry("NumberCalendars",0 ); 393 int numCals = fc.readNumEntry("NumberCalendars",0 );
394 int curCal = 1; 394 int curCal = 1;
395 while ( curCal <= numCals ) { 395 while ( curCal <= numCals ) {
396 QString prefix = "Cal_" +QString::number( curCal ); 396 QString prefix = "Cal_" +QString::number( curCal );
397 QString name = fc.readEntry( prefix+"_Name", "Calendar"); 397 QString name = fc.readEntry( prefix+"_Name", "Calendar");
398 mResourcesKopi.append( name ); 398 mResourcesKopi.append( name );
399 ++curCal; 399 ++curCal;
400 } 400 }
401 mResTableKopi->setNumRows( mResourcesKopi.count() ); 401 mResTableKopi->setNumRows( mResourcesKopi.count() );
402 int i; 402 int i;
403 for ( i = 0;i < mResourcesKopi.count(); ++i ) { 403 for ( i = 0;i < mResourcesKopi.count(); ++i ) {
404 mResTableKopi->verticalHeader ()->setLabel( i, mResourcesKopi[i] ); 404 mResTableKopi->verticalHeader ()->setLabel( i, mResourcesKopi[i] );