Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added code for saving data in the ContactDataObject [FN]
[xestiaab/.git] / source / contacteditor / cdo / ContactDataObject-Save.cpp
index 3b13b4d..4046edf 100644 (file)
@@ -23,7 +23,108 @@ ContactSaveStatus ContactDataObject::SaveString(wxString *SaveData){
        
        ContactSaveStatus SaveDataStatus = CONTACTSAVE_UNITTESTFAIL;
        
+       // Write the header for the vCard data file.
        
+       SaveData->Append("BEGIN:VCARD\n");
+       SaveData->Append("VERSION:4.0\n");
+       
+       // Write the product ID.
+       
+#ifdef XAB_UNITTEST
+       
+       SaveData->Append("PRODID:-//Xestia//Address Book Unit Testing//KW\n");
+       
+#else
+       
+       SaveData->Append(wxT("-//Xestia//Address Book Version "));
+       SaveData->Append(wxT(XSDAB_VERSION));
+       SaveData->Append(wxT("//KW\n"));
+       
+#endif
+       
+       // Process FN.
+       
+       for (std::map<int, wxString>::iterator FNIter = FullNamesList.begin();
+               FNIter != FullNamesList.end(); FNIter++){
+               
+               SaveData->Append("FN");
+
+               // Check if there is a value for TYPE.
+               
+               if (FullNamesListType[FNIter->first].size() > 0){
+               
+                       SaveData->Append(";TYPE=");
+                       SaveData->Append(FullNamesListType[FNIter->first]);
+                       
+               }
+
+               // Check if there is a value for LANGUAGE.
+               
+               if (FullNamesListLanguage[FNIter->first].size() > 0){
+               
+                       SaveData->Append(";LANGUAGE=");
+                       SaveData->Append(FullNamesListLanguage[FNIter->first]);
+                       
+               }
+               
+               // Check if there is a value for ALTID.
+               
+               if (FullNamesListAltID[FNIter->first].size() > 0){
+               
+                       SaveData->Append(";ALTID=");
+                       SaveData->Append(FullNamesListAltID[FNIter->first]);
+                       
+               }
+               
+               // Check if there is a value for PID.
+
+               if (FullNamesListPID[FNIter->first].size() > 0){
+               
+                       SaveData->Append(";PID=");
+                       SaveData->Append(FullNamesListPID[FNIter->first]);
+                       
+               }
+
+               // Check if there is a value for PREF.
+
+               if (FullNamesListPref[FNIter->first] > 0){
+               
+                       SaveData->Append(";PREF=");
+                       SaveData->Append(wxString::Format("%i", FullNamesListPref[FNIter->first]));
+                       
+               }
+
+               // Check if there is a value for tokens.
+
+               if (FullNamesListTokens[FNIter->first].size() > 0){
+               
+                       SaveData->Append(";");
+                       SaveData->Append(FullNamesListTokens[FNIter->first]);
+                       
+               }
+               
+               SaveData->Append(":");
+               SaveData->Append(FNIter->second);
+               SaveData->Append("\n");
+                       
+       }
+       
+       // Process TITLE.
+
+       for (std::map<int, wxString>::iterator TitleIter = GeneralTitleList.begin();
+               TitleIter != GeneralTitleList.end(); TitleIter++){
+               
+               SaveData->Append("TITLE:");
+               SaveData->Append(TitleIter->second);
+               SaveData->Append("\n");
+                       
+       }
+       
+       // Write the end part of the vCard data file.
+       
+       SaveData->Append("END:VCARD");
+       
+       SaveDataStatus = CONTACTSAVE_OK;
        
        return SaveDataStatus;
        
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy