author | zautrix <zautrix> | 2005-03-16 23:10:29 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-03-16 23:10:29 (UTC) |
commit | d2be5ea1cd22f5222aecb0f70a2fe8657fae9698 (patch) (side-by-side diff) | |
tree | 5de4c2b05428d837e2451df06b3ea313bd02c1b8 | |
parent | b7184073d5e552e0f04b14c5fc0c20a7bfd26d3d (diff) | |
download | kdepimpi-d2be5ea1cd22f5222aecb0f70a2fe8657fae9698.zip kdepimpi-d2be5ea1cd22f5222aecb0f70a2fe8657fae9698.tar.gz kdepimpi-d2be5ea1cd22f5222aecb0f70a2fe8657fae9698.tar.bz2 |
fixes
-rw-r--r-- | bin/kdepim/WhatsNew.txt | 3 | ||||
-rw-r--r-- | libkcal/vcalformat.cpp | 50 |
2 files changed, 10 insertions, 43 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 55b120f..81efb6c 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt @@ -1,16 +1,19 @@ Info about the changes in new versions of KDE-Pim/Pi ********** VERSION 2.0.17 ************ KO/Pi: Tooltips in month view were not sorted. Fixed. Daylabel in agenda view ( for display of one day ) was too short. Fixed. Conflict display dialog for syncing was not on top of other windows. Fixed. +Fixed some minor problems. + +Fixed an endless loop when importing vcs file with RESOURCES entry. ********** VERSION 2.0.16 ************ OM/Pi: Fixed the SMTP account setting the option. Fixed something in mail sending. KO/Pi: Added possibility to export selected events/todos as vcal file. diff --git a/libkcal/vcalformat.cpp b/libkcal/vcalformat.cpp index 223aa5a..62a31ae 100644 --- a/libkcal/vcalformat.cpp +++ b/libkcal/vcalformat.cpp @@ -226,17 +226,17 @@ QString VCalFormat::toString( Calendar *calendar ) return result; } VObject *VCalFormat::eventToVTodo(const Todo *anEvent) { VObject *vtodo; QString tmpStr; - QStringList tmpStrList; + vtodo = newVObject(VCTodoProp); // due date if (anEvent->hasDueDate()) { tmpStr = qDateTimeToISO(anEvent->dtDue(), !anEvent->doesFloat()); addPropValue(vtodo, VCDueProp, tmpStr.local8Bit()); @@ -327,17 +327,17 @@ VObject *VCalFormat::eventToVTodo(const Todo *anEvent) // related event if (anEvent->relatedTo()) { addPropValue(vtodo, VCRelatedToProp, anEvent->relatedTo()->uid().local8Bit()); } // categories - tmpStrList = anEvent->categories(); + QStringList tmpStrList = anEvent->categories(); tmpStr = ""; QString catStr; for ( QStringList::Iterator it = tmpStrList.begin(); it != tmpStrList.end(); ++it ) { catStr = *it; if (catStr[0] == ' ') tmpStr += catStr.mid(1); @@ -391,18 +391,17 @@ VObject *VCalFormat::eventToVTodo(const Todo *anEvent) return vtodo; } VObject* VCalFormat::eventToVEvent(const Event *anEvent) { VObject *vevent; QString tmpStr; - QStringList tmpStrList; - + vevent = newVObject(VCEventProp); // start and end time tmpStr = qDateTimeToISO(anEvent->dtStart(), !anEvent->doesFloat()); addPropValue(vevent, VCDTstartProp, tmpStr.local8Bit()); // events that have time associated but take up no time should @@ -598,17 +597,17 @@ VObject* VCalFormat::eventToVEvent(const Event *anEvent) text = "CONFIDENTIAL"; break; } if (text) { addPropValue(vevent, VCClassProp, text); } // categories - tmpStrList = anEvent->categories(); + QStringList tmpStrList = anEvent->categories(); tmpStr = ""; QString catStr; for ( QStringList::Iterator it = tmpStrList.begin(); it != tmpStrList.end(); ++it ) { catStr = *it; if (catStr[0] == ' ') tmpStr += catStr.mid(1); @@ -864,34 +863,21 @@ Todo *VCalFormat::VTodoToEvent(VObject *vtodo) // related todo if ((vo = isAPropertyOf(vtodo, VCRelatedToProp)) != 0) { anEvent->setRelatedToUid(s = fakeCString(vObjectUStringZValue(vo))); deleteStr(s); mTodosRelate.append(anEvent); } // categories - QStringList tmpStrList; - int index1 = 0; - int index2 = 0; if ((vo = isAPropertyOf(vtodo, VCCategoriesProp)) != 0) { s = fakeCString(vObjectUStringZValue(vo)); QString categories = QString::fromLocal8Bit(s); deleteStr(s); - //const char* category; - QString category; - while ((index2 = categories.find(',', index1)) != -1) { - //category = (const char *) categories.mid(index1, (index2 - index1)); - category = categories.mid(index1, (index2 - index1)); - tmpStrList.append(category); - index1 = index2+1; - } - // get last category - category = categories.mid(index1, (categories.length()-index1)); - tmpStrList.append(category); + QStringList tmpStrList = QStringList::split( ';', categories ); anEvent->setCategories(tmpStrList); } /* PILOT SYNC STUFF */ if ((vo = isAPropertyOf(vtodo, XPilotIdProp))) { anEvent->setPilotId(atoi(s = fakeCString(vObjectUStringZValue(vo)))); deleteStr(s); } @@ -1323,64 +1309,42 @@ Event* VCalFormat::VEventToEvent(VObject *vevent) secrecy = Incidence::SecrecyConfidential; } deleteStr(s); } anEvent->setSecrecy(secrecy); // categories QStringList tmpStrList; - int index1 = 0; - int index2 = 0; if ((vo = isAPropertyOf(vevent, VCCategoriesProp)) != 0) { s = fakeCString(vObjectUStringZValue(vo)); QString categories = QString::fromLocal8Bit(s); deleteStr(s); - //const char* category; - QString category; - while ((index2 = categories.find(',', index1)) != -1) { - //category = (const char *) categories.mid(index1, (index2 - index1)); - category = categories.mid(index1, (index2 - index1)); - tmpStrList.append(category); - index1 = index2+1; - } - // get last category - category = categories.mid(index1, (categories.length()-index1)); - tmpStrList.append(category); + tmpStrList = QStringList::split( ';', categories ); anEvent->setCategories(tmpStrList); } // attachments - tmpStrList.clear(); initPropIterator(&voi, vevent); while (moreIteration(&voi)) { vo = nextVObject(&voi); if (strcmp(vObjectName(vo), VCAttachProp) == 0) { s = fakeCString(vObjectUStringZValue(vo)); anEvent->addAttachment(new Attachment(QString(s))); deleteStr(s); } } // resources if ((vo = isAPropertyOf(vevent, VCResourcesProp)) != 0) { QString resources = (s = fakeCString(vObjectUStringZValue(vo))); deleteStr(s); - tmpStrList.clear(); - index1 = 0; - index2 = 0; - QString resource; - while ((index2 = resources.find(';', index1)) != -1) { - resource = resources.mid(index1, (index2 - index1)); - tmpStrList.append(resource); - index1 = index2; - } + tmpStrList = QStringList::split( ';', resources ); anEvent->setResources(tmpStrList); } - /* alarm stuff */ if ((vo = isAPropertyOf(vevent, VCDAlarmProp))) { Alarm* alarm = anEvent->newAlarm(); VObject *a; if ((a = isAPropertyOf(vo, VCRunTimeProp))) { alarm->setTime(ISOToQDateTime(s = fakeCString(vObjectUStringZValue(a)))); deleteStr(s); } |