Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Now insert 'geo:' with value if no data type is given for GEO.
authorSteve Brokenshire <sbrokenshire@xestia.co.uk>
Sun, 10 Jan 2016 20:51:54 +0000 (20:51 +0000)
committerSteve Brokenshire <sbrokenshire@xestia.co.uk>
Sun, 10 Jan 2016 20:51:54 +0000 (20:51 +0000)
source/contacteditor/frmContactEditor-Save.cpp

index e05199d..9148b98 100644 (file)
@@ -1356,14 +1356,26 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
     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,
@@ -1379,14 +1391,26 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
     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,
@@ -1402,14 +1426,26 @@ void frmContactEditor::SaveContact( wxCommandEvent& event )
     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,
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