for (std::map<int,wxString>::iterator iter = ContactEditorData.GeneralGeographyList.begin();
iter != ContactEditorData.GeneralGeographyList.end(); ++iter){
- wxString strAddressFinalValue = iter->second;
+ wxString strGeoFinalValue = iter->second;
- ProcessCaptureStrings(&strAddressFinalValue);
+ ProcessCaptureStrings(&strGeoFinalValue);
- strAddressFinalValue.insert(0, wxT("geo:"));
+ if (ContactEditorData.GeneralGeographyListDataType.find(iter->first) !=
+ ContactEditorData.GeneralGeographyListDataType.end()){
+
+ std::map<int,wxString>::iterator DataTypeIter = ContactEditorData.GeneralGeographyListDataType.find(iter->first);
+
+ strGeoFinalValue.insert(0, ":");
+ strGeoFinalValue.insert(0, DataTypeIter->second);
+
+ } else {
+
+ strGeoFinalValue.insert(0, "geo:");
+
+ }
ProcessSaveData(wxT("GEO"), &strValue2, &boolValue2, &boolValue,
- &iter, &strAddressFinalValue, &ContactData,
+ &iter, &strGeoFinalValue, &ContactData,
wxT("ALTID"), &ContactEditorData.GeneralGeographyListAltID,
wxT("PID"), &ContactEditorData.GeneralGeographyListPID,
wxT("MEDIATYPE"), &ContactEditorData.GeneralGeographyListMediatype,
for (std::map<int,wxString>::iterator iter = ContactEditorData.HomeGeographyList.begin();
iter != ContactEditorData.HomeGeographyList.end(); ++iter){
- wxString strAddressFinalValue = iter->second;
+ wxString strGeoFinalValue = iter->second;
- ProcessCaptureStrings(&strAddressFinalValue);
+ ProcessCaptureStrings(&strGeoFinalValue);
- strAddressFinalValue.insert(0, wxT("geo:"));
+ if (ContactEditorData.HomeGeographyListDataType.find(iter->first) !=
+ ContactEditorData.HomeGeographyListDataType.end()){
+
+ std::map<int,wxString>::iterator DataTypeIter = ContactEditorData.HomeGeographyListDataType.find(iter->first);
+
+ strGeoFinalValue.insert(0, ":");
+ strGeoFinalValue.insert(0, DataTypeIter->second);
+
+ } else {
+
+ strGeoFinalValue.insert(0, "geo:");
+
+ }
ProcessSaveData(wxT("GEO;TYPE=home"), &strValue2, &boolValue2, &boolValue,
- &iter, &ContactEditorData.HomeGeographyList, &ContactData,
+ &iter, &strGeoFinalValue, &ContactData,
wxT("ALTID"), &ContactEditorData.HomeGeographyListAltID,
wxT("PID"), &ContactEditorData.HomeGeographyListPID,
wxT("MEDIATYPE"), &ContactEditorData.HomeGeographyListMediatype,
for (std::map<int,wxString>::iterator iter = ContactEditorData.BusinessGeographyList.begin();
iter != ContactEditorData.BusinessGeographyList.end(); ++iter){
- wxString strAddressFinalValue = iter->second;
+ wxString strGeoFinalValue = iter->second;
- ProcessCaptureStrings(&strAddressFinalValue);
+ ProcessCaptureStrings(&strGeoFinalValue);
- strAddressFinalValue.insert(0, wxT("geo:"));
+ if (ContactEditorData.BusinessGeographyListDataType.find(iter->first) !=
+ ContactEditorData.BusinessGeographyListDataType.end()){
+
+ std::map<int,wxString>::iterator DataTypeIter = ContactEditorData.BusinessGeographyListDataType.find(iter->first);
+
+ strGeoFinalValue.insert(0, ":");
+ strGeoFinalValue.insert(0, DataTypeIter->second);
+
+ } else {
+
+ strGeoFinalValue.insert(0, "geo:");
+
+ }
ProcessSaveData(wxT("GEO;TYPE=work"), &strValue2, &boolValue2, &boolValue,
- &iter, &ContactEditorData.BusinessGeographyList, &ContactData,
+ &iter, &strGeoFinalValue, &ContactData,
wxT("ALTID"), &ContactEditorData.BusinessGeographyListAltID,
wxT("PID"), &ContactEditorData.BusinessGeographyListPID,
wxT("MEDIATYPE"), &ContactEditorData.BusinessGeographyListMediatype,