X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2Fcdo%2FContactDataObject-Save.cpp;h=2334177bd8a5433a785e31c3225f97c2c8656e13;hb=155d784a80b1be2eb3d48b5b7cb67e250736ff68;hp=8107ed5bc574e2db1d58e85fb151b995e2cbaacb;hpb=30062fcf4f90524f1e5089199220eeb6cbafe82f;p=xestiaab%2F.git diff --git a/source/contacteditor/cdo/ContactDataObject-Save.cpp b/source/contacteditor/cdo/ContactDataObject-Save.cpp index 8107ed5..2334177 100644 --- a/source/contacteditor/cdo/ContactDataObject-Save.cpp +++ b/source/contacteditor/cdo/ContactDataObject-Save.cpp @@ -560,6 +560,13 @@ ContactSaveStatus ContactDataObject::SaveString(wxString *SaveData){ &BusinessNoteListType, &BusinessNoteListPref, &BusinessNoteListTokens, SaveData, "work"); + // Process CATEGORIES. + + SaveCategory(&CategoriesList, &CategoriesListLanguage, + &CategoriesListAltID, &CategoriesListPID, + &CategoriesListType, &CategoriesListPref, + &CategoriesListTokens, SaveData); + // Write the end part of the vCard data file. SaveData->Append("END:VCARD"); @@ -1569,4 +1576,83 @@ void ContactDataObject::SaveNote(map *NoteList, map *CategoryList, map *CategoryListLanguage, + map *CategoryListAltID, map *CategoryListPID, + map *CategoryListType, map *CategoryListPref, + map *CategoryListTokens, wxString *SaveData){ + + wxString ProcessData = ""; + + for (std::map::iterator CategoryIter = CategoryList->begin(); + CategoryIter != CategoryList->end(); CategoryIter++){ + + ProcessData.Append("CATEGORIES"); + + // Check if there is a value for TYPE. + + if ((*CategoryListType)[CategoryIter->first].size() > 0){ + + ProcessData.Append(";TYPE="); + ProcessData.Append((*CategoryListType)[CategoryIter->first]); + + } + + // Check if there is a value for ALTID. + + if ((*CategoryListAltID)[CategoryIter->first].size() > 0){ + + ProcessData.Append(";ALTID="); + ProcessData.Append((*CategoryListAltID)[CategoryIter->first]); + + } + + // Check if there is a value for LANGUAGE. + + if ((*CategoryListLanguage)[CategoryIter->first].size() > 0){ + + ProcessData.Append(";LANGUAGE="); + ProcessData.Append((*CategoryListLanguage)[CategoryIter->first]); + + } + + // Check if there is a value for PID. + + if ((*CategoryListPID)[CategoryIter->first].size() > 0){ + + ProcessData.Append(";PID="); + ProcessData.Append((*CategoryListPID)[CategoryIter->first]); + + } + + // Check if there is a value for PREF. + + if ((*CategoryListPref)[CategoryIter->first] > 0){ + + ProcessData.Append(";PREF="); + ProcessData.Append(wxString::Format("%i", (*CategoryListPref)[CategoryIter->first])); + + } + + // Check if there is a value for tokens. + + if ((*CategoryListTokens)[CategoryIter->first].size() > 0){ + + ProcessData.Append(";"); + ProcessData.Append((*CategoryListTokens)[CategoryIter->first]); + + } + + ProcessData.Append(":"); + ProcessData.Append(CategoryIter->second); + ProcessData.Append("\n"); + + ProcessData = OutputText(&ProcessData); + + SaveData->Append(ProcessData); + ProcessData.clear(); + + } + } \ No newline at end of file