X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2Fcdo%2FContactDataObject-Save.cpp;h=bf755f10d759f08ce55e38cc91ee9c66bada4cc7;hb=c6e1c40cb86bed7b264cba6b2e6a70cc1f584dfa;hp=642ea5cab739e9e2088290786f9e752305d292c8;hpb=eb3920b819b84e8a61cd21f302026379b4480a2b;p=xestiaab%2F.git diff --git a/source/contacteditor/cdo/ContactDataObject-Save.cpp b/source/contacteditor/cdo/ContactDataObject-Save.cpp index 642ea5c..bf755f1 100644 --- a/source/contacteditor/cdo/ContactDataObject-Save.cpp +++ b/source/contacteditor/cdo/ContactDataObject-Save.cpp @@ -598,6 +598,13 @@ ContactSaveStatus ContactDataObject::SaveString(wxString *SaveData){ &CalendarListAltID, &CalendarListPID, &CalendarListType, &CalendarListPref, &CalendarListTokens, SaveData); + + // Process CALADRURI. + + SaveCalendarRequestURI(&CalendarRequestList, &CalendarRequestListMediatype, + &CalendarRequestListAltID, &CalendarRequestListPID, + &CalendarRequestListType, &CalendarRequestListPref, + &CalendarRequestListTokens, SaveData); // Write the end part of the vCard data file. @@ -2028,4 +2035,83 @@ void ContactDataObject::SaveCalendarURI(map *CalendarList, map *CalendarRequestList, map *CalendarRequestListMediatype, + map *CalendarRequestListAltID, map *CalendarRequestListPID, + map *CalendarRequestListType, map *CalendarRequestListPref, + map *CalendarRequestListTokens, wxString *SaveData){ + + wxString ProcessData = ""; + + for (std::map::iterator CalendarRequestIter = CalendarRequestList->begin(); + CalendarRequestIter != CalendarRequestList->end(); CalendarRequestIter++){ + + ProcessData.Append("CALADRURI"); + + // Check if there is a value for TYPE. + + if ((*CalendarRequestListType)[CalendarRequestIter->first].size() > 0){ + + ProcessData.Append(";TYPE="); + ProcessData.Append((*CalendarRequestListType)[CalendarRequestIter->first]); + + } + + // Check if there is a value for ALTID. + + if ((*CalendarRequestListAltID)[CalendarRequestIter->first].size() > 0){ + + ProcessData.Append(";ALTID="); + ProcessData.Append((*CalendarRequestListAltID)[CalendarRequestIter->first]); + + } + + // Check if there is a value for MEDIATYPE. + + if ((*CalendarRequestListMediatype)[CalendarRequestIter->first].size() > 0){ + + ProcessData.Append(";MEDIATYPE="); + ProcessData.Append((*CalendarRequestListMediatype)[CalendarRequestIter->first]); + + } + + // Check if there is a value for PID. + + if ((*CalendarRequestListPID)[CalendarRequestIter->first].size() > 0){ + + ProcessData.Append(";PID="); + ProcessData.Append((*CalendarRequestListPID)[CalendarRequestIter->first]); + + } + + // Check if there is a value for PREF. + + if ((*CalendarRequestListPref)[CalendarRequestIter->first] > 0){ + + ProcessData.Append(";PREF="); + ProcessData.Append(wxString::Format("%i", (*CalendarRequestListPref)[CalendarRequestIter->first])); + + } + + // Check if there is a value for tokens. + + if ((*CalendarRequestListTokens)[CalendarRequestIter->first].size() > 0){ + + ProcessData.Append(";"); + ProcessData.Append((*CalendarRequestListTokens)[CalendarRequestIter->first]); + + } + + ProcessData.Append(":"); + ProcessData.Append(CalendarRequestIter->second); + ProcessData.Append("\n"); + + ProcessData = OutputText(&ProcessData); + + SaveData->Append(ProcessData); + ProcessData.clear(); + + } + } \ No newline at end of file